Hardwarebeschreibungssprachen und Verifikation

Welchen Wert hat count beim obigen 4-Bit-Zähler, wenn bei count gleich 15 der Takt steigt?

reg [3:0] count;
always @(posedge clk)
    count <= count + 1;
  1. A16
  2. B0
  3. CBleibt bei 15
Antwort und Erläuterung anzeigen

Antwort: B. 0

Ein 4-Bit-reg kann nur 0 bis 15 darstellen. Addiert man 1 zu 15 (binär 1111), ergibt sich 10000, doch das obere Bit passt nicht mehr hinein und wird verworfen, sodass count 0000, also 0, wird. Mit dieser Eigenschaft lassen sich Zähler bauen, die sich nach einer festen Zahl wiederholen. Andererseits führt ein Überlauf an unbeabsichtigter Stelle zu Fehlern, weshalb stets auf die Bitbreite der Signale zu achten ist.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Hardwarebeschreibungssprachen und Verifikation

  1. In Verilog werden die 8-Bit-Signale a und b addiert und das Ergebnis dem 8-Bit-Signal s zugewiesen (assign s = a + b;). Was ist zu beachten?
  2. a sollte wie oben geschrieben das vorzeichenbehaftete −1 sein, doch gt wurde 1. Was ist der Grund?
  3. Welche Kombination beschreibt die bei der Verilog-Simulation verwendete vierwertige Logik korrekt?
  4. In der Simulation war der Wert eines Registers ohne Reset anfangs X. Was ist im realen Chip zu erwarten?
  5. In der obigen Beschreibung wird in der Verilog-Simulation für y der Wert b gewählt, wenn sel X (unbestimmt) ist. Warum ist diese Eigenschaft bei der Verifikation ein Problem?

Vergleiche zu diesem Thema