www.mikrocontroller.net

Forum: FPGA, VHDL & Co. FPGA / VHDL Timing Frage


Autor: Andreas Kratzsch (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe eine Frage zu den XST Timing Angaben
vom Xilinx Webpack 7.1 P4.

In meinem System habe ich Teile die etwas langsamer sind und
andere Teile die fast nichts tun und damit auch sehr schnell sind.

Natürlich möchte ich deswegen nicht das gesamte System mit dem
langsamen Takt betreiben.
Ich habe mir gedacht ich kann die Ausgänge der schnellen Teile
bereits nach wenigen Takten abfragen und die Ausgänge der
langsamen Teile bekommen einfach ein paar Takte mehr Zeit.

Wenn ich mir allerdings den Timing Report vom dem Beispiel Code
ansehe steht als maximaler Takt aber nur 24MHz drin.
Das entspricht dem Timing von der langsamen Multiplikation.
So wie es aussieht ignoriert der XST völlig daß ich den
Ausgang von langsamen Prozess erst nach 14 Takten abfrage.

Nach meinem Verständnis müsste doch die Zeit von 40ns
als "Maximum combinational path delay" erscheinen und
nicht als "Minimum period" ?

Was mache ich falsch ?

Kann ich jetzt einfach die 40ns durch 14 teilen und
davon ausgehen daß das System mit 2,8ns funktioniert ?

Der Beispiel Code ist natürlich nicht sehr sinvoll und soll
nur das Problem verdeutlichen.
Ich weiß daß man die langsame Berechnung im Beispiel Code
auch in kleine Schritte aufteilen kann, aber darum geht es nicht.

Danke für alle Hinweise.

Andreas

Autor: Xenu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>So wie es aussieht ignoriert der XST völlig daß ich den
>Ausgang von langsamen Prozess erst nach 14 Takten abfrage

So schlau ist der Synthesizer halt nicht, daß er das ausrechnet.

Die kombinatorische Logik mit der größten Durchlaufzeit zwischen zwei
Flip-Flops wird für die Taktberechnung herangezogen.

Du kannst allerdings Netze von der Timing-Berechnung ausschließen.
Bei Dir z.B. "output_slow_sig", indem Du Folgendes in Deine UCF-Datei
schreibst:

NET "output_slow_sig<0>" TIG;
NET "output_slow_sig<1>" TIG;
NET "output_slow_sig<2>" TIG;
NET "output_slow_sig<3>" TIG;
NET "output_slow_sig<4>" TIG;
NET "output_slow_sig<5>" TIG;
NET "output_slow_sig<6>" TIG;
NET "output_slow_sig<7>" TIG;


TIG steht für "Timing Ignore".

Autor: Andreas Kratzsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Xenu,

ich habe das mal ausprobiert, leider ändert sich durch die
Constraints nichts am Timing.
Ich werde 2 verschiedene Konfigurationen benutzen,
eine mit der langsamen Berechnung und eine Dummy Konfiguration
mit der ich das Timing der restlichen Schaltung sehen kann.

Andreas

Autor: Xenu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>ich habe das mal ausprobiert, leider ändert sich durch die
>Constraints nichts am Timing

Komisch, bei mir schon.

Du hast Dir schon das Post-Place&Route-Timing angeschaut, oder?

Autor: Andreas Kratzsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Xenu,

es gibt sogar direkt ein Constraint für das was ich benötge:

Timing constraint: TS_multi_cycle_path = MAXDELAY FROM TIMEGRP
"TG_inputs" TO TIMEGRP
        "TG_outputs" TS_clock * 3;

und es funktioniert sogar !

>>Du hast Dir schon das Post-Place&Route-Timing angeschaut, oder?
Nein, ich hatte mir das Timing nur im XST Synthesis Report angesehen.

Warum werden dort die Constraints nicht berücksichtgt ?

Andreas

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.