Dies ist ein Verilog-Beispiel, das die Implementierung einer Zustandsmaschine zeigt. Die erste CASE-Anweisung definiert die Ausgänge, die vom Wert des Zustands der Maschinenvariablen abhängig sind. Die zweite CASE-Anweisung definiert die Übergänge einer Zustandsmaschine und die Bedingungen, die sie steuern.
Weitere Informationen zum Einsatz dieses Beispiels in Ihrem Projekt finden Sie im Abschnitt How to Use Verilog HDL Examples auf der Verilog-Webseite.
statem.v
Modul statem(clk, in, reset, out); Input clk, in, Reset; Ausgabe [3:0] out; reg [3:0] out; reg [1:0] Zustand; Parameter Zero=0, one=1, two=2, three=3; always @(state) begin case (state) zero: out = 4'b0000; one: out = 4'b0001; zwei: out = 4'b0010; drei: out = 4'b0100; Standard: out = 4'b0000; endcase end always @(posedge clk oder posedge reset) beginnt, wenn (reset) state = null; Else-Fall (Zustand) Null: Zustand = eins; one: wenn (in) Zustand = Null; else state = zwei; zwei: Zustand = drei; drei: Zustand = Null; Endcase Endmodul