ARTICLE DETAIL

资讯详情

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

Vivado/Vitis 2020.2 安装:器件库、驱动与授权验证

Vivado/Vitis 2020.2 安装:器件库、驱动与授权验证 Vivado 和 Vitis 的安装属于那种第一次折腾能磨掉一整个晚上、第二次就五分钟搞定的活儿。Vivado/Vitis 2020.2 的安装下载教程网上一搜一大把但绝大多数要么是截图堆砌、要么是只告诉你点哪个按钮真正遇到装完识别不到板子器件库没勾全导致后面 IP 打不开授权加载不上这些坑还是得自己一点点摸。这篇东西我按自己的实际流程重写一遍重点放在 2019 之后安装器架构的变化、器件库该怎么勾、驱动和授权这一步到底卡在哪以及装完之后怎么用最小成本验证工具链是活的。刚上手 FPGA 的同学可以照着走一遍已经用过 2018.x 的老用户也能看到几个关键差异点——尤其是从 SDK 切到 Vitis 之后入口和命令行的变化比想象中大。1. 为什么 2020.2 至今还是很多人的默认版本1.1 版本节奏与 2020.2 的实际定位Xilinx现在归到 AMD 旗下的工具链基本保持一年两到三个大版本的节奏命名就是年份加小版本号。2020.2 是 2020 年的第二个大版本它的特殊之处在于这是统一安装器这套架构基本稳定下来的一个版本同时又处在 SDK 向 Vitis 过渡的中段所以它既不像 2018.x 那样带着一堆历史包袱也不像 2021 之后的版本那样把 Vivado ML 的品牌、器件支持、免费版策略全部改了一遍。我观察到的一个现象是很多高校课程、企业既有工程、第三方 IP 厂商的参考设计都会把 2020.2 作为基线版本。原因很简单教程和板卡资料是跟着版本走的一个版本被写进教材和例程之后后面几年都会被反复引用。你要是直接上最新版遇到问题去搜搜到的答案大概率是 2020.x 的界面和菜单路径对不上反而更费劲。再一个现实因素是器件支持。2020.2 覆盖的器件族已经相当全从 Spartan-7、Artix-7、Kintex-7、Virtex-7 到 Zynq-7000再到 UltraScale 和 UltraScale主流教学板和开发板都在范围内。对绝大多数还在用 7 系列和 Zynq-7000 的人来说装 2020.2 完全够用没必要为了追新去忍受新版本首次安装时更大的体积和更长的编译时间。1.2 2019 之后安装器架构统一带来的变化如果你上一次装 Vivado 还是 2018.x 或者更早那 2020.2 的安装体验会有几个明显不同这些差异不是界面美化而是实实在在影响操作步骤的安装器统一了。以前 Vivado、SDK、Vitis 各是各的安装包现在是一个 Xilinx Unified Installer进去之后在同一个界面里勾选要装哪些产品。这意味着你不需要分别下载三个安装器但也意味着首次下载体积更大。SDK 的位置被 Vitis 顶掉。2019.2 开始 Vitis 统一软件平台成为嵌入式软件开发的主入口SDK 逐渐退场。到了 2020.2你在安装器里会看到 Vitis 相关组件新建工程、写 C 代码、烧写裸机程序这些事全部在 Vitis 里做。习惯 SDK 的人第一次打开 Vitis 会觉得东西都认识但位置全变了。WebPACK 免费版的边界更清晰。免费版不再是什么都能装但只能跑小器件而是在安装器里就直接体现在器件族勾选项上——你没授权的那部分器件勾了也装不上或者用不了。安装器的命令行批量模式更规范。xsetup -b ConfigGen生成配置模板、xsetup -b Install -c config.txt静默安装这套流程在 2019 之后变得稳定可用机房批量部署、无网环境安装基本都靠它。提示安装器的命令行参数在不同小版本之间有微调2020.2 上可用的参数到了 2022.x 不一定完全一样。用之前先xsetup -help看一眼别照搬别人的脚本。1.3 该装 2020.2 还是直接上新版几个判断标准这个问题我被问过太多次我的判断逻辑是这样的你的情况建议课程/教材指定 2020.2或跟着某本教程学直接装 2020.2别折腾手上有 7 系列或 Zynq-7000 开发板做常规逻辑开发2020.2 足够装它需要用某个只在特定版本里提供的新器件或新 IP按 IP 要求的版本装团队里有既有工程编译脚本已固定跟随团队版本多版本共存纯粹想体验最新特性、追新可以上但要接受资料对不上的成本我个人的做法是机器上长期保留两个版本一个 2020.2 作为日常主力一个更新的版本用来应付新器件和新 IP 的需求靠环境变量和启动脚本切。多版本共存这件事在第 4 节会具体讲不难但有几个细节不注意会互相干扰。2. 下载之前账号、空间与安装包形态的选择2.1 账号与授权WebPACK、Design Edition 到底差在哪下载之前先想清楚你要装哪个 Edition这一步决定了后面要不要折腾授权文件。安装器里常见的选项是 HL WebPACK、HL Design Edition、HL System Edition 这几档不同小版本措辞略有差异。WebPACK 是免费的只要注册一个官网账号就能下载而且装完之后不需要额外加载 license 文件这一点很多人不知道白白去找授权。Design Edition 和 System Edition 覆盖的器件更多、带的 IP 更全但需要有效的授权。免费版覆盖的器件族是有限制的Artix-7、Spartan-7、Zynq-7000 这些中小规模器件基本都在免费范围内Kintex-7 只开放了部分型号UltraScale 及以上系列不在免费之列。具体清单每一版都会有微调别背直接去下载页面的器件支持说明里核对一眼那是最准的。如果你装的是需要授权的版本授权文件的形式是节点锁定绑定网卡 MAC 作为 Host ID或者浮动授权。加载方式是通过开始菜单里的 Manage Xilinx Licenses 工具把授权文件里的内容粘贴进去或者设置环境变量指向授权文件路径。这里必须说一句不要用来路不明的授权文件一是合规问题二是这类文件经常被杀软直接隔离、或者被工具识别为非法而拒绝加载排查起来非常浪费时间。正经渠道拿到的授权用起来心里踏实。2.2 机器条件盘点系统版本、内存、磁盘这一节的数字我给的都是保守经验值官方文档里的最低配置基本只能保证你装得上保证不了你用得住。操作系统2019.2 之后官方把 Windows 7 和 8.1 从支持列表里移除了2020.2 请老老实实用 Windows 10 64 位。家庭版有人能装成功但在驱动签名、权限提升这些环节上偶尔会出幺蛾子能用专业版就用专业版。Linux 侧主流是 RHEL/CentOS 7.x 系列和 Ubuntu 的 LTS 版本具体到 2020.2 支持哪几个发行版号下载页面有明确的兼容性列表照着选最省事。内存8 GB 是能打开工程的门槛16 GB 是能干活的门槛32 GB 才能让你在跑大工程综合实现的时候不至于去泡杯茶回来还在转。综合阶段的线程数受工具限制不是内存越大越快但内存不够会直接导致实现阶段被系统 kill 掉那种报错很难看懂。磁盘这是最容易被低估的。安装器本身要占一份空间装完之后的安装目录是另一份。2020.2 如果 Vivado 加 Vitis 全勾再把器件族勾全装完一百 GB 是打底的。再加上安装过程中的临时解压目录我建议你至少留出 250 GB 的可用空间而且一定要是本地 NTFS 磁盘。注意安装目录和临时目录都别放在 OneDrive、坚果云这类同步盘里。同步程序会扫描安装过程中成千上万个小文件轻则拖慢安装速度重则把文件锁住导致安装报错。我见过一次装了两小时最后失败的就是因为在同步目录下。2.3 单文件安装器还是分卷离线包下载页面上通常给你几种形态选择哪种取决于你的网络环境安装包形态特点适合谁Windows 自解压安装器下载后是个 exe双击自动解包再启动安装器Windows 单机、网络稳定All OS 单文件包tar.gz一个巨大的压缩包Win/Linux 通用需要跨平台、想留档分卷/Web 安装器安装器先去官网拉取组件边下边装网络好、只想装部分组件我一般的做法是找一个网络好的时间段把 All OS 单文件包一次性拉下来留档。这个包体积在几十个 GB 的量级下载页面会明确标出大小看着吓人但它的好处是——以后重装、换电脑、给同事拷贝都不需要再走一遍官网下载流程。而且离线安装不会因为网络抖动在中途失败装到 80% 掉线那种体验试过一次就不想再试。下载完之后做一件事核对校验值。官网会提供 MD5 或 SHA256Windows 上可以用certutil算Linux 上直接sha256sum。# Linux 下校验下载包完整性 sha256sum Xilinx_Unified_2020.2_xxxx.tar.gz # 和官网给出的值逐字符比对不要只看前几位这个动作看起来多余但大文件在下载过程中出现位翻转的概率不低而安装器解压失败时的报错往往很含糊会说文件损坏却不说哪个文件。先校验一遍能省掉后面大段排查时间。3. 安装实操从 xsetup 到 Vitis 组件勾选3.1 解压与启动安装器如果你下的是 Windows 自解压 exe双击之后它会把内容释放到一个临时目录然后再启动图形安装器。这一步有两个坑第一释放目录的默认位置可能在系统盘而释放需要额外几十 GB。如果你系统盘紧张最好在启动前就把临时目录指到大容量盘上。Windows 下可以通过设置TMP、TEMP环境变量来控制Linux 下是TMPDIR。第二解压过程没有任何进度提示的情况很常见看起来像卡死其实还在慢慢往外写。这时候去任务管理器看磁盘写入速率如果还在持续写入就耐心等别手贱去结束进程。Linux 下解压之后进入目录执行xsetup即可。这里建议加一个参数把安装日志留下来# 解压后进入安装器所在目录 tar -xzf Xilinx_Unified_2020.2_xxxx.tar.gz cd Xilinx_Unified_2020.2_xxxx # 以图形界面启动同时记录日志 ./xsetup -l ./install.log日志文件的价值在后面会体现。安装到一半报错的时候图形界面只给你一句安装失败具体哪一步挂了、是权限问题还是磁盘满了全在日志里。养成留日志的习惯是解决安装类问题的第一原则。另一个实际建议安装器用管理员权限启动Windows 下右键以管理员身份运行Linux 下用 sudo 或者确保目标目录对当前用户可写。不是因为安装器一定要管理员权限而是驱动安装、注册表写入这几个环节需要提权中途弹一次 UAC 提示你点快了拒绝了后面就会出现装是装上了但驱动没有的诡异状态。3.2 选版本、选产品Vivado 与 Vitis 的关系进入图形界面之后第一步是选版本默认就是你下载的这个版本号核对一眼别选错。然后进入产品选择界面这里会列出 Vivado、Vitis、以及一些附加组件比如 Model Composer 之类的模型化设计工具。很多人搞不清 Vivado 和 Vitis 的关系我用一句话说Vivado 负责硬件侧Vitis 负责软件侧但两者共用同一套底层工具链。你在 Vivado 里做的综合、实现、生成比特流、管脚约束都是硬件侧的事你在 Vitis 里建的 C 工程、写的裸机程序、跑的 Linux 应用是软件侧的事。对 Zynq 这种带 ARM 核的器件来说两边都要用先在 Vivado 里配好 PS处理系统、导出硬件描述文件再在 Vitis 里基于这个文件建软件工程。提示如果你只做纯逻辑开发不碰 ARM 核和嵌入式软件Vitis 可以不装能省下可观的空间。但只要你的板子是 Zynq 或者 MicroBlaze 相关的Vitis 必装而且建议连同 Vitis 的嵌入式平台组件一起装上。产品勾选界面还有个 Install for all users 之类的选项多人共用的机器上勾上更合适单机使用无所谓。3.3 器件库勾选这是最省磁盘的一步产品选完之后会进入器件族选择这是我见过最多人踩坑的地方两个方向的坑都有。坑一是勾太少。有人为了省空间只勾了自己手上那块板子的器件结果过几个月换了块不同系列的板子打开工程发现器件列表里找不到目标器件只能重新跑一遍安装器补装。补装虽然支持增量但还是要走一遍完整流程很烦。坑二是勾太多。全勾了确实省心但安装体积和安装时间都会显著增加而且大部分器件你这辈子可能都不会碰。我的折中做法是这样的按系列勾而不是按型号勾。7 系列里Spartan-7、Artix-7、Zynq-7000 全勾这三个系列的体积加起来不算夸张而且覆盖了绝大多数教学和入门开发板。Kintex-7 和 Virtex-7 看你实际会不会用到大容量逻辑的板子不用就不勾。UltraScale 和 UltraScale 系列体积最大没有对应硬件就干脆别勾。器件选择界面上会实时显示当前选择对应的预估磁盘占用你可以边勾边看那个数字控制在能接受的范围内。这一步多花五分钟想清楚比后面重装一次省两个小时。3.4 路径规划与安装等待安装路径只有一个原则纯英文、无空格、层级浅、本地盘。C:\Xilinx\Vivado\2020.2这种路径是最稳的。我见过有人装在D:\我的软件\FPGA 工具\vivado这种路径下前期看着没事等到某个 IP 生成脚本里路径带空格又没加引号编译直接报错报错信息还指向一个完全不相关的地方排查起来能把人逼疯。中文路径的问题更多工具链里有些脚本用的编码和系统不一致遇到中文字符直接乱码生成的中间文件路径全错。这类问题不值得去挑战绕开就完了。Linux 下默认是/tools/Xilinx这个路径保持默认就挺好。如果你的用户没有/tools的写权限提前建好目录并授权比装到一半报权限错误再回头处理要顺得多。安装过程本身没什么可操作的等着就行。时间长短取决于你勾了多少东西、磁盘是机械还是固态。固态上装全量大概几十分钟机械硬盘上几个小时也正常。期间可以干别的但别去动安装目录里的文件也别让系统进睡眠。睡眠导致安装中断的情况我遇到过恢复之后安装器状态错乱最后只能清干净重来。3.5 命令行静默安装批量部署时很有用如果你要给实验室的十几台机器装同一套配置图形界面一台台点是不现实的。2020.2 支持配置模板加静默安装# 第一步生成配置模板会在当前目录下产生一个 config.txt ./xsetup -b ConfigGen # 第二步编辑 config.txt把 Edition、器件族、安装路径改成你要的 # 关键字段包括 Edition、Product、Destination、以及各器件族的 true/false # 第三步按配置静默安装日志单独落盘 ./xsetup -b Install -c ./config.txt -l ./install_batch.log这套流程的实际价值在无网环境和批量环境。无网环境下安装器需要先指向一个本地的离线组件目录批量环境下把config.txt和安装包放在共享目录里每台机器跑一条命令就行。有几件事要注意config.txt里的路径分隔符在 Windows 和 Linux 上不一样别直接拷贝静默安装不会帮你装驱动驱动那一步还得单独跑见 4.2 节还有模板生成之后建议先在一台机器上验证一遍再铺开配置文件的字段名在不同小版本之间有过调整。4. 装完必须做的三件事授权、驱动、环境变量4.1 授权文件的获取与加载前面说过WebPACK 版本装完不需要授权文件直接能用。如果你装的是需要授权的版本这一步不能跳过否则打开工程时会提示找不到可用授权很多 IP 也无法生成。加载授权的方式有两种我都用过按场景选第一种是图形工具。开始菜单里找 Manage Xilinx LicensesLinux 下是vlm命令或者从 Vivado 的 Help 菜单进入打开之后选 Copy License指向你的授权文件它会自动把文件放到工具默认的授权目录下。这种方式适合单机、一次性配置。第二种是环境变量。设置XILINXD_LICENSE_FILE指向授权文件或者授权服务器的地址。这种方式适合多版本共存、或者团队共用浮动授权的场景因为环境变量是跟着 shell 会话走的不同会话可以指向不同授权。# Linux 下临时生效 export XILINXD_LICENSE_FILE/opt/licenses/vivado.lic # 想持久化就写进 ~/.bashrc注意别和其他版本的授权变量互相覆盖有一点需要提醒授权文件是有有效期的年份通常印在文件头部。如果你的授权即将到期提前联系提供方续期别等到项目快交付的时候突然打不开工具。另外浮动授权的并发数也是有限的团队里同时用的人多会出现授权被占用的情况这时候要么等要么把空闲会话的占用释放掉。4.2 下载器驱动安装与识别不到板子这是新手最容易卡住的一环软件装得好好的板子插上 USBVivado 的 Hardware Manager 里就是看不到设备。绝大多数情况下问题出在下载器驱动没装而不是硬件坏了。安装器在装 Vivado 的时候通常会把驱动安装程序一起放进去但它不一定会自动执行。你需要手动找到并运行它。路径大致是安装目录下的data\xicom\cable_drivers\这一层里面按操作系统位数分目录进去找install_drivers相关的可执行文件或脚本以管理员权限运行。# Windows 下大致位置以实际安装目录为准 安装目录\Vivado\2020.2\data\xicom\cable_drivers\nt64\install_drivers.exe # Linux 下大致位置 安装目录/Vivado/2020.2/data/xicom/cable_drivers/lin64/install_script/install_drivers/install_drivers跑完驱动脚本之后还有几件事按顺序检查USB 线是不是只供电的线。这个坑太经典了随手抓的一根充电线插上去设备管理器里什么都不出现。换一根确定能传数据的线。设备管理器里有没有未知设备。有黄色感叹号说明驱动没匹配上手动指定驱动目录重装。是不是 Digilent 的下载器。部分开发板用的是 Digilent 的 JTAG 方案需要额外安装对应的运行库。安装器通常会把相关文件放在 cable_drivers 目录下的一个子目录里找到它手动安装一次。USB 权限Linux 特有。Linux 下非 root 用户访问 USB 设备需要 udev 规则驱动脚本一般会帮你写但写完规则之后要重新插拔设备或者重载 udev 规则才会生效。很多人跑完脚本发现还是不行就是因为没重新插拔。还有一个小概率情况板子上的 JTAG 链路被其他程序占用了。比如你同时开着另一个调试工具或者上一轮的 Hardware Manager 会话没关干净这时候把相关进程关掉再试。硬件本身故障的概率反而是最低的先怀疑软件和线材。4.3 环境变量、快捷方式与多版本共存单个版本用的时候直接点开始菜单里的快捷方式就行快捷方式背后其实是在启动前先执行了一个settings64脚本把PATH、XILINX_VIVADO这些变量指向对应版本的安装目录。理解了这一点多版本共存就很简单了每个版本各装各的目录靠不同的settings脚本来切换。# 切到 2020.2 source /tools/Xilinx/Vivado/2020.2/settings64.sh # 切到另一个版本 source /tools/Xilinx/Vivado/2022.2/settings64.shWindows 下对应的脚本叫settings64.bat在命令行里call一下就行。有几个细节值得注意同一时刻只 source 一个版本的设置。连着 source 两个版本PATH里会同时存在两套工具实际调用哪个取决于顺序这种不确定性非常致命会出现命令行编译和图形界面编译结果不一致的现象。Vitis 有自己的 settings 脚本和 Vivado 是分开的需要命令行用 Vitis 工具链的时候记得也 source 它。别把某个版本的 settings 写进全局的 shell 配置文件。想临时用某个版本的时候手动 source用完开新终端就回到默认状态这样最干净。如果团队要求打开终端默认就是 2020.2写进~/.bashrc也行但要在注释里写清楚为什么免得后来的同事被这个隐式配置坑到。5. 上板前的验证与常见问题速查5.1 用一个小工程验证工具链是否真的可用装完之后别急着开大工程先花十分钟做一次端到端验证。流程是新建工程选一个你实际有的器件型号写一个最简单的分频或者计数器逻辑加一个管脚约束跑综合、实现、生成比特流然后打开 Hardware Manager 连接板子把比特流下载进去看现象。这一串动作的意义在于它一次性覆盖了整条链路器件库是否装全选不到型号就说明没勾对、约束文件是否被正确解析管脚错了会报错、比特流生成流程是否通畅这一步失败的原因很集中、驱动和连接是否正常能识别到器件说明驱动没问题。任何一环出问题都能在十分钟内暴露出来比在大工程里遇到再回头排查效率高得多。顺便提一句仿真这条路也要验一下。2020.2 自带的 Vivado Simulatorxsim可以直接跑行为级仿真不需要额外配置。如果你习惯用 ModelSim 之类的第三方仿真器需要先编译 Xilinx 的仿真库这一步在图形界面里有向导也可以用命令行的compile_simlib。编译库是个耗时的活儿一次编好之后长期复用别每次新建工程都重新编一遍。5.2 常见报错速查表我把这些年遇到的、以及从同行那里听来的高频问题整理成一张表按现象查比按报错原文查更快现象大概率原因处理方向安装到一半失败提示文件写入错误磁盘空间不足、同步盘锁文件、临时目录容量不够看安装日志定位具体文件换本地盘重装打开工程提示找不到器件器件族没勾、或授权不覆盖该器件补装器件族或核对授权范围Hardware Manager 看不到设备驱动未安装、线材只供电、udev 规则未生效手动跑驱动脚本换数据线重新插拔比特流生成失败报时序未满足约束缺失或不合理逻辑路径过长补齐时钟约束看时序报告定位关键路径比特流生成失败报未布线或 DRC 错误管脚冲突、多驱动、IO 标准不匹配看 DRC 报告逐条处理别强行忽略仿真跑得极慢testbench 用了大量延时、波形记录信号过多减少记录信号缩小仿真范围第三方仿真器报找不到库仿真库未编译或路径未配置重新编译仿真库并更新配置文件增量安装后旧工程打不开版本或器件库变化核对工程要求的版本必要时新建工程迁移关于驱动相关的额外一个高频现象安装过程中可能出现某个网络抓包组件安装失败的提示。这个组件和 JTAG 下载本身没有直接关系安装失败通常不会影响你下载比特流但如果你确实需要它可以把安装包以兼容模式运行补装一次或者装完之后手动单独安装一遍。不要因为这一个组件失败就整个重装工具链那是用大炮打蚊子。5.3 固化文件与 ILA 调试相关的几个细节工具链验证通过之后接下来高频遇到的两件事是固化程序和在线调试这里各说几个容易忽略的点。生成固化用的配置文件。上板验证用的是比特流文件掉电就没了。要固化到 Flash 里需要先由比特流导出成配置文件再通过 Hardware Manager 烧写到板上的配置存储器。导出的时候有几个参数直接影响能不能启动Flash 的容量、接口模式单线、四线这些、以及起始地址。这些参数写错了烧写过程可能显示成功但板子上电就是不启动。我的经验是先把板卡的原理图和 Flash 型号找出来对着数据手册确认真实容量和接口宽度别照抄别人的参数。还有一个细节生成的比特流默认可能不包含导出配置文件所需的格式需要在综合实现的设置里把对应的输出格式打开。这个开关藏得有点深第一次找要费点时间找到之后就记住位置。关于 ILA 的采样频率。经常有人问在线逻辑分析仪能不能跑到某个很高的时钟频率——比如某些高速接口需要 800 MHz 以上的采样。这里的判断逻辑要说清楚ILA 本身的采样时钟是从你的设计里引出来的时钟域它能跑到多高取决于这个时钟域在你的器件速度等级下能不能真正收敛而不是 ILA 这个 IP 有个固定的频率上限。也就是说如果你原来的设计在这个时钟域时序是收敛的插入 ILA 之后理论上还是能跑但 ILA 会占用布线资源和逻辑资源插入之后有可能把原本刚好收敛的路径顶崩导致时序不达标。所以正确的做法是插入 ILA 之后重新跑一遍实现看时序报告同时控制 ILA 的采样深度深度越大占的块存储资源越多资源紧张的时候会把布局挤到不理想的位置。调试阶段可以用较浅的深度快速定位问题定位到了再去掉 ILA 重新跑干净版本。注意ILA 是调试手段不是最终设计的一部分。很多人调完忘了删直接拿带 ILA 的比特流去做固化或者交付占了资源不说还可能带来额外的时序风险。养成调试完移除调试核、重新生成比特流的习惯。5.4 我个人踩过的几个坑最后说几个我在实际安装和使用中真真切切踩过、而且网上教程基本不提的点。第一安装器的进度条不一定是真进度。它会长时间停在某个百分比不动然后突然跳一大段。判断是否卡死要看磁盘写入和日志文件有没有在增长而不是看进度条。我曾经因为进度条不动硬是结束了进程结果安装目录半残清理起来比重装还麻烦。第二同一个工具装两遍会互相干扰。如果你想在同一个目录下重装先把原目录清干净尤其是用户目录下的配置文件。工具会读取用户目录里的偏好设置这些文件在新版本下可能不兼容导致启动异常。多版本共存时更要保证目录分离别图省事装到同一个父目录下同一层。第三杀毒软件的实时防护会拖慢甚至阻断安装。安装过程中会写入大量小体积文件实时防护逐个扫描会显著拖慢速度个别情况下还会锁住正在写入的文件。安装期间临时把安装目录加入排除列表装完再恢复能少很多玄学问题。第四首次启动会很慢。工具需要初始化一堆配置和缓存第一次打开可能要等几分钟之后启动就快了。别以为卡死了就去强杀进程强杀之后可能留下锁文件导致下次启动报已有实例在运行。第五命令行和图形界面用的必须是同一套环境。有人习惯图形界面点几下又用命令行跑脚本两边 source 了不同版本的设置于是出现图形界面能综合、命令行报错或者反过来。做批量脚本之前先在一台干净的终端里which vivado确认一下你调用的到底是哪个版本。这套流程我自己在几台不同配置的机器上都走过固态盘、16 GB 内存、纯英文路径的情况下从双击安装器到能下载第一个比特流一个下午基本能搞定。真正费时间的从来不是安装本身而是装完之后遇到器件没有驱动不认授权不生效这类问题时的排查。把第 4 节那三件事提前做掉第 5 节那张表放在手边剩下的就是安安心心写逻辑了。
返回列表