从零到一:在CentOS7上搭建Synopsys VCS、Verdi与SCL完整EDA环境

📅 2026/6/28 19:28:12
从零到一:在CentOS7上搭建Synopsys VCS、Verdi与SCL完整EDA环境
1. 环境准备与依赖安装在CentOS7上搭建完整的EDA环境第一步是确保系统满足所有基础依赖。我遇到过不少新手直接开始安装软件结果因为缺少依赖库导致安装失败的情况。为了避免这种问题建议先执行以下命令安装基础依赖sudo yum groupinstall Development Tools -y sudo yum install libXScrnSaver-1.2.2-6.1.el7 redhat-lsb.i686 libpng12 -y sudo yum install ksh -y这些依赖包包含了编译器工具链、图形界面库和32位兼容库等。特别要注意的是VCS和Verdi都需要这些基础库才能正常运行。我曾经在一个纯净的CentOS7系统上测试过如果不安装这些依赖后续安装过程中会遇到各种奇怪的报错。除了系统依赖外还需要准备安装文件。通常可以从Synopsys官网下载最新版本或者使用公司提供的安装包。我建议将所有安装文件统一放在/home/eda目录下这样便于管理。创建目录并设置权限的命令如下sudo mkdir /home/eda sudo chmod 777 /home/eda1.1 安装文件准备根据我的经验最好按照以下顺序准备安装文件SynopsysInstaller安装器SCLLicense管理工具VCS仿真工具Verdi调试工具每个工具的版本需要相互兼容。比如VCS_2018.09-SP2最好搭配Verdi_2018.09-SP2使用混用不同版本可能会导致兼容性问题。我曾经试过用VCS_2018搭配Verdi_2016结果波形查看功能完全无法使用。2. 安装Synopsys InstallerSynopsys Installer是所有Synopsys工具的安装入口必须先安装它。将下载好的SynopsysInstaller_v5.0.run文件上传到服务器后执行以下命令chmod x SynopsysInstaller_v5.0.run ./SynopsysInstaller_v5.0.run这个命令会解压安装器并生成setup.sh脚本。运行setup.sh时可能会遇到缺少libXss.so.1的问题这是因为CentOS7默认没有安装这个库。解决方法很简单sudo yum install libXScrnSaver-1.2.2-6.1.el7 -y安装完依赖后再次运行setup.sh就能看到图形化安装界面了。这里有个小技巧如果服务器没有图形界面可以通过SSH的X11转发功能来显示安装界面。具体做法是在本地电脑上使用Xshell等支持X11转发的SSH客户端连接服务器并确保X11转发选项已启用。2.1 安装路径选择在安装过程中最关键的是选择合适的安装路径。我建议将所有Synopsys工具安装在同一个父目录下比如/home/synopsys。这样管理起来更方便后续设置环境变量也会更简单。具体操作步骤如下在安装界面选择Install选项指定安装包路径指向下载的安装文件所在目录设置安装目录为/home/synopsys按照默认选项完成安装安装完成后可以在/home/synopsys/installer目录下找到安装器程序后续安装其他工具时还会用到它。3. 安装VCS仿真工具VCS是Synopsys的核心仿真工具安装过程相对复杂一些。首先需要通过安装器选择VCS安装包我使用的是vcs_vO-2018.09-SP2版本。安装过程中需要注意以下几点选择Custom安装类型可以自定义安装组件确保勾选了所有需要的功能模块安装路径设置为/home/synopsys/vcs/O-2018.09-SP2安装完成后需要验证VCS是否能正常工作。可以创建一个简单的测试用例// test.v module test; initial begin $display(Hello VCS!); $finish; end endmodule然后用以下命令编译运行vcs test.v -R如果看到Hello VCS!的输出说明安装成功。我第一次安装时遇到了license问题这个我们会在后面专门讲解如何解决。3.1 VCS常见问题排查在实际使用中VCS可能会遇到各种问题。以下是我总结的几个常见问题及解决方法编译错误如果遇到奇怪的编译错误首先检查环境变量设置是否正确特别是VCS_HOME和PATH变量。可以尝试用which vcs命令查看vcs路径是否正确。仿真崩溃仿真过程中突然崩溃可能是内存不足导致的。可以尝试增加仿真内存限制vcs memsize test.v性能问题如果仿真速度很慢可以尝试开启优化选项vcs -full64 -notice -line v2k -timescale1ns/1ps -debug_accessall -sverilog test.v4. 安装Verdi调试工具Verdi是强大的波形查看和调试工具安装过程与VCS类似。我使用的是verdi-2018.9版本。安装时需要注意选择完整安装确保所有组件都被安装安装路径设置为/home/synopsys/verdi/Verdi_O-2018.09-SP2安装完成后需要设置VERDI_HOME环境变量验证Verdi是否安装成功的最简单方法是直接运行verdi如果能看到图形界面说明安装基本成功。不过要完全使用Verdi的功能还需要正确配置license。我第一次安装时Verdi能打开但无法加载波形就是因为license配置有问题。4.1 Verdi与VCS的协同工作Verdi通常与VCS配合使用要实现无缝集成需要在VCS编译时加入特定选项vcs -full64 -debug_accessall test.v这样生成的simv可执行文件会包含调试信息Verdi可以直接加载波形。在实际项目中我习惯使用以下工作流程用VCS编译并运行仿真生成fsdb波形文件用Verdi打开fsdb文件分析波形在Verdi中调试设计代码这种组合可以大大提高调试效率。记得在仿真时加入fsdbautoflush选项可以实时更新波形文件。5. 安装与配置SCLSCLSynopsys Common Licensing是管理license的工具必须正确安装和配置。我使用的是scl_v2018.06版本。安装过程需要注意安装路径设置为/home/synopsys/scl/2018.06安装完成后需要生成并配置license文件生成license需要hostid和hostname信息。获取这些信息的命令是hostname ifconfig在Windows机器上运行scl_keygen生成license文件时需要填写正确的hostid和hostname。生成的license文件Synopsys.dat需要复制到指定位置cp Synopsys.dat /home/synopsys/scl/2018.06/admin/license/5.1 License配置技巧License问题是新手最常见的困扰。根据我的经验以下几点特别重要端口设置license默认使用27000端口确保防火墙开放此端口firewall-cmd --zonepublic --add-port27000/tcp --permanent firewall-cmd --reload环境变量LM_LICENSE_FILE必须正确设置格式为porthostnameexport LM_LICENSE_FILE27000your_hostname启动服务使用lmgrd启动license服务lmgrd -c /home/synopsys/scl/2018.06/admin/license/Synopsys.dat如果遇到license无效的问题可以尝试重启license服务或者检查hostid是否变化特别是虚拟机环境。6. 环境变量配置正确的环境变量配置是保证EDA工具正常工作的关键。我习惯把这些配置放在~/.bashrc文件中这样每次登录都会自动加载。以下是我的典型配置# VCS export VCS_HOME/home/synopsys/vcs/O-2018.09-SP2 export PATH$PATH:$VCS_HOME/bin # Verdi export VERDI_HOME/home/synopsys/verdi/Verdi_O-2018.09-SP2 export PATH$PATH:$VERDI_HOME/bin # SCL export SCL_HOME/home/synopsys/scl/2018.06 export PATH$PATH:$SCL_HOME/linux64/bin # License export LM_LICENSE_FILE27000localhost # 其他设置 export VCS_ARCH_OVERRIDElinux alias lmg_synopsyslmgrd -c $SCL_HOME/admin/license/Synopsys.dat配置完成后记得执行source ~/.bashrc使更改生效。我曾经遇到过环境变量设置错误导致工具找不到库文件的问题后来发现是因为LD_LIBRARY_PATH没有正确设置。6.1 开机自动启动设置为了省去每次开机都要手动启动license服务的麻烦可以设置开机自动启动。编辑/etc/rc.d/rc.local文件添加以下内容/home/synopsys/scl/2018.06/linux64/bin/lmgrd -c /home/synopsys/scl/2018.06/admin/license/Synopsys.dat然后给rc.local添加执行权限chmod x /etc/rc.d/rc.local这样系统启动时会自动加载license服务。我在多个服务器上都采用这种配置非常稳定可靠。7. 验证完整环境所有组件安装完成后建议进行完整验证。我的验证流程通常是启动license服务lmg_synopsys检查license状态lmstat -c 27000localhost运行VCS简单测试vcs -V启动Verdi检查是否能正常打开verdi如果所有这些步骤都能顺利完成说明EDA环境已经正确安装。我在第一次搭建环境时花了整整两天时间才把所有问题解决。现在回想起来如果当时有详细的指导文档应该能节省不少时间。8. 常见问题与解决方案在实际使用中可能会遇到各种问题。以下是我总结的一些典型问题及解决方法Verdi无法启动如果报错缺少libpng12.so.0可以安装sudo yum install libpng12 -yLicense服务启动失败检查hostid是否变化特别是虚拟机环境。可以用以下命令重新生成license/home/synopsys/scl/2018.06/linux64/bin/lmhostid -ether图形界面显示问题如果工具无法显示图形界面可以尝试设置DISPLAY变量export DISPLAYyour_local_ip:0.0性能优化对于大型设计可以调整VCS编译选项提高性能vcs -full64 -j8 -lca -sverilog -debug_accessall design.v磁盘空间不足EDA工具会占用大量磁盘空间建议至少有50GB可用空间。可以使用以下命令清理临时文件rm -rf simv.daidir csrc vc_hdrs.h经过多次实践我发现保持环境整洁、版本一致是减少问题的关键。每次安装新版本前最好先备份旧环境。另外记录下所有安装步骤和遇到的问题对后续维护非常有帮助。