4. Quartus Prime工程创建与配置

在Quartus Prime中,一个FPGA设计项目从“想法”变成“可下载的配置文件”,第一步不是写代码,而是建立一个结构正确的工程(Project)。工程文件(.qpf)和工程设置文件(.qsf)共同记录了器件型号、顶层实体、源文件列表、约束文件、EDA工具链等全部关键信息。如果工程创建阶段器件选错、顶层实体名写错或EDA工具路径未配置,后续综合、布局布线、时序分析都会出现难以定位的错误。因此,本节围绕新建工程向导的三块核心内容展开:工程基本信息、器件型号选择、EDA工具设置。

一、新建工程向导的入口与工程结构

启动Quartus Prime后,通过 File → New Project Wizard 进入向导。向导共分五页:Introduction、Directory, Name, Top-Level Entity、Project Type、Add Files、Family, Device & Board Settings、EDA Tool Settings,最后是Summary汇总页。建议在创建前先规划好目录结构,例如:

D:\fpga_projects\led_blink\
├── led_blink.qpf          // Quartus工程文件
├── led_blink.qsf          // 工程设置(器件、引脚、源文件)
├── rtl\                   // 设计源文件
│   └── led_blink.v
├── constraints\           // 约束文件
│   └── led_blink.sdc
└── output_files\          // 编译输出(sof、fit.rpt等)

在向导第二页需要填写三项:工程目录(Project directory)、工程名(Project name)、顶层实体名(Top-level entity)。工程名建议与顶层模块名一致,避免大小写混用;顶层实体名必须与Verilog/VHDL中顶层模块名完全一致,否则编译时会报“Top-level entity not found”。工程目录不要放在中文路径或含空格的路径下,否则部分EDA工具调用会失败。

二、器件型号选择:Family、Device、Package、Speed Grade

器件选择是工程配置中最关键的一步,它直接决定可用逻辑资源、引脚数量、封装形式、速度等级以及支持的IP核。在向导的 Family, Device & Board Settings 页面,需要依次确定:

  • Device family:如Cyclone IV E、Cyclone 10 LP、MAX 10、Arria 10等。教学与入门常用Cyclone IV E或Cyclone 10 LP。
  • Device name:如EP4CE6E22C8,其中EP4CE6表示Cyclone IV E系列约6272个逻辑单元,E22表示EQFP-144封装,C8表示商业级速度等级8。
  • Package:封装类型,如EQFP、FBGA、UBGA,影响可用I/O数量。
  • Speed grade:速度等级,数字越小越快(如C6快于C8),影响时序收敛难度和功耗。
  • Core voltage:核心电压,通常为1.2V或1.1V,由器件决定。

选择器件时,应遵循“资源够用、封装匹配开发板、速度等级满足时序”的原则。例如开发板使用EP4CE6E22C8,则工程中必须选择完全相同的型号,否则引脚分配文件(.qsf)中的引脚号可能不存在,导致布局布线失败。若不确定开发板型号,可查看板卡丝印或原理图,确认FPGA的具体型号与封装。

如果工程需要迁移到另一块开发板,只需在Assignments → Device中重新选择器件,但引脚约束需要同步更新,否则会出现“Pin not found”错误。

三、EDA工具设置:仿真、综合与形式验证

Quartus Prime支持调用第三方EDA工具完成仿真、综合和形式验证。在向导的 EDA Tool Settings 页面,可以按类别配置:

类别工具选项典型用途
SimulationModelSim-Altera、ModelSim、VCS、Riviera-PRO等功能仿真与时序仿真
SynthesisPrecision Synthesis、Synplify Pro等替代Quartus自带综合
Formal VerificationConformal LEC、Formality等RTL与网表等价性检查
Timing AnalysisPrimeTime、Tempus等签核级时序分析

对于初学者和大多数教学项目,仿真工具选择 ModelSim-Altera 即可,它随Quartus Prime免费提供,且与Quartus工程无缝集成。综合工具保持默认的 Quartus Prime Integrated Synthesis,无需额外配置。形式验证和签核时序分析在入门阶段通常不启用。

配置仿真工具时,需要指定工具路径和可执行文件。例如ModelSim-Altera的路径通常为:

C:\intelFPGA\20.1\modelsim_ase\win32aloem

如果路径未自动识别,可在 Tools → Options → EDA Tool Options 中手动填写。配置完成后,在Quartus中执行 Tools → Run Simulation Tool → RTL Simulation 即可自动调用ModelSim并加载测试平台。

四、工程创建后的检查与常见问题

向导完成后,Quartus会生成.qpf和.qsf文件,并打开工程主界面。此时应检查以下几点:

  1. 在 Project Navigator 中确认顶层实体名与源文件一致。
  2. 在 Assignments → Device 中确认器件型号与开发板一致。
  3. 在 Assignments → Settings → EDA Tool Settings 中确认仿真工具已正确选择。
  4. 若已有引脚约束,通过 Assignments → Import Assignments 导入.qsf或.tcl文件。
常见错误:顶层实体名与工程名不一致、器件封装选错、仿真工具路径含中文或空格。这些都会导致编译或仿真失败,建议在向导阶段一次性确认。
Quartus Prime 新建工程向导核心配置流程 ① 工程基本信息(Directory, Name, Top-Level Entity) 工程目录 D:\fpga_projects\led_blink 工程名 / 顶层实体名 led_blink(必须一致) 路径要求 无中文、无空格 ② 器件型号选择(Family, Device & Board Settings) Device Family Cyclone IV E Cyclone 10 LP / MAX 10 Device Name EP4CE6E22C8 逻辑单元 / 封装 / 速度 Package EQFP-144 FBGA / UBGA Speed Grade C8(商业级) C6更快 / I工业级 Core Voltage 1.2V 由器件决定 ③ EDA工具设置(EDA Tool Settings) Simulation ModelSim-Altera RTL / 门级仿真 Synthesis Quartus Integrated 默认综合引擎 Formal Verification Conformal LEC 入门阶段可不启用 Timing Analysis PrimeTime / Tempus 签核级分析 ④ 工程生成与检查 .qpf 工程文件 记录工程基本信息 .qsf 设置文件 器件 / 引脚 / 源文件 顶层实体检查 与源文件模块名一致 器件一致性检查 与开发板型号匹配

完成上述配置后,工程即可进入RTL设计、约束编写与编译流程。工程创建虽然只是第一步,但它决定了后续所有环节的“基准坐标”——器件型号决定资源与引脚,顶层实体决定综合入口,EDA工具决定仿真与验证方式。把这一步做扎实,后续的编译报告和时序分析才有可信的参照。