如何构建您的第一个 FPGA LED 闪光灯:分步教程
分步指南:构建您的第一个 FPGA LED 闪光灯
第 1 部分:设计 VHDL 或 Verilog
在本教程中,您将学习如何编写以用户定义的频率驱动 LED 的 VHDL 和 Verilog 代码。选择最适合您的工作流程的语言。
编写 HDL 时,必须验证设计的行为是否符合预期。错误是不可避免的,所以模拟是必不可少的。本教程分为两个关键阶段:
- HDL 设计
- HDL 模拟
跳过仿真可能会导致代价高昂的硬件调试。将模拟视为强制性检查点。
项目要求
编写 HDL,使 LED 以 100Hz、50Hz、10Hz 或 1Hz 的频率闪烁,占空比为 50%。两个开关选择所需的频率,还有一个LED_EN 开关必须处于高电平才能启用 LED。 FPGA 在 25MHz 振荡器上运行。
频率选择器真值表:
| 启用 | 开关1 | 开关2 | LED 驱动频率 |
|---|---|---|---|
| 0 | - | - | 已禁用 |
| 1 | 0 | 0 | 100Hz |
| 1 | 0 | 1 | 50Hz |
| 1 | 1 | 0 | 10Hz |
| 1 | 1 | 1 | 1Hz |
信号汇总:
| 信号名称 | 方向 | 描述 |
|---|---|---|
| i_clock | 输入 | 25MHz时钟 |
| i_启用 | 输入 | 启用开关(逻辑0 =LED 关闭) |
| i_switch_1 | 输入 | 频率选择开关1 |
| i_switch_2 | 输入 | 频率选择开关2 |
| o_led_drive | 输出 | LED驱动信号 |
四个并发计数器进程监视 25MHz 时钟并为每个目标频率生成切换。即使未选择特定频率,其计数器也会继续运行——这是硬件并发的核心原理。
这些开关形成一个多路复用器,将所选的切换路由至 LED 输出。多路复用器是纯粹的组合逻辑,因此它们无需时钟即可运行。
下面是说明架构的框图:

VHDL 实现
<前>00前>Verilog 实现
<前>10前>下一步:在 VHDL 或 Verilog 中模拟此设计,以在部署前确认正确的行为。
VHDL