Este é um exemplo de Verilog que mostra a implementação de uma máquina de estado. A primeira instrução CASE define as saídas que dependem do valor do estado da variável da máquina de estado. A segunda instrução CASE define as transições da máquina de estado e as condições que as controlam.
Para obter mais informações sobre o uso deste exemplo em seu projeto, consulte a seção Como usar exemplos de HDL verilog na página da Verilog.
statem.v
módulo statem (clk, in, reset, out); clk de entrada, in, reset; saída [3:0]; reg [3:0] fora; estado reg [1:0]; parâmetro zero=0, um=1, dois=2, três=3; sempre @(estado) iniciar caso (estado) zero: out = 4'b0000; um: out = 4'b0001; dois: out = 4'b0010; três: out = 4'b0100; padrão: out = 4'b0000; endcase end always @(posedge clk or posedge reset) begin if (reset) state = zero; caso (estado) zero: estado = um; um: se (in) estado = zero; outro estado = dois; dois: estado = três; três: estado = zero; endmodule endcase