Este es un ejemplo de Verilog que muestra la implementación de una máquina de estado. La primera instrucción CASE define los resultados que dependen del valor del estado variable del equipo de estado. La segunda declaración CASE define las transiciones del equipo de estado y las condiciones que las controlan.
Para obtener más información sobre el uso de este ejemplo en su proyecto, consulte la sección Ejemplos de HDL De Verilog en la página web de Verilog.
statem.v
module statem (clk, in, reset, out); entrada clk, in, reset; salida [3:0] fuera; reg [3:0] salida; reg [1:0] estado; parámetro cero=0, uno = 1, dos = 2, tres = 3; always @(state) begin case (estado) cero: out = 4'b0000; uno: salida = 4'b0001; dos: salida = 4'b0010; tres: salida = 4'b0100; predeterminado: out = 4'b0000; endcase endcase endcase siempre @(100 000 000 000 100 000 000 100 000 100 000 100 000 100 000 100 otro caso (estado) cero: estado = uno; uno: estado if (in) = cero; else state = dos; dos: estado = tres; tres: estado = cero; endmodule endcase