Hardwarebeschreibungssprachen und Verifikation

Welche Schreibweise wird häufig verwendet, um in einem always-Block einer kombinatorischen Schaltung unbeabsichtigte Latches zu verhindern?

  1. AMöglichst viele bedingte Verzweigungen schreiben und else weglassen
  2. BAm Blockanfang allen Ausgangssignalen Standardwerte zuweisen und danach die bedingten Verzweigungen schreiben
  3. CAlle Ausgangssignale als wire deklarieren und im always-Block zuweisen
Antwort und Erläuterung anzeigen

Antwort: B. Am Blockanfang allen Ausgangssignalen Standardwerte zuweisen und danach die bedingten Verzweigungen schreiben

Werden den Ausgängen am Blockanfang Standardwerte zugewiesen, etwa „y = 0; valid = 0;“, ist auf jedem Pfad der späteren Verzweigungen zumindest der Standardwert zugewiesen, sodass kein Wert gehalten werden muss und kein Latch entsteht. Das ist besonders bei der Beschreibung der Ausgänge von Zustandsautomaten mit vielen Bedingungen nützlich. Bei Verwendung von always_comb in SystemVerilog gibt das Werkzeug eine Warnung aus, wenn ein Latch entsteht.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Hardwarebeschreibungssprachen und Verifikation

  1. Welche der folgenden Verilog-Beschreibungen wird bei der Logiksynthese nicht zur Schaltung, sondern ignoriert (Beschreibung für die Simulation)?
  2. Welche Schaltung entsteht bei der Logiksynthese der obigen Beschreibung, die die Einsen in 8-Bit-d zählt?
  3. Welche Art von Reset und welches Verhalten hat die obige Beschreibung?
  4. Welche Aussage zum Unterschied zwischen synchronem und asynchronem Reset ist korrekt?
  5. Warum wird in einer Schaltung mit asynchronem Reset die Rücknahme des Resets (Wechsel von 0 auf 1) über zwei Flipflops mit dem Takt synchronisiert, bevor sie an die Schaltungsteile verteilt wird?

Vergleiche zu diesem Thema