别再为VCS和Verdi安装发愁了!一个Ubuntu 20.04用户的保姆级踩坑实录(含gcc版本、lib库缺失等全套解决方案)
Ubuntu 20.04环境下VCS与Verdi安装全攻略从环境配置到避坑指南在数字芯片验证领域Synopsys的VCS和Verdi堪称黄金组合——前者是业界标准的仿真工具后者则是调试利器。但这对组合的安装过程却常常让工程师们头疼不已特别是在较新的Ubuntu系统上。本文将基于Ubuntu 20.04 LTS环境带你完整走一遍安装流程并针对常见问题提供经过验证的解决方案。1. 环境准备与基础配置1.1 系统环境检查在开始安装前先确认系统基本信息。打开终端执行lsb_release -a uname -m输出应显示类似如下信息No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.3 LTS Release: 20.04 Codename: focal x86_64关键点确认必须是64位系统x86_64Ubuntu版本建议20.04 LTS或22.04 LTS确保有sudo权限1.2 依赖库安装VCS和Verdi运行时需要大量系统库支持建议先安装以下基础包sudo apt update sudo apt install -y lsb-core libjpeg62-dev libpng-dev libx11-6 \ libxext6 libxrender1 libxtst6 libfreetype6 libfontconfig1 \ libncurses5 libtinfo5 libxft2 libxss1 libglu1-mesa常见问题如果遇到libpng12.so.0缺失错误可以创建符号链接sudo ln -s /usr/lib/x86_64-linux-gnu/libpng.so /usr/lib/libpng12.so.02. 安装目录结构与权限设置2.1 创建标准化目录建议采用以下目录结构便于后续管理mkdir -p ~/synopsys/{installer,vcs,verdi,scl,license}目录用途说明installer存放安装程序vcs/verdi/scl分别对应各组件安装位置license统一存放许可证文件2.2 安装包准备将获取的安装包解压到对应目录cd ~/synopsys/installer unzip SynopsysInstaller_v3.3.zip chmod 755 SynopsysInstaller_v3.3.run执行安装器./SynopsysInstaller_v3.3.run安装完成后会生成setup.sh同样需要赋予执行权限chmod 755 setup.sh3. 组件安装流程3.1 安装顺序建议按照以下顺序安装各组件SCLLicense管理工具VCS仿真工具Verdi调试工具执行安装命令./setup.sh安装界面中选择对应组件和目标目录。典型配置参数组件安装路径所需空间SCL~/synopsys/scl~500MBVCS~/synopsys/vcs~5GBVerdi~/synopsys/verdi~3GB3.2 安装后验证每个组件安装完成后检查目标目录是否生成关键文件SCL检查amd64/bin/snpslmd是否存在VCS检查bin/vcs是否存在Verdi检查bin/verdi是否存在4. 许可证配置与管理4.1 生成License文件在Windows环境下运行scl_keygen工具时注意获取Ubuntu系统的hostnamehostname获取网卡MAC地址ip link show | grep ether在keygen中输入上述信息生成Synopsys.dat文件。4.2 License文件配置修改生成的Synopsys.dat文件修改DAEMON行指向实际的snpslmd路径DAEMON snpslmd /home/username/synopsys/scl/amd64/bin/snpslmd将修改后的文件复制到license目录cp Synopsys.dat ~/synopsys/license/4.3 启动License服务先确保27000端口开放sudo ufw allow 27000/tcp启动license服务cd ~/synopsys/scl/amd64/bin ./lmgrd -c ~/synopsys/license/Synopsys.dat验证服务状态./lmstat -c ~/synopsys/license/Synopsys.dat5. 环境变量配置编辑~/.bashrc文件添加以下内容# Synopsys工具链配置 export SYN_HOME$HOME/synopsys export VCS_HOME$SYN_HOME/vcs export VERDI_HOME$SYN_HOME/verdi export SCL_HOME$SYN_HOME/scl # 二进制路径 export PATH$PATH:$VCS_HOME/bin:$VERDI_HOME/bin:$SCL_HOME/amd64/bin # 架构设置 export VCS_ARCH_OVERRIDElinux export VCS_TARGET_ARCHamd64 # License配置 export LM_LICENSE_FILE27000localhost # 别名设置 alias vcsvcs -full64 -cpp g-4.8 -cc gcc-4.8 -LDFLAGS -Wl,--no-as-needed alias verdiverdi -full64 alias dvedve -full64使配置生效source ~/.bashrc6. 常见问题解决方案6.1 GCC版本冲突Ubuntu 20.04默认GCC版本为9.x但VCS需要4.8版本。解决方法安装GCC 4.8sudo apt install gcc-4.8 g-4.8创建替代链接sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50 sudo update-alternatives --install /usr/bin/g g /usr/bin/g-4.8 506.2 动态库缺失问题libjpeg.so.62缺失sudo apt install libjpeg62-dev sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so.62 /usr/lib/libjpeg.so.62libpng12.so.0缺失wget http://security.ubuntu.com/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.54-1ubuntu1.1_amd64.deb sudo dpkg -i libpng12-0_1.2.54-1ubuntu1.1_amd64.deb6.3 Shell链接问题解决/bin/sh相关报错sudo mv /bin/sh /bin/sh.bak sudo ln -s /bin/bash /bin/sh7. 工具验证与使用测试7.1 基本功能测试验证各组件是否能正常启动vcs -help verdi -help dve -help7.2 简单仿真测试创建一个简单的测试文件hello.vmodule hello; initial begin $display(Hello VCS!); $finish; end endmodule编译并运行vcs hello.v -R预期输出Hello VCS!7.3 Verdi调试测试生成波形文件module wave; reg clk; initial begin clk 0; forever #5 clk ~clk; end initial #100 $finish; endmodule编译并生成FSDB波形vcs wave.v -R fsdbautoflush verdi -ssf novas.fsdb