
每年数字电路实验开课总有一批人栽在Quartus II的安装上。我给你交个底不是软件难装而是大部分人的安装路子不对。Quartus II作为Altera现在叫Intel FPGA的集成开发环境承担了Verilog/VHDL编写、综合、布局布线、时序分析、下载到FPGA板卡等一系列工作配合ModelSim做前仿真和后仿真就是数电实验的整套工具链。这篇博文以最常用的Quartus II 13.1为例从版本选型、环境准备、安装步骤、ModelSim联动到常见报错一次讲透。适合正在上数电实验课、被课程资料折腾到想摔电脑的新手也适合那种“全班只有你会装、天天被叫去修电脑”的工具人。我自己的经历可以说相当惨烈。大二那年第一次装Quartus什么都不懂照着网上一个14.0的教程硬装结果License对不上、ModelSim打不开、工程路径带中文直接编译报错折腾了整整两天。后来把13.1这个版本的安装、破解、联动、排障整个链路摸清楚了才明白原来绝大多数问题都是可以提前避开的。这篇文章相当于把我踩过的坑和后来帮同学排障的笔记一起整理了照着做基本能一次过。1. 动手之前先想清楚版本选型与坑位预警1.1 不同版本差异很大别随手下一个Quartus II版本多且杂13.0、13.1、15.0、17.1、Prime 20.1……新手最容易犯的错就是随便在网盘里拖一个版本下来然后对着一个不匹配的教程安装。课程资料一般会指定版本如果没指定我强烈建议选13.1。为什么是13.1三个原因一是它对教学用的Cyclone III、Cyclone IV系列FPGA支持非常成熟而绝大多数高校的数电实验箱用的就是这两代芯片二是13.1是Altera时代最后一个安装体验比较友好的大版本后续版本陆续开始换成Intel风格破解方式和组件路径都有变化三是13.1的网上教程一抓一大把遇到问题很好搜配套的ModelSim-Altera 10.1d也和它打包安装不需要单独折腾版本匹配问题。至于13.0和15.0我的建议是除非老师明确要求否则不要碰。13.0太老对Windows 10的兼容性一般15.0虽然能装但它的授权机制和13系列的破解方式不太一样很多教程写得不清楚容易把新手带沟里。记住一句话在数电实验这个场景下稳定压倒一切13.1是当前最优解。1.2 安装包与环境的3个隐藏前提下载Quartus II 13.1时你会看到它被拆成好几个压缩包动辄每个1~4GB。这是因为官方原版安装包是分卷压缩的不是让你像装普通软件那样直接解压完双击setup.exe。正确做法是把下载下来的所有压缩包放在同一个目录然后全选解压到当前文件夹系统会自动按顺序合并成完整的安装文件。如果只解压第一个包setup运行到一半就会报缺文件或者CRC校验失败。第二件事安装前关闭杀毒软件和Windows Defender实时防护。不是危言耸听Quartus II的注册机、破解补丁、license生成器这类工具几乎必然被杀软当木马处理。我见过有同学装完Quartus本体一切正常结果license文件被Defender隔离启动时直接报“License not found”排查半天找不到原因。建议安装和破解期间彻底退出杀软装完再把文件夹加入白名单。第三件事安装路径绝对不能出现中文最好连空格都不要有。这是个老生常谈但每年都有人踩的问题。Quartus的Tcl脚本、ModelSim的编译流程对路径编码非常敏感你装在“D:\软件\Quartus”这种路径下编译器的某个子命令就会因为无法解析中文字符而罢工。我自己的习惯是装到D:\altera\13.1这样的纯英文路径简单省事。2. 安装全流程实录从解压到界面首次启动2.1 启动安装向导与组件勾选细节解压完成后进入解压目录找到QuartusSetup-13.1.exe双击运行。强烈建议右键“以管理员身份运行”因为后续步骤要写环境变量、启动服务权限不够容易卡在奇怪的地方。安装向导会问你装32位还是64位版本64位系统直接选64位不需要犹豫。接下来的组件选择界面是第一个容易出错的地方安装器默认可能只勾选Quartus II本体而数电仿真需要ModelSim所以你必须手动勾选ModelSim-Altera组件。组件清单里一般包括Quartus II含时序分析、芯片编程器等、ModelSim-Altera Starter Edition、DSP Builder、MegCore IP等等。对于数电实验来说保留Quartus II和ModelSim-Altera就够了其余组件不是必选勾了只会让安装更慢。要注意ModelSim-Altera有Starter Edition和完整版之分实验用Starter Edition完全足够不需要额外折腾完整版。2.2 安装路径与安装过程的注意事项组件选好后进入路径选择界面。默认路径是C:\altera\13.1如果你C盘空间充裕保持默认也行如果想装D盘建议手动改为D:\altera\13.1。这里渗透着一个很重要的理念安装路径不仅要纯英文而且要让你自己能一眼找到。原因很简单后续配置ModelSim路径、设置环境变量都要用到这个路径你如果装在一个乱七八糟的深层目录里配置时很容易拼错。安装过程大概需要十几到二十分钟视电脑性能而定。期间你可能会看到命令行窗口闪来闪去这是Quartus在注册USB Blaster驱动、安装ModelSim组件属于正常现象别去关它。安装完成后桌面会出现三个图标Quartus II 13.1、ModelSim-Altera 10.1d、Quartus II Help。到这一步软件本体算是装好了但别急着打开License还没配直接打开会弹License错误。2.3 License配置环境变量与NIC号的坑Quartus II的授权机制是FlexLM需要你把课程提供的license文件通常是.dat格式放在某个路径下然后告诉Quartus去这个路径读取授权。实验课一般会提供专用的license文件按你实验箱上的网卡MAC地址生成所以要特别注意网卡识别这个环节。配置路径有两种方式。方式一右键“此电脑” - 属性 - 高级系统设置 - 环境变量新建系统变量LM_LICENSE_FILE值填写license文件的完整路径比如D:\altera\13.1\license.dat。方式二先打开Quartus II出现License弹窗时在弹出界面里点击“If you have a license file, specify the location of your license file”手动浏览选中license文件。两种方式效果一样我推荐用环境变量因为ModelSim也会读取这个变量配置一次两边都能用。这里有个大鱼很多同学的电脑装了VMware等虚拟机软件系统里有虚拟网卡。FlexLM的license是和网卡MAC绑定的如果授权文件按物理网卡生成而Quartus识别的是虚拟网卡LICENSE就会显示失效。解决思路是看license.dat文件里绑定的是哪个MAC地址然后在设备管理器里把对应的虚拟网卡禁用或者在Quartus的License Setup界面看它当前识别到的NIC号是不是和license文件一致。这个问题排查起来很隐蔽但出现频率极高。3. ModelSim仿真器安装与Quartus II联动配置3.1 为什么必须用ModelSim-Altera而不是普通ModelSim数电实验的流程一般是写完Verilog代码后在Quartus里做综合Synthesis然后调用仿真器验证逻辑功能是否正确。这一步调用的就是ModelSim。但要注意Quartus II 13.1配套的是ModelSim-Altera版它和普通ModelSim的区别在于Altera版内置了对Altera器件库的支持可以直接在后仿真时调用ALTERA的仿真模型普通ModelSim做后仿真时会因为找不到器件库而报一堆乱七八糟的错误。所以你在安装Quartus时勾选ModelSim-Altera组件安装完后会在安装目录下看到一个modelsim_ase文件夹这个就是Altera版的ModelSim。桌面那个ModelSim-Altera 10.1d图标就是它的启动入口。注意如果安装时没勾选ModelSim组件后面想单独补装会非常麻烦因为官方没有提供独立的ModelSim-Altera安装包你只能重装或者到处找分离包。这也是我刚才强调组件勾选的原因。3.2 EDA工具设置里的两个关键选项ModelSim装好后Quartus并不知道你装了它需要在Quartus里手动指定。打开Quartus II菜单栏找到Assignments - Settings在左侧列表里找到EDA Tool Settings - Simulation。这里有两个关键配置第一个是Tool name下拉框选择ModelSim-Altera。注意别选成Modelsim SE或者Modelsim DE版本对不上导出网表时可能出错。第二个是下方指定的可执行文件路径点开设置找到modelsim_ase文件夹里的win32aloem或win64aloem目录选中里面的modelsim.exe。如果你用的是64位系统建议选win64aloem目录里的modelsim64.exe启动更快内存占用也更友好。这个配置看似简单但很多人会漏掉。默认情况下Tool name可能还是None直接点Quartus的RTL Simulation按钮会报“Cannot launch ModelSim”或者“找不到可执行文件”。其实不是ModelSim坏了而是Quartus压根不知道要去找哪个程序。配置完成后你可以在Quartus里创建一个小测试工程写一段简单的Verilog然后点击工具栏上的仿真按钮通常是Processing - Start Simulation如果一切正常Quartus会自动拉起ModelSim并加载编译好的测试脚本直接在波形窗口里看到仿真结果。如果这一步跑通了Quartus和ModelSim的联动就基本建立起来了。4. 常见报错排查速查ModelSim启动失败与License异常4.1 报错速查表安装和首次启动阶段我把高频报错整理成了一个速查表方便你对应自己的情况快速定位报错现象常见原因解决思路“Cannot launch ModelSim”Quartus的仿真工具路径未配置或路径错误重新检查Assignments - Settings - EDA Tool Settings - Simulation确保路径指向modelsim_ase下的modelsim.exe“Error: FLEXlm License error”License文件路径未识别、网卡MAC不匹配或feature名称不支持检查LM_LICENSE_FILE环境变量确认当前NIC号与license.dat中绑定的一致用Quartus的License Setup窗口重新指向license文件ModelSim启动后闪退modelsim.ini损坏、有中文路径或者缺少必要的.dll以管理员身份运行检查安装目录是否纯英文重装ModelSim组件或拷贝同学的同版本运行库编译工程时报“Error (10170)”Verilog语法错误查看报错行号和文件名检查模块名是否与文件名一致、是否漏了endmodule仿真波形全是X或ZTestbench初始化问题或未给复位信号检查testbench中是否有初始激励复位信号时序是否正确USB Blaster下载找不到设备驱动未安装或占用在设备管理器中更新USB Blaster驱动路径指向Quartus安装目录下的drivers文件夹4.2 两个最容易被忽视的“隐形坑”第一个隐形坑是系统用户名包含中文。如果你Windows用户名是“张三”ModelSim在运行编译命令时会在用户目录下创建临时文件中文路径会直接被编译日志里的特殊字符搞崩报错千奇百怪。处理办法是新建一个纯英文的Windows管理员账户来跑Quartus和ModelSim或者在系统环境变量里把TEMP和TMP指到C:\temp这种纯英文目录。第二个隐形坑是后台进程冲突。有些同学装了盗版杀毒软件或者各种安全卫士它们的驱动级保护会拦截ModelSim的编译进程导致ModelSim能启动但一编译工程就崩溃。我的经验是不仅安装时要关杀毒运行Quartus和ModelSim这些CAD工具时也建议临时关闭或者把这些软件的安装目录加入白名单。Intel的编译工具本来就吃资源再被安全软件层层扫描不出问题才怪。还有一个细节值得提如果你多次尝试破解和配置License都失败可以试着删掉用户目录下的.ALTERA缓存文件夹通常位于C:\Users\用户名\.altera它有时候会缓存错误配置导致新的License设置不生效。删除后重启Quartus让它重新生成配置往往能解决莫名其妙的小问题。5. 安装完成后的第一个数电实验5.1 建工程、写代码、做仿真工具链整通之后推荐先跑一个最简单的实验验证Quartus和ModelSim的联动是否正常。流程是这样的新建工程工程路径和工程名都用英文。在File - New里选择Verilog HDL File写一个8位计数器或者一个简单的组合逻辑比如module led_demo( input wire clk, input wire rst_n, output reg [7:0] led ); always (posedge clk or negedge rst_n) begin if (!rst_n) led 8h00; else led led 1b1; end endmodule写完后先做一次Analysis Synthesis确认综合通过。这一步可以提前暴露代码里的语法错误也能让Quartus生成仿真需要的网表文件。然后新建一个Verilog Testbench文件实例化上面的led_demo模块加上时钟和复位激励module led_demo_tb; reg clk; reg rst_n; wire [7:0] led; led_demo uut( .clk(clk), .rst_n(rst_n), .led(led) ); initial begin clk 0; forever #10 clk ~clk; end initial begin rst_n 1b0; #50; rst_n 1b1; #200; $stop; end endmodule在Quartus里设置该testbench为仿真顶层然后点Processing - Start Simulation。正常情况下ModelSim会弹出来自动编译、运行并在波形窗口中显示led信号随时间递增的波形。看到波形的那一刻你的Quartus II环境就相当于彻底跑通了。5.2 关于实验环境的几个实用建议装完环境之后有几件事建议顺手做掉能给你整个学期省下大量时间。第一把Quartus和ModelSim的下载器驱动装好连接实验箱后第一次插USB Blaster系统会提示安装驱动路径指向Quartus安装目录下的drivers\usb-blaster即可别用Windows自动搜索驱动大概率搜不到。第二把常用的仿真库路径记下来后仿真时如果提示找不到altera_mf之类的库需要在ModelSim里映射Altera库路径到Quartus安装目录。第三有条件的话把自己写好的testbench模板、引脚分配文件.qsf或.tcl格式存成一个模板工程。以后每个实验都从这个模板复制改改代码就能用不用每次新建工程重新设置仿真选项和引脚。实验课上大家都在赶时间模板工程能帮你省下至少半个小时。第四遇到实在解决不了的问题优先在同班同学之间问。Quartus的报错信息虽然看起来吓人但九成都是那个固定的原因你身边一定有人遇到过并解决了。问的时候记得带上完整的报错截图和你的工程路径环境信息越完整别人越容易帮你定位。6. 最后一哆嗦给新手的几条经验操作环境这块我自己平时维护了好几个版本的Quartus想给你几条实在话。装Quartus II这种老牌FPGA开发工具核心思路是“版本统一、路径纯净、授权匹配”。版本统一是指软件版本和实验箱芯片型号、课程课件统一路径纯净是指安装路径、工程路径、系统用户名都不要有中文授权匹配是指license文件与你机器网卡绑定且环境变量配置正确。这三个点抓好你踩坑的概率会直接下降八成。如果你实在装不上也别死磕。有的情况是安装包本身损坏重新下载一遍就好了有的是Windows系统补丁冲突换个电脑或者用虚拟机反而更快。实验课的核心是掌握数字电路设计和FPGA开发流程工具只是载体千万别被工具本身卡住导致实验做不完。最后再分享一个小技巧当你成功配好环境、跑通第一个仿真之后建议你打开Quartus的Help菜单里的“Tutorials”里面有一个针对新手的FPGA工程入门教程配合你自己的工程操作一遍对理解Quartus的工程组织、引脚分配、时序约束这些概念会有很大帮助。这些概念在数电实验课上不一定讲得很细但你早晚会用到的。