从零上手Quartus II 13.0:一个完整Verilog项目的创建、仿真与实现

张开发
2026/4/11 16:49:32 15 分钟阅读

分享文章

从零上手Quartus II 13.0:一个完整Verilog项目的创建、仿真与实现
1. 环境准备与项目规划第一次接触FPGA开发的朋友可能会被一堆专业术语吓到但其实只要跟着步骤操作很快就能上手。我刚开始用Quartus II 13.0时也犯过不少错误后来发现合理的项目规划能避免90%的麻烦。这里以至芯科技ZX-1开发板Cyclone IV E芯片为例带大家从零开始搭建一个简单的与门项目。建议在开始前先准备好这些安装好的Quartus II 13.0软件建议默认路径安装ModelSim-Altera仿真工具安装时记得勾选开发板配套的USB-Blaster驱动一个清爽的工作目录我习惯在D盘创建FPGA_Projects总文件夹里面按日期建立子文件夹。比如今天的项目就放在D:\FPGA_Projects\20230820_and_gate。这个路径要注意两点绝对不要用中文不要有空格。有些新手喜欢用我的项目这样的文件夹名后期仿真时会出现各种奇怪错误。2. 创建Quartus II工程打开软件后别急着新建文件我们先做件重要的事——建立规范的目录结构。在刚才创建的日期文件夹里手动新建四个子文件夹doc存放设计文档、引脚分配表等prj存放Quartus工程文件(.qpf)sim仿真相关文件srcVerilog源代码这个习惯是我踩过几次坑后养成的。有次项目文件散落在各处更新版本时差点把旧代码覆盖了。现在每次新建工程都坚持这个结构找文件特别方便。点击菜单栏的File New Project Wizard会看到五个配置页面工程路径定位到刚才建的prj文件夹工程名填and_gate注意命名规范小写字母下划线添加已有文件跳过这步我们还没写代码芯片选型Family选Cyclone IV E具体型号选EP4CE6E22C8这是ZX-1开发板的芯片仿真设置把Tool Name改为ModelSim-AlteraFormat选Verilog HDL总结页直接点Finish有个细节要注意工程名称必须和顶层模块名一致。比如我们之后要写个and_gate模块这里工程名就得用and_gate。我第一次用的时候没注意这个规则仿真时一直报错。3. 编写Verilog代码现在可以创建源文件了。按CtrlN选择Verilog HDL File会打开一个空白编辑器。先别急着写代码记得先保存文件到src文件夹文件名建议和模块名相同如and_gate.v。一个基础的与门模块代码长这样module and_gate( input a, input b, output y ); assign y a b; endmodule保存后需要设置顶层模块在Project Navigator里右键and_gate.v选择Set as Top-Level Entity。很多新手会漏掉这一步导致后续编译失败。这里分享一个实用技巧在代码开头添加如下注释模板后期维护会轻松很多// 文件名and_gate.v // 功能2输入与门 // 作者你的名字 // 版本v1.0 // 日期2023-08-204. 功能仿真验证写好的代码需要先用ModelSim验证功能是否正确。在Quartus中点击Tools Run Simulation Tool RTL Simulation会自动启动ModelSim但第一次使用需要配置点击Assignments Settings在左侧选择EDA Tool Settings Simulation确认Tool name是ModelSim-Altera在NativeLink settings里勾选Compile test bench点击Test Benches...新建测试文件测试文件要放在sim文件夹里例如and_gate_tb.vtimescale 1ns/1ns module and_gate_tb; reg a, b; wire y; and_gate uut (.a(a), .b(b), .y(y)); initial begin a0; b0; #10; a0; b1; #10; a1; b0; #10; a1; b1; #10; $stop; end endmodule仿真时我习惯把波形窗口的栅格设为10ns这样能清晰看到四个测试组合。如果一切正常你会看到y只在a和b都为1时输出高电平。5. 引脚分配与编译仿真通过后需要告诉编译器哪个物理引脚对应代码里的信号。点击Assignments Pin Planner打开分配界面在Location列输入开发板对应的引脚号参考ZX-1的原理图比如把a分配到PIN_25b分配到PIN_26y分配到PIN_30记得保存分配CtrlS有个常见问题引脚分配后需要重新全编译。我遇到过只点Start Analysis Synthesis导致配置没生效的情况所以建议直接点Start Compilation那个紫色三角图标。6. 程序下载与调试最后用USB-Blaster连接开发板点击Tools Programmer确认编程器显示USB-Blaster勾选.sof文件在output_files文件夹里点击Start按钮如果一切顺利这时拨动开发板上的对应开关LED灯会按与门逻辑亮灭。遇到问题可以先检查开发板供电是否正常USB-Blaster驱动是否安装引脚分配是否与原理图一致第一次成功点亮LED的感觉特别棒虽然只是个简单与门但完整走完这个流程后你会发现更复杂的项目也是类似的开发模式。建议把这个项目作为模板保存以后新建工程时可以直接复制目录结构。

更多文章