Xilinx FPGA开发环境搭建指南:Vivado、Vitis与DocNav安装实战
前阵子把电脑系统重装了一遍紧接着要干的杂事里最费时间的就是把 Xilinx 的 FPGA 开发环境重新拉起来。平时做 Zynq 和 7 系片子离不开的工具其实不只是 Vivado Design Suite还有配套的 SDK现在新版本里叫 Vitis和文档导航器 DocNav。这三个东西一旦缺某一个后面干活就开始别扭要么写完逻辑没法往嵌入式核里跑要么想查手册还得联网去翻网页。写这篇文章就是把这次完整下载安装过程里踩过的坑、验证过可行的流程同步出来给准备重装或者第一次装 Vivado 的朋友一个可以直接照抄的路子。安装这套工具不难难的是搞明白官网到底该下载哪些包、安装时组件怎么勾、装完又说 license 有问题、驱动不识别板子。这些零碎问题才是真正劝退新手的地方。下面我会从下载前的规划开始一步步讲到安装完成后的验证与排错尽量把“为什么这么选”也讲清楚而不只是给命令。1. 下载前准备先搞清楚该装什么比动手更重要1.1 三个工具到底是什么关系很多第一次接触 Xilinx 工具链的朋友容易把 Vivado 当成一个巨型软件以为装完就万事大吉。实际上 Vivado Design Suite 是主设计平台负责 RTL 综合、实现、时序约束、比特流生成、硬件调试SDK 或 Vitis 则是嵌入式软件开发的配套环境面向 MicroBlaze 软核或者 Zynq 中的 ARM 硬核用来写 C/C、编译、调试和下载应用DocNav 是文档导航器把 Xilinx 官方手册、应用笔记、例程集中管理方便离线查阅。这三者不是三选一的关系而是分工的组合硬件逻辑设计主要用 Vivado涉及到处理器系统时要借助 SDK/Vitis 做软件部分查看文档如果不想反复打开浏览器就用 DocNav。还有一点容易忽略新版 Vivado 从 2020.1 开始已经把传统 SDK 整合成了 Vitis 统一软件平台所以在安装界面上找“SDK”经常会找不到实际上只要勾选 Vitis 就拿到了同一个功能的升级版。理解这个演变下载的时候心里就有底了。1.2 官网账号和版本选择无论从哪里下载Xilinx 官网都要求先登录 AMD/Xilinx 账号。这个账号注册免费和 license 类型无关但下载安装包、生成 license、查看文档都需要它。账号注册时用常用邮箱之后所有授权管理都绑定在这个账号下建议不要随便用一次性邮箱。版本选择是个需要稍微动脑的环节。官方提供多个版本线比如 2021.2、2022.2、2023.1。我的经验是如果你不是必须使用最新器件型号优先选一个已经发布一段时间、社区反馈稳定的版本。2022.2 是我这几年来用得比较顺心的版本驱动、第三方工具兼容性都相对成熟。除非项目里遇到了只能用新版本才能支持的 Versal 系芯片否则没必要一开始就追最新。要注意的是新版本对操作系统也有要求Windows 10 64 位或 Windows 11 都能跑但 Linux 发行版要求比较碎Windows 用户省点心。选择版本时还要想清楚 license 模型。Vivado 自带免费的 WebPACK 授权基本覆盖了 7 系列和部分 UltraScale 器件的常用功能如果需要更大规模的器件或者更高级功能比如部分 IP 加密核再看节点锁定授权或浮动授权。免费授权不一定足够专业项目用但拿来学习或小规模设计完全够。1.3 安装包选择在线安装器还是离线包官网下载页一般会提供两种形式Self Extracting Web Installer 和 Full Installer 离线包。在线安装器体积小只有几百兆但实际安装过程要边下边装网速不稳会非常折磨。离线全量包 Windows 版通常二十多GB虽然下载耗时但一次下载后可以多台电脑复用也方便在没有外网环境的工作区安装。我的建议是家里网速好、只装一台机器用哪个都行但如果你需要在多台机器上反复搭建环境或者现场网络不可控干脆下载离线包。离线包解压后是一个安装镜像目录运行时不会反复请求网络速度反而更快。下载时也注意目录路径不要带中文和空格否则后面安装程序可能出一些莫名其妙的路径错误。2. Vivado Design Suite 安装全流程拆解2.1 安装向导里的那些选项该怎么选拿到安装包后双击进入安装向导。前面几步基本只要同意协议、选择安装产品。到这里就会遇到第一个关键选择产品类型。界面里会列出 Vivado、Vitis、DocNav 等选项。如果你只需要硬件设计勾 Vivado 就够如果有 Zynq 或 MicroBlaze 软件开发的打算建议把 Vitis 也勾上之后再单独装 DocNav。再往下是组件和器件支持。这个界面有个常见误区为了省事把“全部器件”勾上。我不建议这么做。Vivado 全部器件库占用的磁盘空间非常大安装时间也会拉长好几倍。更合理的做法是只勾当前项目实际用到的器件家族。比如我做 Zynq-7000 比较多就只勾 Zynq-7000 对应项以后接到其他型号再用安装包修改安装也来得及。安装路径也是一个要提前规划的点。默认装在 C 盘但 Vivado 完整安装下来可能要几十 GBC 盘空间不足会导致安装中途失败而且很难清理。我一般安装在 D:\Xilinx 这类无中文、无空格的路径下。某些第三方综合工具和脚本对空格路径兼容性不好最好从一开始就避开。2.2 安装过程中要注意的细节点 Install 之后安装阶段会比较漫长可能持续一小时甚至更久。期间电脑风扇狂转是正常的不需要频繁刷新界面。但我建议不要干等可以做两件有用的事第一把杀毒软件临时退出或把安装目录加入白名单因为 Vivado 安装时会有大量文件写入和数据包释放某些杀毒软件会误报并拦截导致安装中断第二记录安装日志路径万一失败了方便排查。日志一般在临时目录或安装目录的 .log 文件里错误原因写得算比较明确。安装完成前安装程序会询问是否安装 Cable Drivers也就是 JTAG 下载器驱动。这里一定要勾选。很多朋友装完 Vivado插上下载器后电脑提示“无法识别设备”或者设备管理器里出现带感叹号的未知设备多半就是当时漏掉了这一步。勾选驱动后安装程序会顺便把 Platform Cable USB 和 Integrated Logic Analyzer 需要的底层驱动一起装好。安装结束后先别急着用最好重启一次系统。因为驱动加载和环境变量需要刷新生效。重启后再打开开始菜单里的 Vivado 快捷方式检查是否出现启动界面。2.3 License 的加载与验证第一次打开 Vivado它会提示要设置 license。免费用户可以在官网账号下直接生成 WebPACK License生成的时候会要求填写一个网卡的 MAC 地址这个 MAC 地址就是运行 Vivado 这台电脑的物理网卡地址填错的话会出现 -2035 等错误。需要注意如果电脑有多个网卡挑一个稳定的有线网卡 MAC如果哪天换了网卡或重装了系统license 会失效需要重新生成。在 Vivado 界面里通过 Help - Manage License - Load License 可以加载本地 license 文件。对于节点锁定授权选择文件后点击 Load License对于浮动授权则需要在 License Manager 里填服务器端口和主机名。加载成功后可以在 License Status 里看到功能列表确认 Vivado、Vivado HLS 等特性是否可用。没有许可证的情况下先打开 Vivado 会进入评估模式也能用一阵子但综合实现规模稍大就受限。3. SDK、Vitis 与 DocNav 的安装细节3.1 新版本里 SDK 去哪里了很多教程还是两年前写的告诉大家装完 Vivado 后单独装 SDK。这句话在 2019.2 及以前确实没问题但如果你下载的是 2020.1 以后版本安装界面里不再出现单独的“SDK”选项取而代之的是 Vitis。Vitis 同样支持传统 SDK 的嵌入式开发功能但界面更偏向 Eclipse 风格的统一工作台并且和 Vivado 的协同流程更好。如果你手里是旧版工程或者你习惯了 SDK 的操作方式也不要急。旧版 Vivado SDK 在官方的 Archive 页面仍然可以找到对应版本下载。但我个人建议没有特殊原因还是用新版 Vitis 比较好因为新 IP、新器件、新编译工具链都基于新平台。Vitis 安装时同样会占用较大磁盘空间注意给足空间。还有一种情况是安装时没勾选 Vitis之后开发才想到需要。没必要卸载整个 Vivado 重装运行安装包选择 Modify勾选 Vitis 组件即可增量安装省时省力。3.2 DocNav 的安装和使用心得DocNav 相比 Vivado 小很多安装基本是傻瓜式。但它的作用容易被低估DocNav 装完后并不会自动把所有文档都下载到本地只是一个导航框架。你需要打开 DocNav在“Available Documents”里按需勾选并下载具体手册比如 Zynq-7000 TRM、Vivado 用户指南。下载后这些文档就是离线可查的。实际用起来DocNav 比自己在官网翻文档方便很多尤其是搜索功能。你输入一个关键词它能把你下载过的所有 PDF、HTML 手册里的相关内容列出来。我把常用手册下载完后写代码查接口时基本不用开浏览器特别适合项目现场没有外网的情况。DocNav 和 Vivado 兼容性也不错不影响环境。有个细节DocNav 安装也可以放到非系统盘。它不像 Vivado 那么大但文档库下载多了也可能不少所以路径规划同理。4. 安装完成后的验证与环境配置4.1 环境变量和命令行工具Vivado 安装完成后Windows 下一般会自动写入环境变量。如果你需要从命令行启动 Vivado、Vitis 或者 xsct 脚本环境需要确认 PATH 里是否包含对应 bin 目录。比如D:\Xilinx\Vivado\2022.2\bin、D:\Xilinx\Vitis\2022.2\bin。CMD 里敲vivado -version能返回版本信息就说明路径正常如果提示找不到命令手动把路径加进去然后重开 CMD。有一点要提醒不要为了图省事把环境变量一股脑加进来。PATH 太长会影响系统启动速度。只加自己真正需要的工具路径其余按需单独调用。此外Vivado 的 tcl 环境很强大很多批量操作可以用脚本完成命令行配置到位了后面写自动化脚本会顺手很多。4.2 JTAG 驱动识别与板卡连接Vivado 安装完成最常见的问题是“驱动无法识别板子”。插上 JTAG 下载器后设备管理器里看到一个带感叹号的设备或者提示“Xilinx Platform Cable USB Firmware Loader 无法加载”。这时候多半是驱动没装成功或者系统版本驱动签名策略把 Xilinx 旧驱动挡下来了。我遇到这种问题的处理顺序是先拔掉下载器重新运行一次 Vivado 安装程序进入修改安装把 Cable Drivers 卸载再重装然后手动到安装目录里找驱动路径一般在data\xicom\cable_drivers\nt64设备管理器里右键选择更新驱动程序指定这个目录扫描。如果还是不行考虑 Windows 驱动签名问题临时进入“禁用驱动程序强制签名”模式再装一次。这里要注意装好驱动后正常重启驱动签名策略会恢复但已装成功的驱动仍然生效。连接板卡的步骤一般是这样打开 Vivado点击 Flow Navigator 中的 Hardware Manager打开 target选择 Auto Connect。如果设备管理器里已经识别到了 JTAG这边基本一次就能连上。连不上时先检查 USB 线是不是只有充电功能的线尽量用带数据功能的短 USB 线并插在主机后置 USB 口不要通过前面板 USB HUB。4.3 License 和系统时间校验还有个小概率问题容易忽略系统时间不对会导致 license 校验失败。某些用户为了省事把主板时间改到几个月前结果 Vivado 启动时报 license 过期。这里不讨论为什么有人改时间只说排查思路先把系统时间和时区设为自动 NTP 同步再打开 license 管理器看状态。license 本身就是绑定 MAC 和时间的时间跳变过大也会失效。5. 常见问题与排查技巧实录5.1 License 报错 -2035 和注册问题热词搜索里“vivado注册2035”出现频率很高其实这是 license 相关的经典报错。-2035代表许可证无效或者 feature 不存在常见原因有三个生成的 license 里填写的 MAC 地址和当前机器不一致安装的 Vivado 版本和 license 支持的版本不匹配免费 WebPACK license 想用于非免费器件型号。处理办法是按顺序查先确认网卡 MAC 是否准确用命令行getmac查看再检查 license 文件里的受限版本不要指望 2022.2 的 license 能用在 2023.1 上最后打开 Vivado License Manager看“License Status”里具体哪个 feature 报错。如果是 WebPACK 用户却用到了需要完整 license 的 IP要么换设计方案要么申请正式授权。5.2 WinPcap 安装失败Vivado 安装时可能提示 WinPcap 安装失败这通常出现在安装过程后端很多人看到这行就慌。WinPcap 在 Vivado 里主要用于以太网相关调试功能对普通 JTAG 调试不是必需组件。但如果安装完全失败后续个别功能可能不可用。我的做法是单独去 WinPcap 官方或兼容包里手动安装但要注意如果电脑上已经装了 Npcap可能存在冲突需要先卸载 Npcap 再装 WinPcap反过来也会冲突。安装时右键以管理员身份运行。装完后再回到 Vivado 安装程序选择 Modify把缺失组件补上。如果你完全用不到网络相关调试也可以忽略不影响日常综合实现。5.3 ILA 采样频率限制和比特流生成失败装好环境后很多朋友会在调试阶段遇到 ILA 和比特流的问题。ILA 的采样频率并不是你在 IP 配置里随便敲一个数字就生效的。ILA 是同步采样核它的采样时钟必须由被测设计中的时钟信号提供实际采样频率就是那个时钟信号在工作时跑到的频率。如果时钟频率太高布局布线后时序不收敛ILA 采样数据就可能出现错误。所以在配置 ILA 时不需要刻意设置很大的采样频率而是要保证采样时钟干净、稳定、满足设计约束。生成比特流失败的原因比较多。最常见的是约束缺少完整引脚分配或者器件资源没预留给底层调试逻辑。排查时先看实现阶段的时序报告和 DRC 报告。INFO 和 WARNING 可以放宽心ERROR 才是必须解决的。如果是时钟资源问题例如同时使用多个 BUFGMUX 导致时钟树冲突建议重新检查时钟管理方案。慢慢查不要一上来就重装软件绝大多数情况和环境没太大关系。5.4 老版本和系统兼容问题的一点经验如果你用的是比较老的 Vivado 版本比如 2018.3在 Windows 10/11 上安装时会多出一些兼容性问题。老版本安装界面里的部分第三方工具链如某些版本的 WinPcap、驱动签名等都需要特殊处理。我的经验是重装系统后尽量挑新版本至少要选对当前系统有官方支持说明的版本。很多“装不上”的问题就是版本和系统之间适配没跟上而不是你操作有问题。最后再分享一个小习惯装完 Vivado 后我会顺手把安装包、license 文件、常用脚本目录单独备份一份。以后系统再出问题恢复环境会非常快不用重新找半天下载入口。Xilinx 这套工具链不大容易装错但只要仔细把每一步都想明白了后面开发调试能省下大量精力。
上一篇/下一篇内容由系统自动关联
返回资讯列表 →