Hardwarebeschreibungssprachen und Verifikation

Welche Aussage zum Unterschied zwischen den Typen wire und reg in Verilog ist korrekt?

  1. Areg wird stets zu einem Flipflop und wire stets zu einer kombinatorischen Schaltung
  2. Bwire stellt eine über assign-Anweisungen usw. verbundene Leitung dar, reg ein Signal, dem in einem always-Block Werte zugewiesen werden, doch reg wird nicht zwangsläufig zu einem Flipflop
  3. Cwire ist ein Typ für Zahlen, reg ein Typ für Zeichen
Antwort und Erläuterung anzeigen

Antwort: B. wire stellt eine über assign-Anweisungen usw. verbundene Leitung dar, reg ein Signal, dem in einem always-Block Werte zugewiesen werden, doch reg wird nicht zwangsläufig zu einem Flipflop

In Verilog gilt die Regel, dass durch assign oder Modulausgänge getriebene Signale als wire und in einem always-Block zugewiesene Signale als reg deklariert werden. reg sieht nach „Register“ aus, wird aber bei Zuweisung in always @(*) zu einer kombinatorischen Schaltung und nicht zu einem Flipflop. Ob ein Flipflop entsteht, hängt davon ab, ob der Wert an einer Taktflanke aktualisiert wird. In SystemVerilog können beide als Typ logic geschrieben werden.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Hardwarebeschreibungssprachen und Verifikation

  1. Welche Schaltung stellt die obige assign-Anweisung in Verilog dar?
  2. Welche Schaltung erzeugt die obige Verilog-Beschreibung bei der Logiksynthese?
  3. Welche Aussage zum Verhalten der nichtblockierenden Zuweisung (<=) in Verilog ist korrekt?
  4. Bei der obigen Beschreibung war unmittelbar vor der steigenden Taktflanke a=0 und b=1. Welche Werte haben a und b nach der steigenden Flanke?
  5. Ein zweistufiges Schieberegister sollte entstehen, wurde aber wie oben mit blockierenden Zuweisungen (=) geschrieben. Welches Problem tritt auf?

Vergleiche zu diesem Thema