FPGA 工程搭建与 LED 点亮实战
1. 工程目录规划
建立一个清晰的工程文件夹结构是良好习惯的开始。建议创建名为 led 的主目录,并包含以下四个子文件夹:
- doc:存放文档资料、数据手册、Visio 波形图等,相当于档案库。
- quartus_prj:存放 Quartus II 新建的工程文件,相当于操作台。
- rtl:放置生成硬件电路的 Verilog 代码,相当于原材料。
- sim:放置仿真测试文件,相当于质检室。
这四个文件夹分工明确,通过路径关联和文件引用形成闭环。quartus_prj 作为中枢,向上读取说明,向下获取代码,向外调用仿真脚本;sim 则验证 rtl 逻辑的正确性。
2. 设计流程概览
无论进行何种 FPGA 项目,遵循标准流程至关重要。以下是推荐的开发步骤:
- 需求分析:阅读手册和原理图,明确功能目标。
- 环境配置:新建工程,选择对应的开发芯片型号。
- 代码实现:编写 Verilog 代码实现电路逻辑。
- 编译仿真:编译代码并进行仿真测试,验证逻辑无误。
- 引脚分配:将逻辑信号映射到具体的物理引脚,完成硬件绑定。
3. 工程详细实现
(1)原理图分析
首先打开开发板原理图,定位'按键'和'LED'模块。以 KEY1 与 LED1 为例:


逻辑解析:
- 按键松开:SW2 断开,KEY1 被拉低至 GND(低电平)。FPGA 输入引脚接收 0,输出给 LED 电路的信号为 0,LED1 不亮。
- 按键按下:SW2 导通,KEY1 被拉高至 3V3(高电平)。FPGA 输入引脚接收 1,输出给 LED 电路的信号为 1,LED1 点亮。
在此阶段,建议在 Visio 中绘制功能框图和预期波形图,并保存至 doc 文件夹,以便后续对比验证。
(2)工程配置
在 Quartus 中新建工程,路径指向 quartus_prj 文件夹。配置时需关注两点:
- 源文件管理:Quartus 需要识别源代码文件才能生成电路。虽然此时尚未编写代码,但需确保工程能正确关联后续添加的
.v文件。 - 器件选择:必须严格匹配芯片型号。以 Altera EP4CE10E22C8N 为例:
- Family:Cyclone IV E 系列。
- Package:EQFP 封装(对应 Any QFP)。
- Pin Count:144 引脚。
- Speed Grade:8。
- Temperature:0-85°C。
配置错误会导致编译失败或无法下载,务必核对芯片丝印信息。
(3)代码编写
在 rtl 文件夹下新建 led.v 文件,使用文本编辑器编写 Verilog 代码。代码需实现按键输入到 LED 输出的逻辑映射。
编写完成后,回到 Quartus 软件,将 led.v 添加到工程中。这一步确保了 quartus_prj 能够访问并处理硬件描述代码。
(4)编译与仿真
点击任务栏中的 Compile Design 进行编译。该过程包含语法检查、布局布线、时序分析及生成下载文件。
编译成功后,查看 RTL 视图,确认生成的硬件电路图是否符合预期设计。随后进行仿真测试(Verify Design),这是验证逻辑的关键步骤。RTL 视图仅展示综合后的电路结构,而仿真能模拟实际运行时的输入输出状态。
在 ModelSim 中运行仿真,对比生成的波形图与 Visio 设计的预期波形。若两者一致,说明逻辑正确。
(5)引脚约束
仿真通过后,需分配物理引脚。根据芯片 IO Bank 分布,将信号分配至具体引脚:
// 示例约束格式(具体引脚号需查阅手册)
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to key_in
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to led_out
注意:EP4CE10E22C8N 的 key_in 和 led_out 通常位于 IOBANK_3。强烈建议参考官方手册或原理图进行分配,错误的引脚设置可能导致工程无法运行甚至损坏芯片。
至此,工程已完成从设计到约束的全过程。后续烧录步骤可参照官方文档执行。建立标准化的开发流程,有助于提升后续复杂项目的开发效率。

