Hardwarebeschreibungssprachen und Verifikation
Welche Aussage zum Verhalten der nichtblockierenden Zuweisung (<=) in Verilog ist korrekt?
- ADie linke Seite wird im Moment der Zuweisung aktualisiert, und in der nächsten Zeile wird dieser neue Wert verwendet
- BAlle rechten Seiten des gleichen Zeitpunkts werden zuerst ausgewertet, danach werden die linken Seiten gemeinsam aktualisiert
- CDas Ergebnis der Zuweisung wird verworfen, und nichts ändert sich
Antwort und Erläuterung anzeigen
Antwort: B. Alle rechten Seiten des gleichen Zeitpunkts werden zuerst ausgewertet, danach werden die linken Seiten gemeinsam aktualisiert
Bei nichtblockierenden Zuweisungen werden an der Taktflanke zuerst die rechten Seiten aller <= mit den alten Werten ausgewertet und danach alle linken Seiten gleichzeitig überschrieben. Das entspricht dem Verhalten einer realen Schaltung, in der viele Flipflops mit demselben Takt gleichzeitig die Werte unmittelbar vor der Flanke übernehmen. Daher gilt für die Beschreibung getakteter sequentieller Schaltungen grundsätzlich die nichtblockierende Zuweisung.