Ich habe versucht, das Problem zu lösen, aber ich habe eine andere Tabelle als die Tabelle, die Xilinx zeigt. Ich habe sowohl meine Antwort als auch meine echte Antwort gefunden. Xilinx zeigt, dass "out" bis 36ns "U" ist, nach 36ns ist es "1". Kann mir jemand helfen, warum die "out" -Grafik vor 36ns keinen Wert bekommt (ich denke, es sollte erst bei 20 ns zugewiesen werden). my answer questionEreignis und Transaktion in vhdl (Timing-Diagramm)
Antwort
Dies stellte eine wirklich gute Frage erwiesen. Ich dachte zuerst, du hättest bei der Simulation etwas falsch gemacht, aber dann habe ich meine eigene Simulation durchgeführt und das gleiche Ergebnis erzielt.
Es stellt sich heraus, dass die a <= b after x
Zuweisung standardmäßig das sogenannte "Trägheitszeitmodell" verwendet. In diesem Modus werden geplante Ereignisse abgebrochen, wenn b
erneut geändert wird, bevor die x
Zeit abgelaufen ist. Der Zweck besteht darin, Impulse zu filtern, die kürzer als die spezifizierte Verzögerung sind. In Ihrem Fall ist es das, was der Simulator tun:
- Bei t = 0,
out
geplant ist 1 bei t ändern = 20. - Bei t = 12 wird
tem1 or tem2
auf 0 geändert. Die geplante Änderung bei t = 20 wird abgebrochen und eine neue Änderung auf 0 wird bei t = 32 angesetzt. - Bei t = 16 wechselt
tem1 or tem2
zurück zu 1. Wieder wird die geplante Änderung abgebrochen und eine neue Änderung wird bei t = 36 geplant. - Nach dieser
tem1 or tem2
bleibt bei 1, so dass die Änderung bei t = 36 ausgeführt wird undout
ändert schließlich von U.
Sie können auf die „Transportverzögerung Modell“ ändern Sie Ihre gezeichnet Wellenform mit out <= transport tem1 or tem2 after 20 ns;
In diesem Fall wird mit der Simulation übereinstimmen.
Vielen Dank, ich habe es :) –
Vielen Dank, ich habe versucht, dies über eine Stunde zu verstehen und jetzt habe ich es total. –
- 1. verallgemeinerte Aggregat in VHDL
- 2. if-Anweisung in VHDL
- 3. VHDL Erklärung in Worten
- 4. VHDL-Konstante in Generics
- 5. Optionale Ports in VHDL?
- 6. Array in VHDL auswählen
- 7. Serialisierungscode in VHDL
- 8. Simulationsfehler in vhdl
- 9. Fehler in VHDL-Code
- 10. VHDL-Prozeduren
- 11. VHDL Bereichszuweisung
- 12. VHDL-Codefehler
- 13. VHDL-Empfindlichkeitsliste
- 14. Ist der Prozess in VHDL reentrant?
- 15. Generic Repository und Transaktion
- 16. MySQL-Transaktion und Trigger
- 17. SQLAlchemy (Postgres) und Transaktion
- 18. Spring-Konfiguration und Transaktion
- 19. NPN simuliert nicht in VHDL
- 20. Schreibe C-Anweisung in VHDL
- 21. Verketten von Bits in VHDL
- 22. VHDL: Prozess und Zähler funktioniert nicht
- 23. Tic-Tac-Toe in VHDL
- 24. Arrays in If-Anweisungen VHDL
- 25. Index Überlauf in VHDL std_logic_vector
- 26. Zeitteilung (Periode) Auswahl in vhdl
- 27. Rekursive Selbstinstanziierungskomponente [VHDL]
- 28. VHDL-Zustandsmaschine überspringt Zustände
- 29. VHDL: conv_std_logic_vector Parameter Fehler
- 30. ALU mit strukturiertem VHDL ??
Wenn kein Verzögerungsmechanismus vorhanden ist oder wenn ein Verzögerungsmechanismus einschließlich des reservierten Wortes ** Trägheit ** vorhanden ist, wird die Verzögerung als Trägheitsverzögerung interpretiert. ... Jede träge verzögerte Signalzuordnung hat eine * Impulsunterdrückungsgrenze *. Wenn der Verzögerungsmechanismus eine Trägheitsverzögerung spezifiziert, und wenn das reservierte Wort ** Zurückweisung ** gefolgt von einem Zeitausdruck vorhanden ist, spezifiziert der Zeitausdruck die Impulsunterdrückungsgrenze. In allen anderen Fällen wird die Impulsunterdrückungsgrenze durch den Zeitausdruck spezifiziert, der dem ersten Wellenformelement zugeordnet ist. IEEE Std 1076-2008 10.5.2.1 – user1155120