www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Xilinx ISE: Taktfrequenzangabe nach der Synthese


Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

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?

Gruß
Andreas

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jan M. (mueschel)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dank!

Noch eine verwandte Frage: der langsamste Pfad besteht zu > 60% aus 
Routingverzögerung. Das erscheint mir ungewöhnlich viel. Gibt es für 
solche Fälle irgend ein "Patentrezept" um die Geschwindigkeit zu 
verbessern?

Autor: Jan M. (mueschel)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: FPGA Spezialist (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.