FPGA 笔记三
1. 移位操作
- 连续左移 led[3:0] <= {led[2:0],led[3]}; //0001 ,0010 ,0100 ,1000
- 连续右移 led[3:0] <= {led[3],led[2:0]}; //1000 ,0100 ,0010 ,0001
2. 按键消抖

- 检测按键信号稳定时,再延时20ms,进而确定按键信号有效。
- 可通过key_flag和key_value一起判断是按下的有效信号还是释放的有效信号。
module key_debounce(
input sys_clk, //外部50M时钟
input sys_rst_n, //外部复位信号,低有效
input key, //外部按键输入
output reg key_flag, //按键数据有效信号
output reg key_value //按键消抖后的数据
);
//reg define
reg [31:0] delay_cnt;
reg key_reg;
always @(posedge sys_clk or negedge sys_rst_n) begin
if (!sys_rst_n) begin
key_reg <= 1'b1;
delay_cnt <&