Hardwarebeschreibungssprachen und Verifikation

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?

  1. ADie Addition zweier 8-Bit-Zahlen lässt sich in Verilog nicht schreiben
  2. BDas Ergebnis wird automatisch auf 16 Bit erweitert
  3. CÜberschreitet die Summe 255, wird der Übertrag des 9. Bits verworfen; wird der Übertrag benötigt, ist s als 9 Bit zu deklarieren
Antwort und Erläuterung anzeigen

Antwort: C. Überschreitet die Summe 255, wird der Übertrag des 9. Bits verworfen; wird der Übertrag benötigt, ist s als 9 Bit zu deklarieren

Die Summe zweier 8-Bit-Zahlen beträgt höchstens 255+255=510 und braucht zur Darstellung 9 Bit. Ist das Ziel s 8 Bit breit, wird der obere Übertrag stillschweigend verworfen, und z. B. 200+100 ergibt 44. Soll der Übertrag auch genutzt werden, wird s mit 9 Bit deklariert. Verilog meldet bei Zuweisungen unterschiedlicher Breite keinen Fehler, sondern schneidet ab oder erweitert, weshalb die Prüfung auf Breitenabweichungen mit Lint-Werkzeugen sinnvoll ist.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Hardwarebeschreibungssprachen und Verifikation

  1. a sollte wie oben geschrieben das vorzeichenbehaftete −1 sein, doch gt wurde 1. Was ist der Grund?
  2. Welche Kombination beschreibt die bei der Verilog-Simulation verwendete vierwertige Logik korrekt?
  3. In der Simulation war der Wert eines Registers ohne Reset anfangs X. Was ist im realen Chip zu erwarten?
  4. 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?
  5. Was gilt allgemein für die Beschreibung von Tri-State-Ausgängen mit Z (hochohmig) in HDL?

Vergleiche zu diesem Thema