尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Vivado重装全指南:从版本选型到JTAG驱动排查

Vivado重装全指南:从版本选型到JTAG驱动排查 1. 重装 Vivado 之前先把版本选型这件事想透手里这块 FPGA 开发板放了几个月最近翻出来想接着做项目结果打开电脑一看之前装的 Vivado 2019.1 早就不知道什么时候被清理掉了。更尴尬的是当时是用公司配的 Windows 机器装的现在换成了自己的笔记本整个工具链都需要从头来过。很多人一上来就直接去官网点下载装到一半才发现版本不匹配、许可证过期、文档工具和 SDK 组件缺失然后又开始返工。我在这个环节上踩过好几次坑所以先把选型这个事说透。1.1 先确认你手里的芯片型号再选版本这是整个重装过程中最重要的一步没有之一。Vivado 不同版本对器件支持差别很大老版本往往不支持新出的芯片新版本又可能对旧型号的支持不够完整。比如你手里的板子是Artix-7、Kintex-7、Virtex-7这些 7 系列那 Vivado 2018.3 到 2020.1 这个区间随便选用起来都很顺手。但如果是UltraScale、Versal这些新架构那就必须用 2020.2 以上的版本最好是 2022.2 或 2023.1因为早期版本对 Versal 的支持一向不太稳定。我个人的习惯是先用 Vivado 打开工程看一下项目里用的芯片具体型号然后反查 Xilinx 官方文档中的器件支持列表Device Support Matrix再做决定。这个表在官网的 Vivado 下载页面能直接找到每个版本对应一份 PDF。提示如果你是要打开同事或客户发来的旧工程最好先问清楚对方用的什么版本。Vivado 的工程文件虽然能升级打开但降级打开基本不可能。用新版本打开旧工程IP 核会自动升级升级之后对方如果还用老版本就打不开你改过的工程了。1.2 安装包类型Web Installer 还是 All OS Installer这三样工具适合用不同的下载方式千万别图省事只下一种。Vivado HLx 完整版Vivado Design Suite - HLx Editions分 WebPACK 和 Enterprise 两种授权级别。WebPACK 是免费的但只支持部分中低端芯片Enterprise 需要付费 license支持全部器件。如果你用的是 Artix-7 这种常见型号WebPACK 完全够用。DocNavDocumentation NavigatorXilinx 的文档浏览器所有数据手册、用户指南、IP 手册都通过它来索引和查看。SDKSoftware Development Kit如果你要在 FPGA 里跑 MicroBlaze 软核或者做 Zynq 的 ARMFPGA 异构开发就必须装这个组件。下载方式上有两种选择方案 A官网直接下载 All OS Installer 单文件版这种方式最稳妥。进入 Xilinx 官网的下载中心选择对应版本的 All OS Installer (Single-File Download)一个文件就是整个安装包下载完之后断网也能装。缺点就是文件体积巨大一个完整的 Vivado 安装包动辄 30-50GB对网速和磁盘空间都是考验。方案 BWeb Installer 在线安装下载一个很小的引导程序运行后它会根据你勾选的组件从服务器拉取文件。好处是灵活可以只装自己需要的部分坏处是中途网络一断安装进度可能就卡死了而且断点续传的能力很弱。如果你遇到的是安装包下载到一半失败了我建议直接用浏览器自带的下载功能配合IDMInternet Download Manager这类支持断点续传的工具去拉。Xilinx 的服务器在国外国内直连经常不稳定用第三方下载工具能省很多心力。1.3 许可证准备免费 License 和付费 License 的区别重装之前还需要想清楚一个问题你手上的Vivado license是什么类型Xilinx 的授权体系分这么几类Vivado HL WebPACK License免费但只能用于 Artix-7、Spartan-7、Zynq-7000 的部分型号功能上也有裁剪比如不支持部分调试功能。这个 License 可以直接在官网申请绑定电脑的 MAC 地址。Vivado HL Design Edition / System Edition License付费解锁全部 IP 核和功能。Node-Locked License绑定固定电脑的 MAC 地址换电脑之后原 License 就废了需要去官网重新生成。Floating License (浮动 License)装在服务器上多台电脑共用。如果你是在公司环境里用通常是 IT 部门统一管理的浮动 License只需要配环境变量指向服务器地址就行。个人开发者一般用 Node-Locked重装系统之后记得要去 Xilinx 官网的 License 管理页面把旧授权解绑再重新生成一份绑定新电脑的。这一步不提前处理好后面装好了也会卡在 Failed to obtain license 这一步上非常闹心。2. 正式安装 Vivado Design Suite从解压到首次启动的完整走查选好了版本、备好了 License接下来就是正式的安装过程。这里我以Vivado 2022.2为例这也是目前国内开发者用得相对多的一个版本兼容性和稳定性都比较均衡。2.1 安装前的环境检查与系统准备不要拿到安装包就直接双击花五分钟检查几个点能帮你规避掉 80% 的安装问题。磁盘空间Vivado 完整安装需要至少100GB 可用空间注意是可用空间不是总空间。C 盘如果空间紧张安装路径可以改到 D 盘或 E 盘。我见过有人因为 C 盘只有 40GB 剩余装到一半报警最后只能卸载重来。系统要求Windows 10 1809 及以上版本、Windows Server 2019LinuxUbuntu 18.04/20.04、RHEL 7.x/8.x内存建议16GB 以上低于 8GB 跑综合和布局布线会非常吃力CPU 多核性能很关键Vivado 的综合与布局布线是吃 CPU 的核心越多越快路径要求安装路径绝对不能包含中文或空格。这是老生常谈但很多人都犯。比如C:\Users\张三\Vivado这种路径安装过程可能没报错但用 IP 核和 SDK 时经常出现奇怪的路径解析故障。杀毒软件安装前把 Windows Defender 的实时保护、360、火绒之类的杀毒软件暂时关闭或添加信任目录。Vivado 在启动时会生成大量临时文件和许可证文件杀毒软件误拦截是常见现象。2.2 安装步骤详解组件勾选的那几个关键选项进入安装向导后会有一个界面要求勾选要安装的组件这一步非常关键很多人就是在这选的太多或太少。Vivado 2022.2 的安装向导大致分这么几步阅读并同意 EULA 许可协议选择版本Vivado HL WebPACK或Vivado HL Design Edition。如果你不确定自己的 License 类型直接选 WebPACK 也行后面可以改。选择产品主要勾选Vivado Design Suite下面的DocNav默认勾选Vitis / SDK如果有 Zynq 或 MicroBlaze 开发需求也一并勾上。选择器件支持这里建议只勾选自己会用到的器件系列。全选的话安装包体积直接膨胀一倍以上而且安装时间成倍拉长。选择安装路径等待安装器件支持这里值得多说两句。比如你平时只做 Artix-7那就只勾选Artix-7和Zynq-7000因为 Zynq-7000 和 Artix-7 用的是同一个架构家族其他 40 多个器件系列全部不选。这样能省下至少 20GB 的磁盘空间安装时间也能缩短半小时以上。如果后面遇到新项目需要其他系列芯片也不用完全重装打开 Vivado 安装目录下的Vivado 版本管理工具xsetup 或维护模式可以增量添加器件支持。2.3 安装过程中的常见卡点与处理结合我自己装 Vivado 的经验和周围人的反馈下面这几个问题是出现频率最高的WinPcap 或 Npcap 安装失败。这个在搜索引擎里是高频词原因是 Vivado 用 WinPcap 做 JTAG 调试的网络通信但 WinPcap 本身已经很多年不更新了和 Windows 10/11 的兼容性一直是老大难。遇到这种情况手动去 WinPcap 官网下载安装包装好之后再看 Vivado 的安装能不能继续。装完 2022.2 之后实测用Npcap代替 WinPcap 也能正常工作反而更稳。Microsoft Visual C Redistributable 缺失。Vivado 依赖 VC 运行库如果系统里没有或版本太低安装程序会直接报错。解决方式是自己去微软官网下载最新的VC 2015-2022 运行库合集安装。安装过程卡住不动。这个通常有两种原因一是杀毒软件在后台扫描安装目录二是网络通信问题Vivado 在安装过程中会尝试连接服务器验证组件。建议先关闭杀毒软件断网安装如果还不行就重启电脑重新跑。2.4 安装完成的验证装完之后别急着打开工程先做两步验证打开安装目录下的bin文件夹确认vivado.exe、docnav.exe、xsdk.bat或vitis这几个主程序都在。在命令行运行vivado -version如果能正常输出版本号说明核心安装没问题。到这里Vivado 主程序基本就装好了。但完整的开发环境还差两样东西DocNav 和 SDK。很多人把这两个当作 Vivado 的一部分但其实它们的定位和安装方式有很大区别。3. DocNav 和 SDK 的安装定位很多人都搞混淆了两者的关系在 Xilinx 的开发工具链里DocNav 和 SDK 都是独立组件不是 Vivado 附带的插件。新版安装器虽然可以在同一个向导里一起勾选安装但它们的更新机制和功能定位完全不同。3.1 DocNavXilinx 文档到底怎么查DocNav 的官方名称是Documentation Navigator它的作用是帮你集中管理、搜索和阅读 Xilinx 所有的产品文档。包括器件数据手册、用户指南、IP 核参考手册、开发板文档等。举个例子你使用 AXI DMA 这个 IP 核想知道它的寄存器配置和中断控制逻辑最准确的做法不是去百度搜二手资料而是在 DocNav 里直接搜索 AXI DMA它会列出官方的AXI DMA v7.1 LogiCORE IP Product Guide (PG021)这里面有完整的寄存器表、时序图和应用笔记。在实际项目中DocNav 的价值主要体现在这几个方面离线查阅数据手册和用户指南可以下载到本地出差或者断网环境下也能查。版本匹配DocNav 会缓存对应版本号的文档避免你查到的文档和当前 Vivado 版本不匹配。交叉引用通过文档之间的超链接快速跳转到相关的应用笔记和参考设计。如果你安装时没勾选 DocNav也没关系可以直接在 Vitis/Vivado 安装目录下找docnav.exe单独运行或者去官网单独下载安装包。3.2 SDKSoftware Development Kit的安装逻辑SDK 的情况比较特殊。在老版本里2019.2 及以前Xilinx SDK是一个基于 Eclipse 的独立开发工具需要单独安装。装完之后你会在桌面看到 Xilinx SDK 的图标打开以后用它来编写、编译、调试跑在 Zynq ARM 核或 MicroBlaze 上的 C/C 程序。从 2020.1 版本开始SDK 被Vitis 统一软件平台取代。虽然名称变了但底层功能类似都是面向嵌入式和 SoC 开发的工具链。所以你在装新版本的时候界面上看到的是Vitis / SDK选项如果你的开发需求涉及Zynq 系列的 ARM FPGA 协同开发MicroBlaze 软核处理器的嵌入式编程用 C/C 写 IP 核驱动和测试代码那这个组件必须装。如果只是纯逻辑开发用 Verilog/VHDL 写 FPGA 逻辑不碰软核处理器那就可以不装省出不少磁盘空间。3.3 DocNav 与 SDK 和 Vivado 的协作流程装好这三样工具之后一个典型的 Zynq 开发流程是这样的用Vivado创建硬件工程搭建 PS处理系统和 PL可编程逻辑的 IP 子系统。在 Vivado 中导出硬件配置文件.xsa或老版本的.hdf。用Vitis / SDK打开这个文件生成对应的 C/C 工程编写裸机或 Linux 下的应用程序。调试过程中需要用到的寄存器手册和板卡资料随时打开DocNav去查。这三个工具各管一块配合使用才是完整的 Xilinx 开发链路。如果你安装的时候漏掉了其中某一个后面做到对应环节就会发现工具链断裂到时候再补装虽然也能解决但非常折腾。4. 许可证配置与 JTAG 驱动问题重装后最磨人的两个环节安装过程本身其实不复杂复杂的往往是安装之后的第一天。许可证连不上、JTAG 识别不到板卡这两个问题几乎每个重装 Vivado 的人都会碰到。4.1 Vivado License 2035 错误的完整排查链路在搜索引擎的相关词里vivado注册 2035 是高频词。这个报错信息的完整表现是ERROR: Application timed out, License 2035它意味着 Vivado 无法从 License 服务器获取到有效的授权。这个问题的排查链路我按经验整理如下第一步确认 License 类型和路径打开 Vivado 之后通过Help → Manage License打开 License 管理窗口查看当前的 License 来源。如果显示的是 Local本地检查环境变量XILINXD_LICENSE_FILE是否指向了正确的.lic文件路径。如果显示的是 Network网络浮动检查是否配置了2100server_ip这类格式的服务器地址。第二步检查系统时间这个坑很容易被忽略。如果系统时间和实际时间差了好几天License 校验直接失败。检查日期时间设置、时区、是否开启了自动同步。第三步检查 MAC 地址是否匹配Node-Locked 类型的 License 是绑定 MAC 地址的。如果你重装系统后网卡发生了变更或者插了外置 USB 网卡MAC 地址变了License 就失效了。在命令行运行getmac查看当前网卡的物理地址然后去 Xilinx 官网的 License 管理页面核对是否一致。第四步查看 License 日志Vivado 安装目录下的license文件夹里会有详细的日志文件里面会写明具体的失败原因。定位日志文件位置打开查看 Invalid license 或者 Cannot find license 的具体描述能帮助你准确判断问题出在哪一环。我自己的经验是重装系统之后 License 报 2035 错误大概率是 MAC 地址变了去官网重新生成一份绑定新网卡的 License 就好了。至于防火墙拦截默认端口 2100 的情况更多出现在企业级浮动 License 场景中个人用户基本用不到。4.2 JTAG 驱动无法识别板卡的排查实战另一个高频问题是vivado安装驱动无法识别板子。具体表现为用 USB 线连接开发板和电脑打开 Vivado 的 Hardware Manager界面上一片空白什么设备都识别不到。这个问题要从三个层面来排查USB 底层驱动层面Xilinx 的 USB-JTAG 调试器比如 Platform Cable USB II用的是专用的 USB 驱动。安装 Vivado 时默认会安装但如果安装失败或驱动签名问题USB 设备就不会被系统识别。打开设备管理器查看 通用串行总线控制器 下是否有带黄色感叹号的设备。如果看到类似Xilinx Platform Cable USB或Digilent USB Device的标志右键 → 更新驱动 → 手动选择安装位置指向 Vivado 安装目录下的data/drivers文件夹重新安装一次。很多人在这一步会用驱动精灵之类的工具去更新这里提醒一下千万不要。驱动精灵经常会把 Xilinx 的专用驱动替换成通用 USB 驱动导致更难排查。必须用 Vivado 自带的驱动文件手动安装。硬件连接层面如果驱动没问题检查开发板的电源开关是否打开JTAG 排线是否插紧USB 线是否支持数据传输有些线只能充电不能传数据。另外还需要特别注意有些开发板上有多个 JTAG 接口要把跳线帽拨到 USB-JTAG 的模式。曾经花了半小时排查驱动最后发现是跳线帽位置不对非常典型。Vivado 配置层面打开 Vivado → Hardware Manager → Open Target如果列表为空尝试点击 Add Xilinx Virtual Cable (XVC) 或者刷新设备列表。在 2022.2 版本中需要先连接hw_server才能看到目标设备。如果到这里还是识别不到还有一个很容易被忽视的点检查是否安装了 Npcap/WinPcap。Vivado 的 JTAG 通信依赖 WinPcap 库做底层网络封装这个库缺失也会导致硬件识别失败。4.3 安装驱动后依然无法识别真实排查过程实录下面分享一个真实的案例。朋友最近换了一台新笔记本电脑重装了 Vivado 2022.2连接 Digilent Arty A7 开发板时无法识别设备。设备管理器里能看到一个未知设备但手动更新驱动时提示找不到匹配的驱动文件。排查过程在 Vivado 安装目录中搜索驱动文件发现data/drivers文件夹存在但里面只包含 WinUSB 和 Digilent 两个子目录。尝试直接指定该目录安装驱动提示 找不到 INF 文件。进一步检查发现问题出在 Windows 的驱动签名强制策略上。Vivado 自带的驱动没有经过微软签名在开启了安全启动Secure Boot的新电脑上会被默认拦截。解决方法重启电脑进入 BIOS临时关闭 Secure Boot重新进入系统后安装驱动安装成功后再开启 Secure Boot。这个问题在旧电脑上很少遇到但新买的 Win11 笔记本上非常容易出现。如果你也是新电脑优先怀疑这个原因。5. 重装后的工程迁移与工作环境恢复工具装好了License 配置好了驱动也识别到了板卡——到这里重装过程其实还有最后一公里把你之前写的工程和 IP 核配置恢复回来。5.1 老版本工程在新版本下的打开与升级打开 Vivado选择Open Project指向旧工程目录下的.xpr文件。如果工程的版本号低于当前版本Vivado 会弹出一个提示是否将工程设计包括 IP 核升级到当前版本这一步建议先不要急着全部升级。IP 核的升级是单行线升级之后无法回退。更好的做法是先将整个工程文件夹复制一份备份用文本编辑器打开.xpr文件确认工程原始版本号如果只是小版本升级比如 2020.2 → 2022.2通常可以放心升级如果是跨大版本比如 2018.3 → 2023.1建议先用 Vivado 的Report IP Status功能分析一下各 IP 核的兼容性还有一个比较容易忽略的点Xilinx IP 核有版本锁定机制。比如你之前用的是 Vivado 2020.1 生成的 AXI UART Lite IP在 2022.2 中打开会提示需要升级 IP 核版本。升级后 IP 核的配置参数可能会变化特别是存储器类 IP比如 MIG DDR 控制器需要特别注意。5.2 DocNav 文档库的备份与恢复如果你之前用 DocNav 下载了很多离线文档重装之后这些东西全部要重新下载。所以安装 DocNav 时建议将文档缓存目录设置在一个非系统盘的独立分区。DocNav 的缓存路径可以在软件设置里改默认位置是用户目录下的.XilinxDocNav。重装之前把这整个文件夹备份到移动硬盘重装之后把文件夹放回原路径DocNav 会自动索引基本能恢复大部分已下载的文档。5.3 环境变量与常用脚本的检查重新安装完之后有环境变量需要核对一下XILINX_VIVADO通常指向 Vivado 安装目录如果缺失部分第三方工具比如 ModelSim、VS Code 插件会找不到 Vivado。XILINXD_LICENSE_FILE指向 License 文件或服务器地址。PATH需要包含 Vivado 的bin目录以及在需要使用 Vitis 时包含 Vitis 的bin目录。另外如果你用 Git 做版本管理建议在工程目录下检查.gitignore文件确认是否把 Vivado 的生成文件.cache、.hw、.sim、*.jou、*.log都排除掉了。这些文件动辄几百 MB每次编译都会更新不忽略的话会让 Git 仓库迅速变得臃肿。6. 实测总结这次重装踩过的坑与最终完成状态这次在 Windows 11 机器上完整重装了一遍 Vivado 2022.2整个流程下来大约花了一个下午。把几个关键数据整理出来给大家参考项目数值/说明安装包大小All OS Installer 约 100GB含所有器件支持实际勾选器件后磁盘占用约 45GB仅 7 系列和 Zynq-7000安装耗时约 1 小时 20 分钟机械硬盘会慢一倍以上License 配置耗时约 20 分钟申请新 License 修改 MAC 地址JTAG 驱动识别约 30 分钟Secure Boot 导致驱动安装失败最后几个小建议都是我这次实际操作中体会很深的地方安装包别急着删。Vivado 的维护模式可以增量添加器件支持、修复损坏组件但前提是能找到安装源。哪怕装完了也把安装包留到确认项目做完再清理。新版 Vitis 的工程结构和老版 SDK 不一样。如果你之前用的是 2019.2 的 SDK现在切到 2022.2 的 Vitis最直观的差别是SDK 里是.hdf文件Vitis 里换成了.xsa文件SDK 直接生成 BSP 板级支持包Vitis 在创建应用工程时才会生成。这个变化需要一点时间去适应。DocNav 在重装过程中的优先级可以放低。它不是一个开发必须的工具更多是查阅文档的辅助。可以在 Vivado 和 SDK 都验证通过之后再回头安装配置 DocNav把离线文档缓存路径设好即可。好了这次从选型、安装、配置到恢复工程的全过程就梳理到这里。希望这篇记录能帮到正准备重装 Xilinx 工具链的各位少走几步弯路。有更多关于 FPGA 开发工具链的问题也欢迎在评论区交流讨论。
返回列表