FPGA 工程准备
首先建立一个名为 led 的工程文件夹,文件夹下包含 doc、quartus_prj、rtl、sim 四个子目录:

- doc:主要包含文档资料、数据手册、Visio 波形等,相当于档案库。
- quartus_prj:主要包括使用 Quartus II 软件新建的工程文件,相当于操作台。
- rtl:主要放置生成硬件电路的 Verilog 代码,相当于原材料。
- sim:放置对生成硬件电路代码的仿真文件,相当于质检室。
这四个目录各自完成不同的分工,它们之间通过路径关联和文件引用,形成一个完整的 FPGA 开发闭环。quartus_prj 作为工程中枢,向上访问 doc 读取说明,向下访问 rtl 获取硬件代码,向外访问 sim 获取仿真脚本;sim 向上访问 rtl 在逻辑上验证硬件代码的正确性。
设计流程
无论使用 FPGA 做什么类型的项目,都需要参照具体的开发流程:
- 需求分析:查看手册和原理图,明确需要实现的功能。
- 工程创建:新建工程,选择对应的开发芯片型号。
- 代码编写:运用 Verilog 代码实现电路功能。
- 编译仿真:编译代码并运行仿真测试,检查逻辑错误。
- 引脚分配:测试仿真完成后,分配硬件引脚,确保工程正常烧录运行。
工程实现
需求分析
打开开发板原理图,找到'按键'和'LED'模块,选取 KEY1 与 LED1 进行分析:

按键电路
当 SW2 按键松开时,1、2 与 3、4 不导通,KEY1 被拉低到 GND 低电平,发出低电平信号 key_in 为 0。FPGA 输入引脚接收 0 信号,给 LED 电路发送 0 信号,led_out 输出低电平,LED1 不亮。
当 SW2 按键按下时,1、2 与 3、4 导通,KEY1 被拉高到 3V3 高电平,发出高电平信号 key_in 为 1。FPGA 输入引脚接收 1 信号,给 LED 电路发送 1 信号,led_out 输出高电平,LED1 亮。
在 Visio 中绘制功能框图和波形图,保存至 doc 文件夹中。


工程创建
在 Quartus 中新建工程,工程路径放在 quartus_prj 文件夹中:









