给FPGA新手的保姆级教程:用Quartus II 13.0和ModelSim-Altera点亮第一个Verilog HDL工程

张开发
2026/5/23 8:20:29 15 分钟阅读
给FPGA新手的保姆级教程:用Quartus II 13.0和ModelSim-Altera点亮第一个Verilog HDL工程
给FPGA新手的保姆级教程用Quartus II 13.0和ModelSim-Altera点亮第一个Verilog HDL工程第一次接触FPGA开发面对复杂的工具链和陌生的硬件描述语言难免会感到无从下手。本文将带你从零开始完成第一个Verilog HDL工程的创建、编码、仿真全流程并深入解释每个步骤背后的设计逻辑帮你避开新手常踩的坑。1. 环境准备与项目结构规划在开始编码之前合理的项目结构规划能大幅提升后续开发效率。与软件开发不同FPGA项目涉及设计文件、工程配置、仿真脚本和文档等多类资源混放在同一目录下会导致管理混乱。推荐采用以下目录结构以and_gate项目为例and_gate/ ├── doc/ # 存放设计文档、波形截图等 ├── prj/ # Quartus工程文件(.qpf) ├── sim/ # ModelSim仿真脚本及波形文件 └── src/ # Verilog源代码(.v)为什么需要手动分类Quartus II不会自动归类不同文件类型而仿真工具生成的临时文件可能多达数百个。提前建立分类目录可以避免工程文件污染源代码方便版本控制如Git忽略临时文件团队协作时快速定位资源重要提示所有路径必须使用英文命名避免中文或特殊字符。Quartus对非ASCII字符路径的支持不稳定可能导致工程无法正常加载。2. 创建Quartus II工程启动Quartus II 13.0后通过File New Project Wizard进入工程创建流程2.1 基础配置工程路径选择之前创建的prj目录工程名称建议与顶层模块名一致本例用and_gate顶层实体名保持与工程名相同Verilog中的module名2.2 器件选择对于Cyclone IV E系列开发板如ZX-1关键参数如下参数项推荐值说明FamilyCyclone IV E芯片系列DeviceEP4CE6E22C8具体型号根据板卡PackageFBGA封装类型Pin count144引脚数量Speed grade8速度等级若不确定器件型号可查看开发板丝印或参考厂商文档。选错型号会导致后续引脚分配失败。2.3 仿真工具设置在EDA Tool Settings页面配置Tool Name: ModelSim-Altera Format: Verilog HDL这一步决定了后续能否直接调用ModelSim进行仿真。如果未正确设置需要手动编写do文件启动仿真。3. 编写第一个Verilog模块在src目录下新建and_gate.v文件输入以下代码module and_gate( input a, input b, output y ); assign y a b; endmodule代码解析module定义了一个名为and_gate的硬件模块input/output声明端口方向assign持续赋值语句实现与门逻辑保存后需将其设置为顶层实体在Project Navigator中右键文件选择Set as Top-Level Entity4. 功能仿真验证4.1 创建测试平台在ModelSim中新建testbench.v并保存到sim目录timescale 1ns/1ps module tb_and_gate; reg a, b; wire y; and_gate uut (.*); // 实例化被测模块 initial begin a 0; b 0; #10 a 1; #10 b 1; #10 a 0; #10 $finish; end endmodule4.2 运行仿真通过Quartus调用ModelSim点击Tools Run Simulation Tool RTL Simulation在ModelSim控制台输入vlib work vlog ../src/and_gate.v vsim tb_and_gate add wave * run 50ns预期波形应显示输入ab变化时输出y符合与门真值表aby0000101001115. 常见问题排查5.1 仿真无法启动症状点击RTL Simulation无反应检查Tools Options General EDA Tool Options路径是否正确解决方案手动指定ModelSim-Altera安装路径通常为.../altera/13.0/modelsim_ase/win32aloem5.2 综合警告典型警告Warning: No clocks defined in design原因纯组合逻辑电路不需要时钟处理可暂时忽略时序电路需正确定义时钟域5.3 引脚分配错误症状程序下载后硬件无反应验证步骤通过Assignments Pin Planner确认引脚号核对开发板原理图检查Assignment Editor中的I/O标准如LVCMOS3.3V

更多文章