ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Quartus器件库缺失怎么办?从安装到排查的完整指南

Quartus器件库缺失怎么办?从安装到排查的完整指南 刚接触Quartus的兄弟十有八九都遇到过同一件糟心事软件装好了双击图标进去了新建工程的时候想在Device里选个芯片结果列表里空荡荡的或者只有那么几个型号自己想要的那颗Cyclone IV、MAX II怎么翻都翻不到。更离谱的是有时候从同学那儿拷来一个工程打开直接报个“Device not found”或者一片红根本编译不了。这问题的根子基本都出在器件库上。很多人把“装Quartus”理解成“点一下Setup.exe等进度条跑完就完事”但实际上Quartus的安装包里器件库和主程序是分开管理的。你装的时候没选对应的器件支持或者装的是精简版、后来的Lite版那软件里自然找不到对应芯片。这篇文章就把“Quartus器件库”这件事彻底讲透内容包括器件库到底是什么、存在哪个目录、添加的几种方式、不同版本Quartus II 13.0/13.1、Prime 18.1/20.1等的具体操作差异以及我这些年踩过的坑和排查经验。无论你是上课做实验的大学生还是刚开始用FPGA做毕设、做小项目的工程师这篇都能帮你省下半天瞎折腾的时间。1. 先弄明白Quartus的“器件库”到底是个什么东西1.1 器件库不是原理图库别搞混了用Altium Designer画原理图的时候我们也会说“加载元器件库”那个库是芯片的原理图符号和PCB封装。但Quartus里的“器件库”完全是另一码事——它是目标FPGA芯片的描述文件集合包含芯片的引脚定义、逻辑资源数量、封装信息、配置位流生成规则、时序模型等。简单说Quartus要根据这套描述把你写的Verilog/VHDL代码变成能在真实芯片上运行的配置文件也就是.pof或.sof文件。如果你没有某个器件族的库Quartus在综合、布局布线阶段就不知道该按什么规则来映射逻辑单元更不知道芯片的引脚长什么样自然没法干活。所以添加器件库本质上就是“告诉Quartus我要支持哪些型号的芯片”。1.2 器件库在安装目录里的具体位置以Windows环境为例Quartus安装完成后器件库相关文件主要位于安装路径下的devices文件夹比如C:\altera\13.1\quartus\devices\ C:\intelFPGA_lite\18.1\quartus\devices\在这个目录下面你会看到一堆以器件族命名的子文件夹比如cycloneiveCyclone IV、maxiiMAX II、cyclone10lpCyclone 10 LP等。每个文件夹里存放着对应器件族的*.qdz压缩包、*.pin引脚文件、*.bsf符号文件等。当你新建工程选择芯片时Quartus就是去扫描这些目录然后把这些型号列出来给你选。另外还有一个相关位置C:\altera\13.1\quartus\eda\sim_lib这里面放的是器件仿真模型比如cycloneive_atoms.v、220model.v这些是给ModelSim做仿真用的。严格说这不算“器件库”的范畴但如果你仿真时提示找不到仿真模型往往也是这个目录出了问题。1.3 为什么别人装完就有你装完就没有这是新手最容易懵的地方。同样是从官网下载的安装包为什么有的人装完Device列表里Cyclone IV、MAX II、Stratix全都有你的就缺胳膊少腿核心原因是Quartus安装界面里有一个器件选择的步骤不同版本叫法略有差异但本质一样——让你勾选需要安装的器件族。很多人在这一步直接一路Next没有去展开列表勾选或者只勾了默认项那安装出来的自然就只有默认器件支持。另外Quartus的版本和Edition版本类型不同默认支持的器件范围也不一样Quartus版本主要支持的器件范围器件库安装方式Quartus II 9.0/9.1Cyclone、Cyclone II、MAX II等老器件安装时可选支持后续添加Quartus II 13.0/13.1Cyclone IV、MAX V、Cyclone V等兼顾老器件安装界面有“Add Devices”功能Quartus Prime Lite 18.1/20.1Cyclone IV、Cyclone 10 LP、MAX 10等免费器件安装时可选Tools菜单可补装Quartus Prime Standard/Pro面向中高端器件部分需要License安装时可选器件库更全举个例子Quartus Prime Lite版本是免费版Intel官方只允许它支持一部分相对低成本的器件Cyclone IV、Cyclone 10 LP、MAX 10所以哪怕你把安装包里的所有选项都勾上它也不支持Stratix 10这种高端芯片——这是授权策略决定的不是操作问题。而Quartus II 13.1这种老版本支持范围反而很广所以国内很多高校至今还在用它来带实验课。2. 添加器件库的三种主流方式2.1 安装阶段就选好器件最省事如果你还没安装Quartus或者准备重装那么在安装过程中多花两分钟把器件库勾选好是成本最低的做法。以Quartus Prime 18.1为例安装向导运行到“Select Components”这个步骤时界面里会有一个“Device”相关的下拉选项或勾选列表。老版本Quartus II 13.1则是在“Select Device Families”这一步把你要用的器件族打上勾。这时候别偷懒把Cyclone系列、MAX系列这些常用的一并勾上。需要注意勾选的器件族越多安装包解压出来的文件量越大安装时间也越长硬盘占用可能多出好几GB。但比起后面缺库再补救这个时间花得值。2.2 安装完成后用Tools菜单补救推荐很多人装完才发现缺器件其实Quartus自带的图形界面是可以补装器件库的。在Quartus II 13.0/13.1版本中打开软件后点击菜单栏的Tools下拉菜单里有个Install Devices。点击后它会弹出一个窗口让你选择要添加的器件族然后它会把安装介质光盘镜像或安装包解压目录里的器件数据解压到devices目录。如果你下载的是官网的“Device”单独安装包也可以在这个界面里指定那个文件的路径来完成安装。在Quartus Prime 18.1及之后的版本中这个功能依然存在Tools - Install Devices。用这个方式添加器件库不需要重新安装整个Quartus也不用重新破解License只是把缺少的器件文件补上非常实用。这里有一个关键点使用Install Devices补装时Quartus可能会要求你提供安装源路径。如果是用光驱或ISO镜像安装的就把镜像重新挂载并指定到那个盘符如果是解压安装包安装的就指定到解压目录。我就是因为安装完把下载的压缩包删了后来补装时还得重新下载一遍非常被动。所以提醒各位安装包先留着确认器件库齐全再清理。2.3 手动拷贝别人电脑上的器件库应急但要注意版本还有一种野路子直接从同事或同学的电脑里把devices文件夹整个拷过来覆盖到自己电脑上。这个方法在应急时确实能解决问题但有两个前提条件第一对方的Quartus版本必须和你一致。Quartus 13.1的器件库文件格式和18.1是不同的混用会导致软件识别异常甚至打不开工程。第二拷贝时尽量只拷贝你缺失的器件族子文件夹不要整个devices目录直接覆盖以免把对方版本特有的文件结构带过来反而弄巧成拙。我曾经图省事把别人13.1的cycloneive目录整个拷到自己的Prime 18.1里结果打开工程后Cyclone IV能看了但编译时报了一堆奇怪的错误最后发现是devices目录下的device5x0.atd这种索引文件版本对不上。所以拷贝只能救急正规做法还是用Install Devices。3. 实操过程给Quartus添加器件库的完整流程下面我以最常见的场景——Quartus Prime Lite 18.1添加Cyclone IV器件库为例把完整步骤拆开讲。其他版本大同小异思路完全一致。3.1 第一步确认自己到底缺哪个器件库别一上来就盲目安装先看看你缺的到底是哪个器件的支持。打开Quartus新建一个工程或者打开已有工程在Assignments - Device对话框里看左边“Device family”列表。如果列表里压根没有Cyclone IV这个选项说明Cyclone IV的器件库没装如果列表里有Cyclone IV但右边的“Available devices”空空的一个型号都选不出来也可能是器件数据没解压完整。还有一种情况打开别人工程时报错Error (119013): Device family Cyclone IV E is not supported。这种就直接说明当前软件没有对应器件族的支持数据需要补装。3.2 第二步用Tools - Install Devices补装在Quartus Prime 18.1菜单栏点Tools - Install Devices。弹出的窗口会列出当前可安装的器件族和对应的安装状态已经装好的会打勾没装的可以勾选。勾选你需要的“Cyclone IV”后点击“Next”或“Install”软件会弹出让你指定安装路径的对话框。这里要注意这个对话框让你找的不是Quartus主程序安装包而是你当初下载的Quartus安装包解压目录或者单独的器件库安装包文件名一般类似cyclone-4-1.0.2.qdz。如果你下载的是Intel官网那个几百MB到1GB多的“Device”独立包也可以在这里直接浏览选择那个文件。选定后Quartus会开始解压安装过程一般几分钟到十几分钟取决于器件族大小和硬盘速度。安装完成后它会提示你重启Quartus。这时候再去Assignments - Device里看Cyclone IV系列已经出现在列表里了可以正常选择EP4CE6、EP4CE10、EP4CE22这些具体型号。3.3 第三步验证器件库是否真的可用光能在Device列表里看到芯片还不够我建议你走一遍完整的小流程验证新建一个工程随便选一个之前缺的器件型号写几行最简单的Verilog代码比如把时钟引脚连到一个LED输出上执行全编译Start Compilation如果编译通过且能正常生成.sof配置文件说明器件库已经完整实际测试中我发现有时候器件列表能显示但编译到一半突然报错Error (18500): Cant fit design into device或者Error (176xxx): 某某 primitive is not supported这就不是器件库缺失而是你选的芯片型号太入门、资源不够或者代码里用了该器件不支持的硬件原语。这个后续再说至少第一步能编译通过就说明器件库没问题了。3.4 不同版本Quartus添加器件库的差异整理考虑到很多人手上用的版本五花八门我把常见几个版本的操作差异整理成一张表方便对照版本添加器件库入口关键注意事项Quartus II 9.1安装向导勾选菜单Tools - Install Devices部分版本没有老版本对Cyclone II、MAX II支持好但对新器件支持差Quartus II 13.0/13.1Tools - Install Devices很多国内实验箱配套版本破解文件要对应好Quartus Prime 18.1 LiteTools - Install DevicesLite版仅支持部分免费器件高端器件装不了Quartus Prime 20.1 LiteTools - Install Devices默认支持Cyclone 10 LP、MAX 10等需要Cyclone IV需单独装Quartus Prime Standard/Pro安装时选择Tools可补装需要License支持否则部分器件编译受限我自己用下来最大的感受是版本越新对老器件的支持越差。Quartus Prime 18.1虽然也能装Cyclone IV但英特尔官方已经将Cyclone IV列入了“停产的成熟器件”新版本里连单独的器件库下载入口都不好找。如果你手头是Cyclone II甚至更老的器件那真的只能老实用Quartus II 13.0/13.1或者9.1。4. 常见问题与排查技巧实录4.1 器件库装好了但打开工程还是报错有次一个学弟问我他按我的方法用Install Devices装好了Cyclone IV新建工程选芯片都没问题但一打开老师给的工程就报错Error (12007): Top-level design entity xxx is not defined。这个问题和器件库没关系纯粹是工程里指定的顶层文件不在或者工程路径包含中文、空格导致的。遇到这种情况别钻牛角尖先把工程路径全部改成英文字母再把顶层文件重新Add进工程就好。但如果报错类似Error (119006): Device EP4CE115F29C7 is not supported by the current license那问题就复杂一些——器件本身支持但License限制了。这种情况在Quartus Prime Standard版中比较常见Lite版一般不限制免费器件但如果你用的设计文件是破解版License有时候破解不完整就会触发这种授权错误。我的建议是学习用途尽量用Lite版配合MAC地址绑定生成License比网上流传的那些“全功能破解”稳定得多。4.2 Quartus Programmer打开文件卡顿的原因很多人编译完了想用Programmer下载.sof到板子上结果双击打开Programmer界面时卡顿半分钟甚至更久。这个我在帖子里看到很多次自己也遇到过。原因有几种一是Programmer默认会扫描所有JTAG链路如果你的下载器驱动没装好或者设备连了但没上电它会反复尝试握手导致卡顿二是电脑上USB设备太多驱动冲突三是Programmer和Quartus主程序的版本不对应。排查顺序建议先拔掉USB-Blaster单独打开Programmer看是否卡顿——如果不卡说明和硬件链路有关再把USB-Blaster插上但板子不上电看是否卡顿——还卡说明驱动有问题重装驱动最后确认Quartus安装路径里driver目录下的USB-Blaster驱动是否正常安装没用过自动更新帮倒忙一般重装一次驱动能解决九成问题。4.3 下载器驱动到底在哪个文件夹Quartus装好后USB-Blaster驱动并不需要单独去下载它就在安装目录里。以Quartus Prime 18.1为例路径是C:\intelFPGA_lite\18.1\quartus\drivers\usb-blaster\这里有几个子目录对应不同系统版本。Windows 10/11 64位系统用x64目录下的驱动文件在设备管理器里给“未知设备”手动指定到这个目录安装即可。注意别指望Windows会自动联网搜到驱动手动指定路径更靠谱。4.4 ModelSim仿真报错和器件库有没有关系很多人在Quartus里调用ModelSim做仿真结果ModelSim一启动就报Failed to link library或者一堆# ** Error: (vsim-3033)之类的错误。一部分原因是ModelSim版本和Quartus版本不匹配——Quartus II 13.1配套的是ModelSim-Altera 10.1dPrime 18.1配套的是ModelSim-Intel FPGA 10.5b版本差太多会导致编译仿真库失败。另一部分原因恰恰和器件库有关前面提到的sim_lib目录下存放的是器件仿真模型如果这个目录缺失或版本不对ModelSim在编译器件的仿真模型时就会失败。解决办法是重新运行Quartus安装程序在组件里勾选“Simulation models”或者在安装界面单独安装这个组件。这个和添加器件库是两码事但经常一起出问题我在这里一并提了。4.5 卸载不干净导致重装后依然缺器件这个是比较隐蔽的坑。有些人是下载了新版Quartus Prime后没有卸载旧版Quartus II 13.1结果新版安装器检测到旧版残留的注册表项选择不写入新的器件库路径导致装完新版本器件不全。另外Quartus默认安装路径如果和旧版本一致比如都是C:\altera\有时新的安装程序会跳过部分文件的覆盖造成新老文件混用。遇到这种情况建议先把旧版本通过控制面板的“卸载程序”卸载干净然后手动检查C:\altera或C:\intelFPGA目录是否还残留一并删除最后再安装新版。注意删除前备份好你的工程文件尤其是那些存在默认C:\altera\13.1\...下面的工程。4.6 常见问题速查表最后整理一个速查表方便大家收藏问题现象主要原因快速解决办法Device列表找不到某器件族器件库未安装Tools - Install Devices 补装打开工程报“Device family not supported”当前软件版本无此器件支持换用对应版本的Quartus或补装器件库器件列表有但具体型号为空器件库数据不完整/解压失败重新用Install Devices安装对应器件族Programmer打开卡顿USB-Blaster驱动异常或链路未上电重装驱动、给板子供电、单独测试下载时报“No hardware”下载器驱动未正确安装/被占用设备管理器手动指定驱动路径ModelSim仿真库编译失败sim_lib缺失或版本不匹配补装仿真模型组件检查ModelSim版本编译报License相关错误破解License不完整或器件不在授权范围使用Lite版配合正版免费License器件库这件事说难真不难但确实绕。装Quartus就像装修房子主程序是格局器件库是家具——格局定了家具得一件一件搬进来。我个人的习惯是新机器装Quartus时把能用到的器件族一次性全部勾选安装宁可多占几个GB硬盘空间也不想用到的时候再翻安装包。另外安装完第一时间去devices目录看一眼确认子文件夹都在心里才有底。最后再分享一个小技巧如果你的网络条件允许Intel官网支持单独下载每个器件族的“Device”文件包文件名通常是family-version.qdz。这比重新下载整个安装包轻量得多。下载后用Tools - Install Devices指定到这个文件就能完成添加不用再去挂载ISO镜像。多做一步确认胜过出问题时的百般折腾。
返回列表