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
>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".
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
>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?
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.