部分代码如下:
reg[3:0] key_v1;
定义了寄存器key_v1[0]、key_v1[1]、key_v1[2]、key_v1[3]
reg[3:0] key_v2;
定义了寄存器key_v2[0]、key_v2[1]、key_v2[2]、key_v2[3]
always@(posedge sys_clk) begin key_v1 <= ~key_in; end
always@(posedge sys_clk) begin key_v2 <= key_v1; end assign led = key_v2;
代码中key_in定义为4路按钮(input [3:0] key_in),led定义为4路LED指示灯。
以上代码执行原理:
实时把按键的状态通过反相器(非门)取反后,通过两路寄存器送给LED指示灯。即按键值为0,LED引脚输出1;按键值为1,LED引脚输出0。
以上寄存器reg[3:0] key_v1和reg[3:0] key_v2,在FPGA中用触发器来实现:
如下图所示:

其中引脚C为时钟引脚。引脚CE为使能引脚。引脚D为数据输入引脚。引脚Q为数据输出引脚。引脚R接GND,引脚CE接电源。
FPGA之从按键程序到寄存器
最新推荐文章于 2025-09-01 20:08:49 发布
本文介绍了一种在FPGA中使用寄存器和触发器将4路按钮输入转换为4路LED输出的方法。按键状态经过两级寄存器,通过反相器处理后控制LED,实现了按键值与LED引脚输出的反向逻辑。此过程涉及Verilog HDL编程,展示了基本的数字电路设计原理。
2万+





