Hardwarebeschreibungssprachen und Verifikation
Welche Schreibweise wird häufig verwendet, um in einem always-Block einer kombinatorischen Schaltung unbeabsichtigte Latches zu verhindern?
- AMöglichst viele bedingte Verzweigungen schreiben und else weglassen
- BAm Blockanfang allen Ausgangssignalen Standardwerte zuweisen und danach die bedingten Verzweigungen schreiben
- 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.