Forum: FPGA, VHDL & Co. Synthese Static Timing Analysis Loop


von Andreas (Gast)


Lesenswert?

Hallo Freunde des gepflegten HDLs,

zur Zeit arbeitete ich an einen VHDL-Design. Bei diesem steht nun die 
Synthese ins Haus. Soweit funktioniert diese auch fehlerfrei. Allerdings 
bekomme ich bei der statischen Timing Analyse im Leonardo die Warnung 
das eine Schleife entdeckt wurde. Von einer Instanz geht einen Signal 
aus wird aber zahlreiche weitere Instanzen geführt und landet 
schließlich wieder am Eingang der erst genannten Instanz. Damit ensteht 
das Problem einer kombinatorischen Schleife. Weiterhin läuft die postP&R 
Simulation fehlerfrei. Des Weiteren geht das Synthesetool stupide alle 
Pfade durch egal ob diese jemals benutzt werden. Damit steht die Frage 
ins Haus, ob der Pfad jemals in dieser Art und Weiße angesteuert wird. 
Meine Frage lautet trotzdem wie man bei dem Problem vorgehen könnte um 
diese Meldungen weg zu bekommen und gibt es eine andere Lösung als 
Falsepaths zu setzen. Vlt ein tracing im HDL-Code um die Konstrukte zu 
identifizieren die diese Probleme verursachen?

Viele Dank für die Antworten!

Viele Grüße

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Es ist "nur" eine Warnung. Wenn du (als der Designer) der Meinung bist, 
dass das nicht schlimm sein kann, dann ignoriere sie. Ich habe mir 
abgewöhnt, ein Design ohne Warnungen realisieren zu können... :-/

Eine wirkliche versteckte kombinatorische Schleife hat aber was, daran 
kannst du tagelang suchen...

von Schlumpf (Gast)


Lesenswert?

Na ja, wenn dieser Schleife, die das Signal macht, nirgends von einem 
Register "unterbrochen" ist, dann entsteht eine combinatorial loop.

Das kann passieren, wenn du das Ergebnis einer kombinatorischen 
Verknüpfung in die selbe kombinatorische Verknüpfung zurückführst.

Ein Konstrukt wie z.B.

A <= Q and A;

führt zu sowas.

Ich für meinen Teil würde der Sache auf den Grund gehen.

von Ottmar (Gast)


Lesenswert?

Combi loops werden sowohl für P&R als auch für die STA an einer 
beliebigen Stelle timing mäßig aufgebrochen (disable timing).

Deine STA ist also für die Tonne.

Die Wahrscheinlichkeit ein solches Problem bei der gatelevel Simulation 
zu entdecken ist gering.

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
Noch kein Account? Hier anmelden.