fpga led闪烁
时间: 2025-06-15 14:42:06 浏览: 5
### FPGA LED 闪烁实现代码示例
以下是一个基于 Verilog 的 LED 闪烁实现代码示例,适用于 FPGA 平台。该代码通过计数器控制 LED 的亮灭状态,从而实现 LED 的闪烁效果。
```verilog
`timescale 1ns / 1ps
module led_blink (
input wire clk, // 系统时钟信号
input wire rst_n, // 复位信号(低电平有效)
output reg led // LED 输出信号
);
// 定义一个32位计数器
reg [31:0] count;
// 计数器逻辑:每50_000_000个时钟周期切换一次LED状态
always @(posedge clk) begin
if (~rst_n) begin
count <= 0; // 复位时清零计数器
end else if (count < 50_000_000) begin
count <= count + 1; // 每个时钟周期递增计数器
end else begin
count <= 0; // 达到阈值后重置计数器
end
end
// LED状态切换逻辑
always @(posedge clk) begin
if (~rst_n) begin
led <= 1'b0; // 复位时关闭LED
end else if (count == 50_000_000) begin
led <= ~led; // 当计数器达到阈值时翻转LED状态
end
end
endmodule
```
#### 代码说明
- **系统时钟与复位信号**:模块输入 `clk` 是系统时钟信号,`rst_n` 是低电平有效的复位信号[^1]。
- **计数器设计**:通过一个 32 位计数器 `count` 来记录时钟脉冲的数量。当计数器达到预设值(如 50_000_000)时,触发 LED 状态的切换[^2]。
- **LED 状态切换**:在计数器达到阈值时,通过翻转 `led` 的值来实现 LED 的亮灭交替[^2]。
### 注意事项
- **时钟频率**:上述代码假设系统时钟频率为 50 MHz。如果实际使用的时钟频率不同,需要调整计数器的阈值以匹配所需的闪烁频率[^2]。
- **硬件连接**:确保 FPGA 的输出引脚正确连接到 LED 的阴极,并且阳极连接到电源,同时添加限流电阻以保护 LED[^1]。
阅读全文
相关推荐

















