Verilog HDL: Máy tính trạng thái đồng bộ

author-image

Bởi

Đây là một ví dụ của Verilog cho thấy việc triển khai một máy trạng thái. Tuyên bố CASE đầu tiên xác định các đầu ra phụ thuộc vào giá trị của trạng thái biến máy trạng thái. Tuyên bố CASE thứ hai xác định quá trình chuyển tiếp của máy trạng thái và các điều kiện kiểm soát chúng.

Để biết thêm thông tin về việc sử dụng ví dụ này trong dự án của bạn, hãy tham khảo phần Ví dụ về Cách sử dụng Verilog HDL trên trang web Verilog.


statem.v

trạng thái mô-đun(clk, trong, đặt lại, ngoài);

clk đầu vào, vào, đặt lại;
đầu ra [3:0] ra;

reg [3:0] ngoài;
reg [1:0] bang;

parameter zero=0, one=1, two=2, three=3;

always @(state) 
     begin
          case (state)
               zero: out =
                    4'b0000;
               một:
                    ra = 4'b0001;
               hai:
                    ra = 4'b0010;
               ba:
                    ra = 4'b0100;
               mặc định:
                    ngoài = 4'b0000;
          endcase
     end

luôn @(posedge clk hoặc posedge reset)
     bắt đầu nếu
          (đặt lại)
               trạng thái = zero;
          trường
               hợp khác (trạng thái)
                    không: trạng thái =
                         một;
                    một:
                         nếu (trong) trạng
                              thái = số không;
                         trạng thái
                              khác = hai;
                    hai:
                         trạng thái = ba;
                    ba: trạng
                         thái = số không;
               endcase

endmodule

Nội dung gốc bằng tiếng Anh trên trang này vừa do con người vừa do máy dịch. Nội dung này chỉ để cung cấp thông tin chung và giúp quý vị thuận tiện. Quý vị không nên tin đây là thông tin hoàn chỉnh hoặc chính xác. Nếu có bất kỳ mâu thuẫn nào giữa bản tiếng Anh và bản dịch của trang này, thì bản tiếng Anh sẽ chi phối và kiểm soát. Xem phiên bản tiếng Anh của trang này.