
干FPGA开发的人八成都有过这种经历电脑上明明装好了Quartus II 13.0新建工程到选器件那一步直接傻眼列表里翻来翻去找不到MAX II、MAX V连MAX 3000A、MAX 7000AE也没有编译的时候更是直接报错说找不到对应的器件库。尤其是手头正好有一个CPLD的小活物料都买好了卡在工具这一步别提多折腾。这篇文章就把Quartus II 13.0下MAX系列器件库的来龙去脉讲透——为什么你会缺这个库、网上那些免费下载文件到底怎么用、装完怎么验证以及使用过程中顺带踩过的授权、AD库对照、AS配置模式等几个常见坑。不管是刚入门的学生还是常年跟CPLD打交道的硬件工程师都可以当个参考资料翻一翻。1. 为什么你找的MAX系列器件库总是装不上先说说我自己的经历。当时做一块控制板上面有一颗EPM570MAX II系列电脑上装的是Quartus II 13.0安装包还是从同事那边拷来的完整版本。装完启动一切正常结果建工程选器件的时候傻眼了Family下拉列表里只有Cyclone、Stratix这些FPGA大系列MAX II、MAX V、MAX 3000A、MAX 7000AE整个都不在列表里。当时第一反应是我是不是装了个精简版后来才发现问题往往出在安装阶段勾选器件组件那一步——很多人为了省硬盘空间或者安装时根本没注意到Device选项把MAX系列库漏掉了。这个问题比你想象的普遍。网上流传的各种Quartus II 13.0免费下载压缩包有的是完整安装包有的其实只是基础程序不带任何器件库还有些是只包含Cyclone库的定制包。你在论坛里翻到的MAX系列器件库文件本质上就是Altera发布的独立器件库压缩包理论上解压后放进指定目录就能用但因为路径层级、库版本、授权模式的问题很多人怎么装都识别不了。另外还有一个特别常见的坑把Quartus II 13.0和13.1、还有后来改名的Quartus Prime版本搞混。搜quartus ii 13.0器件库下载的时候结果里有一半是13.1甚至别的软件的。工程软件界版本号重名特别严重比如RAD Studio 13.0和Quartus 13.0完全是两码事搜的时候带上AlteraMAXqdirs这些限定词效率会高很多也不容易下错东西。1.1 先搞清楚你的Quartus是哪个版本、哪种授权Quartus II 13.0这个版本发布的时间比较早那时候Altera的命名规则和现在不一样。它分成Web Edition网页版和Subscription Edition订阅版两条线Web Edition免费但支持的器件范围有限主要覆盖中低端器件MAX II、MAX V这些主流CPLD都在支持范围内。Subscription Edition收费需要License文件面向企业级项目支持所有器件系列。如果你的目标是跑一个MAX系列的CPLD小项目Web Edition完全够用。需要特别注意的是器件库文件的版本必须和你主程序的版本一致。13.0的工程文件如果放了13.1的器件库或者反过来轻则编译报错重则软件启动阶段就崩。这个问题在手动放置库文件的时候尤其容易出现后面第3章会细说。1.2 别被网上的免费下载文件带偏网上搜这个标题大概率会看到各种网盘链接、压缩包、甚至所谓永久免费版的破解文件。我建议你先做一个判断你拿到的到底是完整安装包还是单纯缺了MAX系列的器件库区分方法其实很简单如果Quartus本身能启动能新建工程只是在器件列表里找不到MAX系列那你缺的是器件库组件。如果软件连启动都报错或者启动后工程向导都打不开那问题在主程序跟MAX库没关系。确定缺的是器件库之后优先考虑用原安装包增量安装这个最安全。实在找不到原安装包了再考虑手动放置器件库的方式。这两种方法都会放到第3章讲你先别急着解压网上那些来路不明的压缩包——很多压缩包里塞了旧版本的库文件或者目录结构不对放进去反而把原本正常的安装搞坏。2. 装库之前版本匹配这四件事最好一次看清楚老版本的EDA工具最怕出现代码写得挺好的结果工具链崩了的情况而工具链崩的根源里版本不匹配占了一大半。尤其Quartus II 13.0已经是很久以前的软件了各种版本交叉组合特别多。装MAX系列库之前以下四件事我建议你花两分钟核对清楚能少走很多弯路。2.1 13.0的两种发行版器件库范围完全不一样Quartus II 13.0的Web Edition免费版和Subscription订阅版除了授权方式不同支持的器件列表也有差异。具体到MAX系列Web版覆盖MAX II、MAX V、MAX 3000A、MAX 7000AE这些常用系列对多数CPLD爱好者来说已经足够。但如果你手头是比较老的MAX 7000S或MAX 9000系列Web版可能压根不支持这时候要么找完整的Subscription版本要么换个新器件重新设计。更关键的是器件库在安装时的组件选择界面里是可勾选项。安装包默认可能只勾了Cyclone等热门系列MAX系列默认未勾选。很多人一路Next装完根本不知道自己漏了什么。进设备列表看不到MAX器件第一反应往往是怀疑软件坏了实际上只是安装时的组件选择问题。2.2 MAX系列到底包含哪些芯片别选错家族MAX这个品牌下其实有好几代产品随便说说就有这么几个家族器件系列典型型号逻辑资源常见封装备注MAX IIEPM240、EPM570、EPM1270、EPM2210240~2210个逻辑单元TQFP、FBGA最常用价格便宜适合小逻辑MAX V5M40Z、5M80Z、5M160Z、5M240Z、5M570Z、5M1270Z等40~2210个逻辑单元TQFP、QFN、FBGA低功耗3.3V/2.5V/1.8V供电MAX 3000AEPM3032A、EPM3064A、EPM3128A、EPM3256A、EPM3512A32~512个宏单元PLCC、TQFP5V/3.3V混合系统常用MAX 7000AEEPM7032AE、EPM7064AE、EPM7128AE、EPM7256AE32~256个宏单元PLCC、TQFP老设计里常见注意停产风险如果你在Quartus的器件列表里看到的是MAX II想选EPM570别选成MAX V的5M570两者虽然名字像但封装、IO电压、引脚定义都不一样。器件系列选错会导致引脚分配完全对不上板子做出来就是废的。2.3 32位和64位程序、安装路径的坑Quartus II 13.0这个年代的软件对操作系统的位数比较敏感。我记得13.0时代Altera提供了32位和64位两个版本的程序包如果你电脑是64位Windows装了32位版本的程序运行倒没什么大问题但加载大型工程时偶尔会有内存报错。建议能装64位就装64位MAX系列这种小规模的CPLD工程还好JIC、SOF这些文件处理起来也稳定一点。安装路径方面老规矩不要放在带中文、带空格的路径下。很多人图省事直接C盘根目录那没问题。但如果你用了D:\软件\Quartus 13.0...这种路径后续和ModelSim联调、跑Tcl脚本、调用命令行工具都容易出各种莫名其妙的报错。这个跟器件库本身关系不大但确实是老工具常见的隐性坑。3. 器件库安装的两种可靠路径手把手走一遍确认你的Quartus II 13.0版本没问题之后就可以动手装库了。我推荐两种方式第一种最稳第二种最灵活你根据自己的情况选。3.1 方式一用安装包增量添加最稳也最省事如果你手里还有当时安装Quartus II 13.0的那个安装包这是首选方案操作也最简单找到安装包里的Setup程序右键以管理员身份运行。安装界面会进入维护模式选择Modify修改而不是重新安装。在功能列表里找到Devices或Device Families把MAX相关的选项勾上。继续下一步完成安装最后重新启动Quartus。这套流程走完Quartus会自动把MAX系列器件的定义、编译器支持、下载支持全部装好版本是严格匹配的完全不需要考虑手动放库的路径问题。有个小提醒增量安装同样需要关闭正在运行的Quartus和ModelSim否则文件被占用安装程序可能会跳过部分文件最后又变成不完整的库。3.2 方式二手动放置器件库文件效率最高如果安装包已经找不到了或者你只想用别人拷贝过来的器件库文件夹那就走手动放置这条路。Quartus II在安装根目录下有一个专门管理器件库的目录通常在quartus\qdirs下。以我的电脑为例完整路径是C:\altera\13.0\quartus\qdirs。这个目录下每个器件系列对应一个文件夹比如cyclone、stratix、max等等。手动放置的步骤如下关闭Quartus II和所有关联进程。打开qdirs目录确认现有的文件夹结构。把下载到的MAX系列库文件夹放进qdirs目录下。注意文件夹名要符合Quartus的识别规则一般是max、maxii、maxv这种具体看你下载的文件内容。如果下载的文件名是max_ii进去之后里面还有一层文件夹就需要把内层内容放到外层保证最终qdirs下直接是该系列的库文件而不是套娃结构。重新启动Quartus II。启动之后新建工程时再去器件列表里看MAX系列应该已经在列表里了。如果还是看不到多半是路径层级不对或者库文件夹版本和Quartus版本不匹配。3.3 装完库之后的初始化细节无论是增量安装还是手动放库装完之后的第一次启动都有几个值得注意的点启动Quartus后会进入正常界面不会出现任何新库已安装的提示。你可以在Tools菜单中选择Options然后在相关页面里查看器件系列的支持情况确认MAX系列是否出现在列表里。如果之前打开过工程建议先关掉再重新打开不然有可能因为工程文件里记录的器件信息和新库状态不一致导致编译时还是要重新识别器件。另外手动放置库文件这种方式在以后卸载或重装Quartus时容易被遗忘。我自己的习惯是在硬盘上单独建一个altera_libs目录把下载过的器件库压缩包和版本说明都保存起来等需要的时候再解压。这样即使软件重装了也可以快速恢复库环境。4. 库装完怎么验证别等工程做到一半才发现有问题装完库不代表真的能用了。很多人在新建工程的时候看到器件列表里有MAX选项就以为万事大吉结果编译到一半才发现Pin Planner里没有引脚可用或者下载器连不上目标芯片。我的建议是装完库之后立刻用一个最小工程做一次完整验证。4.1 新建工程三步检查法新建工程的步骤大家都会我重点说哪几步一定要看仔细第一在新建工程向导的Family下拉框里确认能直接看到MAX II、MAX V、MAX 3000A、MAX 7000AE这些选项。如果列表里还是只有Cyclone和Stratix说明库没装上或者没被识别。第二选择具体器件型号时输入框支持按名称过滤。比如你输入EPM570应该能过滤出对应型号。这一步能检查器件数据库是否完整如果能选型号但列表里信息残缺比如缺失引脚数不完整那说明库文件有问题。第三在后续的EDA Tool Settings界面如果设置了别的EDA工具关联确认版本兼容。这里和MAX库本身没关系但很多人忽略到了布局布线阶段才发现工具链对不上返工成本特别高。4.2 用最小工程跑一次完整编译我通常用一个几行的Verilog文件做编译验证代码简单编译速度快能覆盖从分析综合到布局布线的完整流程。下面是一个经典的例子module max_test( input btn_1, input btn_2, output led ); assign led btn_1 btn_2; endmodule新建工程时芯片选EPM570T100C5然后编译。编译顺利结束的话输出的.pof文件就是MAX II器件最终的编程文件。这一步能确认编译器能正确调用MAX系列的器件资源。引脚分配可以正常编辑。后端工具能生成正确的烧录文件。如果编译后只是在软件界面里能看到器件型号但生成.pof失败那只能说库文件的核心部分可用但烧录相关组件缺失问题依旧存在。4.3 常见报错与应对把平时用户问得最多的几个报错整理成表格方便你对照排查报错信息可能原因解决办法Cannot find device family MAX II库未安装或未识别重新执行增量安装或检查qdirs目录结构Device EPM570T100C5 is not supported器件型号不在当前版本支持范围确认型号后缀部分老封装在13.0中不受支持Cant find the device library库版本不匹配卸载手动放置的库改用原安装包增量安装Error: Bad license / License not valid授权问题详见第6章检查License配置或改用Web版Error (209000): Device not found下载线连接问题检查USB-Blaster驱动和JTAG连接还有一个隐藏坑如果你装的库版本是13.1的而主程序是13.0新建工程时可能能看见器件系列但编译时会报internal error或者数据库异常。遇到这类情况优先把库版本换回13.0别偷懒。5. 从AD原理图到Quartus工程MAX器件映射对照怎么做做硬件的朋友都知道画原理图用Altium DesignerAD的占多数所以在AD里找到对应的MAX器件库也是高频需求。尤其网上很多人搜ad中元器件库对照表本质上是想把AD里的库文件、封装、引脚和Quartus里的器件对应起来。这块我单独写一个小节讲透。5.1 AD库里找不到MAX器件怎么办AD自带的库对Altera老器件的覆盖程度比较随机。新装的高版本AD可能在Libraries面板里直接搜EPM240就能出来但老版本或者精简版AD搜起来就十分费劲。我常用的办法有几个优先在AD的库搜索框里直接输入型号核心词比如EPM240、EPM570、5M240Z看看是否有可用的原理图符号和封装。如果没有去Altera官网或芯片供应商页面下载对应器件的BSDL文件、封装图用Ultra Librarian或AD自带的Library Wizard手工生成。第三种是直接找同封装的通用库改比如EPM570T100用的是TQFP100你找一个现有的TQFP100封装替换引脚名效率也还可以。老实说给这些老器件做库很容易踩坑。我一个朋友在AD里找了半天没找到EPM1270后来发现AD库里有EPM1270F256但原理图符号里引脚的命名规则和Quartus不一致导致网表导入后Pin Planner里一排引脚飞线。所以做完库后最好对照官方Pin Alias表核对一遍。5.2 常用MAX器件的封装引脚对照下面这个表是我平时用得比较多的几个MAX II器件和常见封装的对应关系做PCB选型的时候可以直接参考器件型号逻辑单元封装用户IO数量典型EPM240T100240TQFP10080EPM570T100570TQFP10076EPM570T144570TQFP144116EPM1270T1441270TQFP144111EPM2210F2562210FBGA256204如果设计里选了FBGA封装画原理图和PCB的时候要特别注意这些BGA封装的引脚名和逻辑引脚分配不一定完全对应需要以Quartus Pin Planner里导出的引脚表为准。BGA器件在调试的时候还有个麻烦就是飞线不好飞一旦引脚分配错误很麻烦。5.3 器件映射对照表的具体做法我在项目里积累了一套快速做法分享出来供你参考在Quartus中新建工程并选择目标器件。使用Assignments - Pin Planner可以看到该器件的所有引脚列表。导出这些引脚列表为CSV文件里面包含了引脚编号、引脚名称、电压组等信息。在AD的原理图中把每个I/O引脚的网络名整理成相同的命名规则。再通过AD的Netlist或Pin脚表和Quartus导出的CSV做一次比对确保没有漏掉的引脚或网络。这样做的目的是保证原理图里的信号名称和Quartus里Quartus的约束文件完全一致。CPLD这类小器件虽然引脚少但一旦在AD里画完原理图等到Quartus里编译报IO错误来回改的沟通成本远高于事先多花十分钟核对。6. 同一个坑里爬出来的经验授权、AS模式和其他坑最后这部分属于碎碎念都是我在实际使用Quartus II 13.0时踩过、也帮别人解决过的典型问题和MAX系列器件库的安装使用关系很大顺带写在一起方便你以后遇到类似状况时查。6.1 Web版授权问题其实不需要折腾网上搜quartus ii 13.1认证问题解决很多都是说License文件不对、软件启动不了。这里给你吃个定心丸如果你用的是Web Edition正常情况下不需要任何复杂的授权文件。启动软件后在Tools - License Setup里清空所有License路径软件就会以免费模式运行支持Web版对应的器件范围。如果你手上有Subscription版的License文件也不要随便放进去。订阅版License通常绑定一个网卡的MAC地址换电脑或者更新网卡驱动后License会失效于是出现认证问题。哪天把License删了反而不报错了就是这个原因。MAX系列的CPLD工程如果器件在Web版支持范围内完全没有必要折腾订阅版授权。把心思花在代码上更值得。6.2 AS配置模式和MAX器件到底什么关系很多人搜quartus ii的as模式时会把AS和MAX系列联系起来这里我解释一下免得你被绕晕。AS全称Active Serial是FPGA的一种配置模式主要用于SRAM工艺的FPGA芯片比如Cyclone系列。这种FPGA上电后需要从外部配置芯片EPCS读取配置数据配置模式就分为AS、PS、JTAG等几种。MAX系列CPLD是Flash架构数据存储是非易失的程序烧进去之后上电就能跑压根不需要配置芯片所以也不存在AS模式。那为什么总有MAX相关讨论里出现AS模式呢因为在很多板卡上工程师会用一颗MAX II/MAX V作为配置管理器由MAX器件管理FPGA的配置时序比如在特定时刻给FPGA发送配置数据或者控制多个FPGA的上电顺序。这种情况下你会在FPGA工程里把Configuration Mode设置为Active Serial同时用MAX器件的引脚去控制EPCS的时钟和数据线。所以如果你手上是纯MAX系列的CPLD项目不需要关心AS模式如果你在做的板子里同时有MAX和FPGA那AS模式就得好好看否则FPGA上电后可能不干活。6.3 USB-Blaster驱动和旧版本在Win10/11上的兼容Quartus II 13.0在Windows 10/11上运行最典型的问题就是USB-Blaster下载器不被识别。原因是Windows更新后的驱动签名策略变了而13.0自带的USB-Blaster驱动还是老签名。解决办法是在设备管理器里找到未知设备或带感叹号的USB-Blaster。选择更新驱动程序然后手动指定驱动位置。定位到C:\altera\13.0\quartus\drivers\usb-blaster目录。选择对应版本的INF文件安装。如果装驱动时提示签名问题可能需要临时关闭驱动程序强制签名或者使用兼容性模式重新运行驱动安装程序。装好驱动后再打开Quartus的Programmer正常情况下就能识别到USB-Blaster并找到JTAG链上的器件了。另外老版本Quartus在Win10/11上偶尔会有界面渲染异常、字体模糊、点击无响应之类的小毛病。我遇到最多的是命令行工具启动失败和ModelSim联调报错。多数时候右键程序图标选择属性-兼容性-以Windows 7兼容模式运行再勾选以管理员身份运行问题就解决了。这个经验同样适用于13.1以及更早的Quartus II 9.0、10.0等老版本。我在实际使用中的体会是Quartus II 13.0搭配MAX系列器件是一个非常稳定且成本很低的组合特别适合CPLD小项目、教学实验、以及产品初期的逻辑验证。只要把器件库的版本匹配和授权模式理顺这套老工具还能踏踏实实再战很多年。如果你在安装或使用过程中遇到其他奇怪问题按照上面几章的排查思路走一遍多数情况都能定位到具体原因。实在解决不了回到本章的兼容性思路试试往往就是驱动、路径、版本这三个老生常谈的问题。