Hardwarebeschreibungssprachen und Verifikation
Was bedeutet „always @(*)“ in Verilog?
- AEs stellt ein Flipflop dar, das bei jeder steigenden Taktflanke ausgeführt wird
- BEs wird nur einmal zu Beginn der Simulation ausgeführt
- CEs stellt eine kombinatorische Schaltung dar, die immer ausgeführt wird, wenn sich eines der im Block gelesenen Signale ändert
Antwort und Erläuterung anzeigen
Antwort: C. Es stellt eine kombinatorische Schaltung dar, die immer ausgeführt wird, wenn sich eines der im Block gelesenen Signale ändert
Das @( ) nach always heißt Sensitivitätsliste und legt fest, bei Änderung welcher Signale der Block ausgeführt wird. Mit „*“ werden automatisch alle im Block gelesenen Signale eingetragen, sodass eine kombinatorische Schaltung korrekt dargestellt wird. Beim Eintragen von Hand werden leicht Signale vergessen, daher sind für kombinatorische Schaltungen „@(*)“ oder always_comb von SystemVerilog sicherer.