1. 项目概述
作为一名FPGA开发工程师,我经常需要在Linux环境下搭建完整的EDA工具链。最近为了一个Xilinx FPGA项目,我需要在Ubuntu 18.04上配置Xilinx Vivado 19.2开发环境,同时还需要安装MATLAB 2018b和Synopsys VCS/Verdi工具链。经过几天的折腾,终于完成了这个环境的搭建,现在把完整的安装过程记录下来,希望能帮助到有同样需求的同行。
这个环境配置完成后,可以满足以下开发需求:
- 使用Vivado进行FPGA设计和综合
- 使用MATLAB进行算法验证和仿真
- 使用VCS进行RTL仿真
- 使用Verdi进行波形查看和调试
2. 环境准备
2.1 硬件要求
为了流畅运行这套工具链,建议使用以下硬件配置:
- CPU:至少4核,建议8核或以上(我使用的是16核)
- 内存:至少8GB,建议16GB或以上(我分配了16GB)
- 硬盘空间:至少200GB可用空间(我分配了256GB)
- 显卡:支持OpenGL的独立显卡(部分工具需要图形加速)
2.2 软件准备
需要下载以下软件包:
- Ubuntu 18.04.6 LTS镜像
- Xilinx Vivado 2019.2安装包
- MATLAB R2018b安装包(包含DVD1和DVD2)
- Synopsys工具包(包含VCS-MX、Verdi和SCL)
- VMware Workstation Pro 16(或其他虚拟化软件)
注意:所有软件包请确保从官方渠道获取合法授权。本文提供的安装方法仅适用于已获得合法授权的用户。
3. 虚拟机安装与配置
3.1 创建Ubuntu虚拟机
- 打开VMware Workstation,选择"创建新的虚拟机"
- 选择"典型"安装类型
- 选择"安装程序光盘映像文件",浏览到Ubuntu 18.04 ISO文件
- 输入用户信息:
- 全名:Xilinx
- 用户名:xilinx
- 密码:123456
- 命名虚拟机并选择存储位置
- 指定磁盘大小:建议至少256GB,选择"将虚拟磁盘拆分成多个文件"
- 完成前自定义硬件:
- 内存:16GB
- 处理器:16核
- 网络适配器:桥接模式
- 显示:3D图形加速
3.2 Ubuntu系统安装
- 启动虚拟机,系统会自动开始安装
- 安装过程大约需要10-15分钟(取决于硬件性能)
- 安装完成后,系统会自动重启
3.3 系统汉化配置
虽然开发环境主要使用英文,但为了方便操作,我们可以添加中文支持:
- 进入系统后,点击右上角设置图标
- 选择"Region & Language"
- 点击"Manage Installed Languages"
- 在弹出的窗口中点击"Install",输入密码后等待语言包下载
- 安装完成后,将"汉语(中国)"拖到语言列表顶部
- 点击"Close"并重启系统
- 重启后选择"保持旧名称"(不修改主目录名称)
4. Vivado安装与配置
4.1 安装前准备
-
确保系统已更新:
bash复制sudo apt update && sudo apt upgrade -y -
安装依赖库:
bash复制sudo apt install libncurses5 libtinfo5 libncurses5-dev libncursesw5-dev libffi-dev -y
4.2 安装Vivado
-
解压安装包:
bash复制
tar xvzf Xilinx_Vivado_SDK_2019.2_1106_2127.tar.gz -
进入解压后的目录并运行安装程序:
bash复制cd Xilinx_Vivado_SDK_2019.2_1106_2127 sudo ./xsetup -
按照图形界面指引完成安装:
- 接受许可协议
- 选择"Vivado"产品
- 选择"Design Edition"(包含所有器件支持)
- 使用默认安装路径(/tools/Xilinx)
- 等待安装完成(约30-60分钟)
4.3 许可证配置
-
将许可证文件复制到指定目录:
bash复制sudo cp -r ~/Xilinx/Vivado/vivadolicense /tools/Xilinx/Vivado/2019.2/data/ip/core_licenses -
验证许可证:
bash复制source /tools/Xilinx/Vivado/2019.2/settings64.sh vivado启动Vivado后,在"Help > Manage License"中查看许可证状态。
4.4 配置USB驱动
-
安装USB驱动:
bash复制cd /tools/Xilinx/Vivado/2019.2/data/xicom/cable_drivers/lin64/install_script/install_drivers/ sudo ./install_drivers -
在VMware设置中启用USB 3.1控制器
4.5 环境变量配置
为了方便使用,将Vivado添加到环境变量:
-
编辑.bashrc文件:
bash复制
gedit ~/.bashrc -
在文件末尾添加:
bash复制source /tools/Xilinx/Vivado/2019.2/settings64.sh -
使配置生效:
bash复制source ~/.bashrc
现在可以在终端直接输入vivado启动软件。
5. MATLAB安装与配置
5.1 安装前准备
-
挂载DVD1镜像:
bash复制sudo mkdir /media/matlab sudo mount -o loop R2018a_glnxb64_dvd1.iso /media/matlab -
安装依赖库:
bash复制sudo apt install libxt6 libncurses5 -y
5.2 安装MATLAB
-
启动安装程序:
bash复制sudo /media/matlab/install -
按照图形界面指引:
- 选择"使用文件安装密钥"
- 接受许可协议
- 输入密钥:09806-07443-53955-64350-21751-41297
- 选择安装路径(默认/usr/local/MATLAB/R2018b)
- 选择所有产品组件
- 开始安装
-
当提示插入DVD2时:
bash复制sudo umount /media/matlab sudo mount -o loop R2018a_glnxb64_dvd2.iso /media/matlab然后在安装界面点击"确定"继续安装。
5.3 破解MATLAB
-
修改安装目录权限:
bash复制sudo chmod -R 777 /usr/local/MATLAB/ -
复制许可证文件:
bash复制sudo cp license_standalone.lic /usr/local/MATLAB/R2018b/licenses -
复制破解文件:
bash复制sudo cp -rf R2018b/* /usr/local/MATLAB/R2018b/ -
安装必要模块:
bash复制sudo apt-get install libcanberra-gtk-module -y
5.4 创建快捷方式
-
创建桌面启动文件:
bash复制sudo gedit /usr/share/applications/Matlab.desktop -
添加以下内容:
ini复制[Desktop Entry] Type=Application Name=Matlab 2018b GenericName=Matlab 2018b Exec=sh /usr/local/MATLAB/R2018b/bin/matlab -desktop Icon=/usr/local/MATLAB/R2018b/toolbox/shared/dastudio/resources/MatlabIcon.png Terminal=false Categories=Development;Matlab;
6. Synopsys工具链安装
6.1 安装前准备
-
创建安装目录:
bash复制mkdir -p ~/Synopsys/install -
安装依赖库:
bash复制sudo apt install lsb libjpeg62 libpng12-0 -y
6.2 安装SCL
-
运行安装程序:
bash复制chmod +x SynopsysInstaller_v5.0.run ./SynopsysInstaller_v5.0.run -
启动安装向导:
bash复制cd ~/Synopsys ./setup.sh -
按照图形界面指引:
- 选择SCL安装包
- 指定安装路径(如~/Synopsys/scl_v2018.06)
- 全选所有组件
- 完成安装
6.3 安装VCS-MX
-
确保使用bash shell:
bash复制sudo dpkg-reconfigure dash选择"No"使用bash。
-
使用安装向导安装VCS-MX,步骤与SCL类似。
6.4 安装Verdi
使用安装向导安装Verdi,步骤与SCL类似。
6.5 许可证配置
-
获取系统信息:
bash复制
hostname ifconfig -
在Windows下使用scl_keygen生成许可证文件:
- 输入主机名和MAC地址
- 生成Synopsys.dat文件
-
修改许可证文件:
- 添加DAEMON路径
- 转换文件格式:
bash复制
dos2unix Synopsys.dat
-
将许可证文件复制到指定位置:
bash复制mkdir -p ~/Synopsys/license cp Synopsys.dat ~/Synopsys/license/
6.6 环境变量配置
编辑~/.bashrc文件,添加以下内容:
bash复制# VCS
export VCS_TARGET_ARCH="amd64"
export PATH="$PATH:/home/xilinx/Synopsys/vcs_mx_v2018.09/vcs-mx/O-2018.09-SP2/bin"
export VCS_HOME="/home/xilinx/Synopsys/vcs_mx_v2018.09/vcs-mx/O-2018.09-SP2"
# Verdi
export PATH="$PATH:/home/xilinx/Synopsys/verdi-v2018.9/verdi/Verdi_O-2018.09-SP2/bin"
export VERDI_HOME="/home/xilinx/Synopsys/verdi-v2018.9/verdi/Verdi_O-2018.09-SP2"
# License
export SNPSLMD_LICENSE_FILE="/home/xilinx/Synopsys/license/Synopsys.dat"
alias lmli="/home/xilinx/Synopsys/scl_v2018.06/scl/2018.06/linux64/bin/lmgrd -c /home/xilinx/Synopsys/license/Synopsys.dat"
使配置生效:
bash复制source ~/.bashrc
6.7 验证安装
-
启动license服务:
bash复制
lmli -
验证VCS:
bash复制vcs -help -
验证Verdi:
bash复制
verdi
7. 常见问题与解决方案
7.1 Vivado相关问题
问题1:启动Vivado时报错"libncurses.so.5: cannot open shared object file"
解决方案:
bash复制sudo apt install libncurses5
问题2:DocNav无法启动
解决方案:
安装libpng12-0库:
bash复制sudo add-apt-repository "deb http://cz.archive.ubuntu.com/ubuntu xenial main"
sudo apt update
sudo apt install libpng12-0
7.2 MATLAB相关问题
问题1:启动MATLAB时报错"Could not find version X of the MATLAB runtime"
解决方案:
确保正确复制了破解文件,并设置了正确的文件权限:
bash复制sudo chmod -R 755 /usr/local/MATLAB
7.3 Synopsys相关问题
问题1:VCS编译时报错"Unsupported glibc version"
解决方案:
设置兼容模式:
bash复制export VCS_ARCH_OVERRIDE="linux"
问题2:Verdi无法显示波形
解决方案:
确保仿真时生成了fsdb文件,并在testbench中添加:
verilog复制initial begin
$fsdbDumpfile("wave.fsdb");
$fsdbDumpvars;
end
8. 性能优化建议
-
虚拟机配置优化:
- 为VMware分配更多CPU核心和内存
- 启用虚拟化加速(Intel VT-x/AMD-V)
- 使用SSD存储虚拟机文件
-
系统优化:
bash复制sudo apt install preload sudo systemctl disable bluetooth.service -
工具优化:
- 在Vivado中关闭不需要的插件
- 在MATLAB中禁用Java桌面(启动时添加-nodesktop参数)
- 在VCS编译时使用-j参数启用多线程编译
这套环境配置完成后,可以满足大多数FPGA开发和验证需求。在实际使用中,建议定期备份虚拟机镜像,避免因系统问题导致环境损坏。