Verilog HDL-Vorlagen für Zustandsmaschinen

author-image

Von

Diese Seite enthält Designbeispiele für Zustandsmaschinen in Verilog HDL. Eine Zustandsmaschine ist ein sequentieller Schaltkreis, der eine Reihe von Zuständen durchläuft. Die Beispiele enthalten die HDL-Codes zur Implementierung der folgenden Arten von Zustandsmaschinen:

4-State-Zustandsmaschine

Die Ausgänge einer Leistungsmaschine hängen sowohl von den Eingängen als auch vom aktuellen Zustand ab. Wenn sich die Eingänge ändern, werden die Ausgänge aktualisiert, ohne auf einen Taktrand zu warten.

4-State-Moore-State-Maschine

Die Ausgänge einer Moore-State-Maschine hängen nur vom aktuellen Zustand ab. Die Ausgänge werden nur geschrieben, wenn sich der Status ändert (am Taktrand).

Safe-State-Maschine

Dieses Beispiel verwendet den sicheren syn_encoding Synthese-Attributwert, um anzugeben, dass die Software zusätzliche Logik einfügen sollte, um einen illegalen Zustand zu erkennen und den Übergang der Zustandsmaschine in den Reset-Zustand zu erzwingen.

Vom Benutzer codierte Zustandsmaschine

Dieses Beispiel verwendet den syn_encoding Synthese-Attributwertbenutzer, um die Software anzuweisen, jeden Zustand mit dem im Verilog HDL-Quellcode definierten Wert zu codieren. Durch Änderung der Werte der Zustandskonstanten können Sie die Kodierung der Zustandsmaschine ändern.

Laden Sie die in diesem Beispiel verwendeten Dateien herunter:

Jeder ZIP-Download enthält die Verilog HDL-Datei für die Zustandsmaschine und das Blockdiagramm der obersten Ebene.

Die Verwendung dieses Designs unterliegt den Bedingungen der Intel® Design Example Lizenzvereinbarung.

Der Inhalt dieser Seite ist eine Kombination aus menschlicher und computerbasierter Übersetzung des originalen, englischsprachigen Inhalts. Dieser Inhalt wird zum besseren Verständnis und nur zur allgemeinen Information bereitgestellt und sollte nicht als vollständig oder fehlerfrei betrachtet werden. Sollte eine Diskrepanz zwischen der englischsprachigen Version dieser Seite und der Übersetzung auftreten, gilt die englische Version. Englische Version dieser Seite anzeigen.