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