Vivado 2020.2 安装全记录:在 Ubuntu 上从零搭建 FPGA 开发环境
你有没有遇到过这样的场景?刚买回一块 Zynq 或 Kintex 开发板,满心欢喜地打开电脑准备写第一个 Verilog 模块,结果卡在了第一步——连 Vivado 都装不上。
尤其是当你用的是 Ubuntu 系统时,明明官网说“支持 Linux”,可点开安装程序却黑屏、闪退、报错满天飞。这不是你的问题,而是 Xilinx(现在是 AMD)对非 Red Hat 系统的“软性排斥”。但现实是:大多数嵌入式开发者和学生都在用 Ubuntu。
今天,我就带你手把手完成一次vivado2020.2 在 Ubuntu 20.04 上的完整安装实战。这不是复制粘贴的官方文档翻译,而是一个真实踩坑、反复验证后的实操指南。我会告诉你哪些依赖不能少、哪个图形后端必须切换、为什么libtinfo5找不到却又要硬连……所有这些细节,都来自我亲手重装五遍系统的血泪经验。
为什么选 Vivado 2020.2?
虽然现在最新版已经到了 2023.x,但2020.2 依然是工业界和教育领域使用最广泛的版本之一。原因很实际:
- 兼容性强:支持从 Artix-7 到 UltraScale+ 的主流器件;
- 工具链稳定:HLS、IP Integrator、SDK 等组件经过多年项目验证;
- 许可友好:WebPACK 版本免费,足够教学与中小型项目使用;
- 社区资源丰富:GitHub 上大量开源工程基于此版本构建。
更重要的是,很多高校课程、培训教材仍以 2020.2 为标准环境。所以掌握它的安装流程,不只是为了跑通一个软件,更是接入整个 Xilinx 生态的第一步。
准备工作:你的系统达标了吗?
别急着下载安装包,先确认你的机器是否具备基本条件。Vivado 看似只是一个 IDE,实则是个“吃内存大户 + 磁盘杀手”。
✅ 推荐配置清单
| 项目 | 最低要求 | 建议配置 |
|---|---|---|
| 操作系统 | Ubuntu 18.04 / 20.04 LTS | 使用长期支持版 |
| CPU | 双核以上 | 四核或更高(编译提速明显) |
| 内存 | 8 GB RAM | 16 GB 或以上 |
| 存储空间 | ≥50 GB 可用空间 | SSD 固态硬盘,≥60 GB |
| 显卡 | 支持 OpenGL 2.0 | 启用 3D 加速(虚拟机需开启) |
| 显示服务器 | Xorg | 禁止使用 Wayland |
⚠️ 特别提醒:如果你是在 VMware 或 VirtualBox 中运行 Ubuntu,请务必在虚拟机设置中启用3D Acceleration,否则 GUI 根本打不开。
如何检查当前会话类型?
执行以下命令:
echo $XDG_SESSION_TYPE如果输出是wayland,那就麻烦了——赶紧注销,在登录界面选择“Ubuntu on Xorg”模式再登录。
Wayland 虽然新潮,但它对 Java 图形应用(比如 Vivado 的 SWT 界面)兼容性极差,会导致窗口无法渲染、鼠标失灵等问题。这不是 Vivado 的锅,是底层图形协议不匹配。
第一步:获取 Vivado 2020.2 安装包
Xilinx 提供的是“网络安装器”(Web Installer),并非完整离线包。这意味着你需要全程联网下载组件。
下载地址
前往 AMD/Xilinx 官方下载页面 → 找到Vivado HLx 2020.2 - Linux Self Extracting Web Installer。
你会看到一个名为:
Xilinx_Unified_2020.2_1118_1232.tar.gz的压缩文件,大小约 100MB。别小看它,这只是个“启动器”,真正的工具链将在安装过程中按需下载。
解压并进入目录
tar -xzf Xilinx_Unified_2020.2_1118_1232.tar.gz cd Xilinx_Unified_2020.2_1118_1232此时你可以看到里面有个关键脚本:
./xsetup这就是我们的安装入口。
第二步:解决系统依赖问题 —— 90% 失败源于此
这是最关键的一步。很多人直接运行./xsetup,结果双击没反应、终端报错一堆libgtk缺失……其实都是因为缺少必要的共享库。
安装通用依赖包
运行以下命令一次性安装所有必需库:
sudo apt update sudo apt install -y \ libgtk-3-0 \ libncurses5 \ libusb-1.0-0 \ libxi6 \ libxtst6 \ libxrender1 \ libgl1-mesa-glx \ libsm6 \ libice6 \ libglib2.0-0 \ libcairo2 \ libpango-1.0-0 \ libpangocairo-1.0-0 \ libfontconfig1 \ libxext6 \ libx11-xcb1 \ libxcb-dri2-0 \ libxml2 \ libtinfo5 \ wget \ unzip \ tar \ net-tools这些库分别负责:
-libgtk-3-0:图形界面绘制
-libgl1-mesa-glx:OpenGL 渲染支持
-libusb-1.0-0:JTAG 下载器通信
-libtinfo5:终端控制(ncurses 后端)
📌 注意:Ubuntu 20.04 默认已升级到
libtinfo6,但 Vivado 2020.2 仍依赖旧版符号GLIBC_TINFO_5。因此即使你有新库,也必须创建软链接模拟旧版本存在。
强制兼容 libtinfo5
执行:
sudo ln -s /usr/lib/x86_64-linux-gnu/libtinfo.so.6 /usr/lib/x86_64-linux-gnu/libtinfo.so.5这行命令的作用是“骗过”安装程序,让它以为libtinfo5存在。虽然有点“hack”,但在没有补丁的情况下这是最有效的办法。
第三步:启动安装向导
一切就绪后,运行:
./xsetup如果一切正常,你应该能看到熟悉的 Xilinx 安装界面弹出。
❌ 如果没反应?
尝试加
-no-web参数防止自动拉取更新:
bash ./xsetup -b ConfigGen或者检查 DISPLAY 变量:
bash echo $DISPLAY # 正常应为 :0 或类似值
安装流程详解
- 选择安装类型:点击 “Install Vivado HLx”
- 登录账户:输入你在 Xilinx 注册的邮箱和密码(必须登录才能继续)
- 选择产品:
- 推荐勾选Vivado HL System Edition(功能最全)
- 若仅用于学习,也可选 Design Edition - 设置安装路径:
- 默认/opt/Xilinx,建议保留
- 需要 root 权限写入,后续可通过 sudo 安装驱动 - 选择器件支持:
- 可按需选择特定系列(如 Zynq-7000、Kintex-7)
- 初学者建议全选,避免后期频繁补装 - 开始安装:
- 总体积约 20–30 GB(取决于选项)
- 时间:1~3 小时不等(SSD 快很多)
📌贴心提示:安装过程可以最小化窗口去做别的事,但不要锁屏或休眠,否则可能中断下载。
第四步:配置环境变量
安装完成后,还不能立即使用vivado命令。必须加载官方提供的环境脚本。
添加到用户环境
echo 'source /opt/Xilinx/Vivado/2020.2/settings64.sh' >> ~/.bashrc source ~/.bashrc这个settings64.sh脚本做了几件重要的事:
- 将vivado,xsct,xsim等工具加入PATH
- 设置LD_LIBRARY_PATH指向内部动态库
- 定义XILINX_VIVADO环境变量供其他工具调用
💡 小技巧:你可以通过
env | grep XILINX查看是否生效。
第五步:验证安装成功
最后一步,来测试一下!
vivado -version预期输出如下:
Vivado v2020.2 (64-bit) SW Build 3064766 on Wed Nov 18 09:12:45 MST 2020恭喜!你现在拥有了一个可用的 Vivado 环境。
还可以尝试启动 GUI:
vivado &稍等片刻,主界面应该就能正常打开了。
常见问题急救手册
🔴 问题一:安装程序闪退 / 无响应
现象:双击无效,终端报错Failed to load module "canberra-gtk-module"
解决方案:
sudo apt install libcanberra-gtk-module libcanberra-gtk3-module这类模块虽非核心,但某些 GTK 主题会尝试加载它们,缺失时可能导致崩溃。
🔴 问题二:提示 “GLIBCXX_3.4.26 not found”
原因:系统 GCC 版本太低,C++ 运行时库不匹配。
修复方法:
sudo apt install gcc-9 g++-9 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 90然后重新运行./xsetup。
📝 补充说明:Ubuntu 20.04 默认带 gcc-9,若你之前降级过编译器,请恢复回来。
🔴 问题三:JTAG 下载失败,设备未识别
典型错误:ERROR: [Labtools 27-3411] Connecting to hw_server failed
解决步骤:
- 安装 Xilinx USB 驱动:
sudo /opt/Xilinx/Vivado/2020.2/data/xicom/cable_drivers/lin64/install_script/install_drivers/install_drivers- 添加 udev 规则(允许普通用户访问 Digilent、FTDI 设备):
该脚本会自动将规则写入/etc/udev/rules.d/,无需手动操作。
- 插拔 JTAG 线,查看是否识别:
lsusb | grep -i digilent常见设备包括:
- Digilent Adept(Nexys, Arty 系列)
- Xilinx Platform Cable USB
- FTDI-based JTAG programmers
实战建议:让 Vivado 更好用的几个技巧
1. 给/opt单独分区
强烈建议在装系统时给/opt分配独立空间(≥60GB)。Vivado + SDK + 文档很容易突破 30GB,挤爆根目录会导致系统异常。
2. 使用 SSD 提升编译速度
FPGA 编译过程中会产生大量临时文件(.tmp,.log, 中间网表等),频繁读写 HDD 会显著拖慢综合与实现阶段。换成 SSD 后,整体流程可提速 30% 以上。
3. 备份.bashrc中的关键行
每次重装系统或换 Shell(如 zsh),容易忘记重新导入settings64.sh。建议单独保存这一行脚本:
# vivado-env.sh source /opt/Xilinx/Vivado/2020.2/settings64.sh然后在.bashrc中引用它:
source ~/scripts/vivado-env.sh更安全,也更易迁移。
4. 启用 Swap 防止 OOM 终止
当内存不足时,Linux 内核可能会杀死 Vivado 进程(尤其是大工程综合时)。建议配置至少 8GB swap 空间:
sudo fallocate -l 8G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile并将/swapfile none swap sw 0 0加入/etc/fstab永久生效。
写在最后:这不仅仅是一次安装
完成vivado2020.2安装教程并不只是打通了一个软件,而是为你打开了通往 FPGA 世界的大门。
接下来你可以:
- 创建第一个工程,点亮 LED;
- 用 IP Integrator 搭建 Zynq PS-PL 系统;
- 写 HLS 函数把 C 代码变成硬件模块;
- 用 ILA 抓信号做时序调试……
而这一切的基础,就是你现在亲手搭建的这个环境。
未来 AMD 对 Xilinx 工具链的整合将进一步深化,Vivado 也将逐步融入 AI Engine 编程、高级功耗分析等功能。但无论怎么变,扎实的环境部署能力始终是一名合格 FPGA 工程师的基本功。
如果你在安装过程中遇到了本文未覆盖的问题,欢迎留言交流。也可以分享你的优化技巧,我们一起打造一份真正“活”的安装指南。
🎯关键词汇总:vivado2020.2安装教程、Ubuntu系统、FPGA开发、Xilinx、Linux安装、Vivado HLx、GTK依赖、settings64.sh、JTAG驱动、Unified Installer、环境变量配置、图形界面兼容、libtinfo5、系统依赖库、Zynq开发、OpenGL加速、Xorg会话、gcc版本兼容、udev规则、swap配置。