Geschwindigkeit Zynq7010

OP #4334640
Lesenswert?

Ich realisiere digitale Filter mit dem Red Pitaya. Dabei werden 
verschiedene Einheiten des Zynq7010 gebraucht: LUT,CARRY4,DSP48,...
Gibt es irgendwo Infos darüber, wie schnell die einzelnen funktionellen 
Einheiten des FPGAs sind? Ich möchte damit im vorhinein abschätzen, ob 
ein Design realisierbar ist.
#4334753
Lesenswert?

Ich denke nicht dass du dazu Informationen finden wirst. Am Ende des 
Routings wird dir Vivado dann sagen ob das Timing passt oder nicht.

Ich habe mir das ganze schon mal sehr genau zu Gemüte führen müssen. 
Meiner Erfahrung nach benötigt die Signalpropagation durch ein CARRY4 
im Mittel 50 ps (Kintex-7 Speedgrade -2).


Gruß
OP #4335480
Lesenswert?

@Sigi: In Tabelle 62 finde ich keine Angaben über
die Signale CIN und COUT. Bin ich zu doof?

@S.N. Ist 50ps der delay von CIN nach COUT (über 4 Stufen hinweg)
oder der delay eines Summensignals durch den Block hindurch?

Wie würdet Ihr versuchen experimentell den Delay eines CARRY4
Blocks zu ermitteln?
#4335565
Lesenswert?

50 ps ist die Zeit von CO(3) bis CO(3) des nächsten CARRY4 in der Kette. 
Ich habe das damals im Rahmen einer TDC Implementierung gemacht.

Experimentell kannst du es herausfinden indem du eine lange Carrychain 
implementierst, mit einem bekannten Takt abtastest und dir anschaust wie 
weit eine Signalflanke in einer Taktperiode durch die Kette propagiert 
ist.
#4335646
Lesenswert?

Du kannst davon ausgehen, dass das mehr Zeit benötigt. Ein Addierer 
besteht ja aus mehr Logik als einer Carrychain (und schon drei mal bei 
400 Bit). Zudem wird der PAR Algorithmus sicherlich nicht so effizient 
sein wie ein manuell geplacetes Design.

Wenn es nur das ist, empfehle ich dir es einfach mal mit sehr engem 
Timing auszuprobieren und zu schauen was die Timinganalyse dir sagt.
Gast #4335809
Lesenswert?

Es macht bei einem FPGA im Allgemeinen wenig Sinn, mit den Delays 
einzelner Funtionseinheiten zu rechnen, weil ein erheblicher Teil der 
Zeit auf die Routing-Ressourcen fällt. Es ist besser, wenn Du 
entsprechend strenge Timing-Constraints vorgibst und es Vivado 
überlässt, das Timing zu erreichen. Wenn das nicht hinhaut, gibt es 
viele Schrauben, an denen Du drehen kannst (Pipelineregister, 
Effort-Levels, Parallelisierung, Placement-Constraints etc, siehe 
Constraints Guide). Die Critical-Path-Analyse ist nicht Deine Aufgabe, 
sondern die der Tools.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren