Đâ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