這是 Verilog 範例,顯示狀態機器的實作。第一個 CASE 聲明定義取決於狀態機器變數狀態值的輸出。第二個 CASE 聲明定義了狀態機器的轉換以及控制它們的條件。
如需在專案中使用此範例的詳細資訊,請參閱 Verilog 網頁上的「如何使用 Verilog HDL 範例 」一節。
statem.v
模組狀態(clk、in、重設、出入); 輸入 clk、in、重設; 輸出 [3:0] 輸出; reg [3:0] 輸出; reg [1:0] 狀態; 參數零=0、1=1、2=2、3=3; 永遠 @(狀態) 開始 案例(狀態) 為零:輸出 = 4'b0000; 一: 輸出 = 4'b0001; 兩個: 輸出 = 4'b0010; 三: 輸出 = 4'b0100; 預設: 輸出 = 4'b0000; 如果 (重設) 狀態 = 零,則端殼末端 永遠 @(請重設 clk 或被重設 ); 其他 案例 (狀態) 零: 狀態 = 1; 一: 如果 (在) 狀態 = 零; 其他 狀態 = 2; 二: 狀態 = 三; 三: 狀態 = 零; endcase endmodule