这是一个检测按键按下时抖动的程序,不明白为什么key_ret_r的值比key_rst的值晚一个节拍?假如:key_rst: 1 1 1
key_ret_r: 1 1 1 (晚一个时钟周期不知道为什么)
两个always语句同时执行,况且敏感信号都是一样的,应该不会晚一个时钟周期的啊?不明白!
reg[2:0] key_rst;
always @(posedge clk or negedge rst_n)
if (!rst_n) key_rst <= 3'b111;
else key_rst <= {sw3_n,sw2_n,sw1_n};
reg[2:0] key_rst_r; //每个时钟周期的上升沿将low_sw信号锁存到low_sw_r中always @ ( posedge clk or negedge rst_n )
if (!rst_n) key_rst_r <= 3'b111;
else key_rst_r <= key_rst; |