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

各文件夹功能说明:
- doc:存放文档资料、数据手册、Visio 波形等,相当于档案库;
- quartus_prj:存放使用 Quartus II 软件新建的工程文件,相当于操作台;
- rtl:放置生成硬件电路的 Verilog 代码,相当于原材料;
- sim:放置对生成硬件电路代码的仿真文件,相当于质检室。
这四个文件夹各自完成不同的分工,通过路径关联和文件引用形成 FPGA 开发闭环。quartus_prj 作为工程中枢,向上访问 doc 读取说明,向下访问 rtl 获取硬件代码,向外访问 sim 获取仿真脚本;sim 向上访问 rtl 在逻辑上验证硬件代码的正确性。
- 设计过程
无论使用 FPGA 做什么类型的项目,都要参照具体的流程:
-
阅读手册和原理图,明确实现的功能;
-
新建工程,选择对应的开发芯片(本例使用 Altera EP4CE10 开发板);
-
编写代码,运用 Verilog 实现电路功能;
-
编译代码并写仿真软件测试逻辑错误;
-
分配硬件引脚,确保工程正常运行。
-
工程实现
(1)分析原理图 打开开发板原理图,找到'按键'和'LED'模块,选取 KEY1 与 LED1:
按键电路
LED 电路
电路逻辑分析: 当 SW2 按键松开时,KEY1 被拉低到 GND 低电平,发出低电平信号 key_in 为 0,FPGA 输入引脚接收 0 信号,给 LED 电路发送 0 信号,led_out 为 0,灯不亮; 当 SW2 按键按下时,KEY1 被拉高到 3V3 高电平,发出高电平信号 key_in 为 1,FPGA 输入引脚接收 1 信号,给 LED 电路发送 1 信号,led_out 为 1,灯亮。
绘制功能框图和波形图并保存到 doc 文件夹中:
led 功能框图
led 波形图





仿真波形
