Verilog HDL:同步狀態機器

author-image

作者

這是 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

這個頁面的內容綜合了英文原始內容的人工翻譯譯文與機器翻譯譯文。本內容是基於一般資訊目的,方便您參考而提供,不應視同完整或準確的內容。如果這個頁面的英文版與譯文之間發生任何牴觸,將受英文版規範及管轄。 查看這個頁面的英文版。