Xilinx ISE: Taktfrequenzangabe nach der Synthese

#620153
Lesenswert?

@  Andreas Schwarz (andreas)

>ist die Taktfrequenzangabe nach der Synthese eine obere Grenze, also
>kann ich mir das Implement Design schon sparen wenn die Frequenzangabe
>nach der Synthese zu klein ist?

Jain. Diese Angabe ist eine, wie ich meine, äusserst grobe Abschätzung, 
die meistens zu HOCH ist.

MfG
Falk
#620182
Lesenswert?

Es bestehen gute Chancen bei den meisten Designs, sie durch geschicktes 
Placement einige Prozent schneller zu bekommen. Insofern hilft meist nur 
ausprobieren.

Dass die Angabe nach der Synthese hoeher ist, als der endgueltige Wert 
liegt haeufig aber auch an den gesetzten Constraints: Bei der 
Implementierung wird nur darauf geachtet, die Constraints einzuhalten, 
auch wenn eine deutlich schnellere Implementierung moeglich waere.
#620215
Lesenswert?

Die Verzoegerung durch eine lookuptable ist gewoehnlich kleiner als das 
net delay auf dem Weg zu einem anderen Slice, das womoeglich noch nicht 
einmal benachbart ist. Zum Beispiel bei einer Operation, die viele 
Signale aus verschiedenen Teilen der Logik verbindet, ist das also ganz 
normal.

Manchmal hilft es beispielsweise, die Logik etwas umzustrukturieren, so 
dass die Synthese weniger luts verwendet und dafuer set- und 
clear-Eingaenge an Flipflops benutzt. "Patentrezept" wuerde ich das aber 
nicht nennen.
#620224
Lesenswert?

@  Andreas Schwarz (andreas)

>Noch eine verwandte Frage: der langsamste Pfad besteht zu > 60% aus
>Routingverzögerung. Das erscheint mir ungewöhnlich viel. Gibt es für

Ist nicht ungewöhnlich.

>solche Fälle irgend ein "Patentrezept" um die Geschwindigkeit zu
>verbessern?

Pipelining.

MFG
Falk
Gast #620468
Lesenswert?

Das pipelining ist ein Designkonzept. Du meinst sicher flipflops 
dazwischen, um das Routing zu überbrücken. Das führt dann zu pipelined 
Strukturen. (Man beachte Ursache und Wirkung)

Die Idee ist nicht schlecht, haut nur im FPGA nicht hin, weil mit 
speziellen Interconnections gearbeitet wird, und nicht mit "langen 
Leitungen", wie im ASIC. Dort geht die Laufzeit mit der Länge im Quadrat 
und kann durch FFs merklich reduziert werden. Wenn er - wie oben 
angedeutet - 60% fürs Routing braucht, dann hat das seinen Grund: (von 
mir aus spezieller Pins an BRAM oder an die Multiplier. Den Weg kann man 
kaum verkürzen.)

pipelining bringt im FPGA nur Schaltgeschwindigkeit (man unterscheide 
zum Datendruchsatz), wenn man einen extrem langen kombinatorischen Pfad 
hat.

Ein FF mehr dort im Zweig kann etwa die Hälfte von den 40% bringen, 
wobei einem wieder einige ns aufgebrummt werden. MAcht also maximal 15% 
verbesserung. Könnte natürlich sein, daß die reichen.

Was man vorab probieren sollte: "Timing Driven Placement"

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