原理图
Key1 按下为 0 信号,Key2 按下为 1 信号
代码
module lab(
input clk,
input key0, //按下代表0,按键值不按为1,按下为0
input key1, //按下代表1
output reg led
);
reg [4:0]cur_st=0;
reg [4:0]nxt_st=0;
wire press=key1&&key0; //当key1或key2中有一个键按下,press从1变成0
wire rst=key1|key0; //当key1和key2同时按下,rst从1变成0
//定义状态
parameter s0 = 5'b00000;
parameter s1 = 5'b00001;
parameter s2 = 5'b00010;
parameter s3 = 5'b00100;
parameter s4 = 5'b01000;
parameter s5 = 5'b10000;
always @(negedge rst or posedge clk)
begin
if(!rst)
cur_st<=s0; //复位