Synopsys VCS/Verdi 2023 安装教程(WSL2 + Ubuntu 24.04)
2026最新实践,含泪踩坑后总结
一、环境要求
|
项目 |
要求 |
|
宿主机 |
Windows 11 22H2 及以上 |
|
WSL2 |
启用镜像网络模式( networkingMode=mirrored ) |
|
Linux |
Ubuntu 24.04 LTS (Noble) |
|
磁盘空间 |
建议预留 80GB+ (VCS+Verdi+SCL 约 20-30GB,编译缓存和波形会膨胀) |
|
内存 |
建议 16GB+ |
二、前置准备
2.1 WSL2 网络配置(固定 MAC)
在 C:\\Users\\\\.wslconfig 中写入:
[wsl2]
networkingMode = mirrored
[experimental]
autoMemoryReclaim = gradual
autoProxy = true
dnsTunneling = true
firewall = true
验证 MAC 地址一致:
# Windows PowerShell
Get-NetAdapter | Select-Object Name, MacAddress
# WSL2 Ubuntu
ip link show eth0
# 两者应一致,用于绑定 License
2.2 换国内 apt 源(加速下载)
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo tee /etc/apt/sources.list << 'EOF'
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-security main restricted universe multiverse
EOF
sudo apt update
2.3 安装系统依赖
sudo apt install -y libxext6 libxi6 libxrender1 libxtst6 libxss1 \\
csh gawk libgtk2.0-0 libsm6 libpng16-16 libelf1 \\
net-tools build-essential gcc-multilib g++-multilib \\
dc dos2unix lsb-release
2.4 修复 /bin/sh(关键)
Synopsys 脚本依赖 bash,Ubuntu 24.04 默认指向 dash:
sudo rm -f /bin/sh
sudo ln -s /bin/bash /bin/sh
ls -la /bin/sh # 确认 -> bash
2.5 修复 lsb 兼容库(关键)
sudo mkdir -p /lib64
sudo ln -sf /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 /lib64/ld-lsb-x86-64.so.3
三、安装包准备
|
安装包 |
必要性 |
说明 |
|
synopsysinstaller_v5.8 |
必须 |
安装器 |
|
scl_v2023.09 |
必须 |
License 服务器 |
|
vcs_vV-2023.12-SP2 |
必须 |
仿真器(已含 UVM,无需 VCS-MX) |
|
verdi_vV-2023.12-SP2 |
必须 |
调试工具 |
|
scl_keygen |
必须 |
License 生成工具 |
|
1patch |
必须 |
补丁 |
创建安装目录:
sudo mkdir -p /opt/synopsys
sudo chown -R $USER:$USER /opt/synopsys
四、安装步骤
4.1 安装 Synopsys Installer
可以事先在wsl2内创建~/eda/synopsys,把安装需要的资源全部放里面。安装完后删除。
cd ~/eda/synopsys/synopsysinstaller_v5.8
chmod +x synopsysinstaller_v5.8.run
./synopsysinstaller_v5.8.run # 回车确认解压目录
./setup.sh # 启动图形界面
4.2 安装 SCL(License 服务器)
4.3 安装 VCS 2023
重复 ./setup.sh:
- 勾选 VCS V-2023.12-SP2(STAND-ALONE)
- 勾选 VCS – Documentation and Smartsearch(OVERLAY,建议选)
- Target 保持 /opt/synopsys
- 全选组件 → 安装
4.4 安装 Verdi 2023
重复 ./setup.sh:
- 勾选 VERDI V-2023.12-SP2(STAND-ALONE)
- 勾选 VERDI_SUPP V-2023.12-SP2(必须选,否则 Novas 缺失)
- Target 保持 /opt/synopsys
- 全选组件 → 安装
⚠️ 磁盘空间警告:安装过程中确保磁盘剩余足够大,否则安装中断会导致文件不完整,需清理后重新安装。
五、License 配置
5.1 获取 Host ID 和 Hostname
# WSL2 内执行
cat /sys/class/net/eth0/address # 如 53:47:ca:7b:2a:fb
hostname # 如 HERMES
5.2 生成 License(Windows 端)
运行 scl_keygen.exe,填写:
- HOST ID Daemon / Feature【MAC地址】:5347ca7b2afb(去冒号)
- HOST Name【主机名】:HERMES
- Port:27000
- 点击 Generate
5.3 修改 Synopsys.dat
- 修改第二行 DAEMON snpslmd 指向实际路径:
DAEMON snpslmd /opt/synopsys/scl/2023.09/linux64/bin/snpslmd
- 复制到 WSL2 并转换换行符:
mkdir -p /opt/synopsys/scl/2023.09/admin/license
# 从 Windows 复制 Synopsys.dat 到上述目录
sudo dos2unix /opt/synopsys/scl/2023.09/admin/license/Synopsys.dat
- 然后把Synopsys.dat拖到 fix.bat上,它会自动修改Synopsys.dat 文件,这步是必要的。

5.4 替换lmgrd,snpslmd文件
复制lmgrd和snpslmd到/opt/synopsys/scl/2023.09/linux64/bin 下替换原文件(不放心可以先备份原文件)

5.5 手动启动 License 验证
/opt/synopsys/scl/2023.09/linux64/bin/lmgrd \\
-c /opt/synopsys/scl/2023.09/admin/license/Synopsys.dat
另开终端检查:
ps aux | grep lmgrd
# 应看到 lmgrd 和 snpslmd 两个进程
六、补丁(1patch)
# 1. 将 1patch 复制到 WSL2
cd ~/1patch
chmod +x 1patch
# 2. 执行 patch(需 sudo,递归处理 /opt/synopsys 下所有工具)
sudo ./1patch -ecc /opt/synopsys
# 3. 等待完成,无报错即可
七、环境变量配置
在 ~/.bash_env/10_ic_verify.sh【最好有单独的子bashrc】(或 ~/.bashrc)中写入:
# ===== Synopsys EDA Tools 2023 =====
export SYNOPSYS_ROOT="/opt/synopsys"
export SCL_HOME="$SYNOPSYS_ROOT/scl/2023.09"
export VCS_HOME="$SYNOPSYS_ROOT/vcs/R-2023.12-SP2"
export VERDI_HOME="$SYNOPSYS_ROOT/verdi/V-2023.12-SP2"
export SNPSLMD_LICENSE_FILE="27000@localhost"
export LM_LICENSE_FILE="27000@localhost"
export PATH="$VCS_HOME/bin:$VERDI_HOME/bin:$SCL_HOME/linux64/bin:$PATH"
export LD_LIBRARY_PATH="$VERDI_HOME/share/PLI/VCS/LINUX64:$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH="$VCS_HOME/linux64/lib:$LD_LIBRARY_PATH"
# VCS 编译 alias
alias vcs='vcs -full64 -kdb -debug_access+all'
# ===== License Server 管理(防重复启动 + 自动清理残留)=====
lmgrd_start() {
# 1. 轻量预检:进程级(无 sudo,避免频繁弹密码)
if pgrep -x "lmgrd" > /dev/null 2>&1; then
echo "[License] Server already running (pid: $(pgrep -x lmgrd))"
return 0
fi
# 2. 端口级确认(防止僵尸进程或其他程序占 27000)
if sudo lsof -i :27000 > /dev/null 2>&1; then
echo "[License] Port 27000 occupied, manual cleanup required:"
sudo lsof -i :27000
echo "[License] Run: sudo kill -9 <PID> && sudo rm -f /var/tmp/lock*"
return 1
fi
# 3. 清理历史 crash 残留 lock 文件(避免 snpslmd 报 EXITING DUE TO SIGNAL 41)
# 之前多窗口/异常关闭会留下 root 权限的 lock 文件,必须用 sudo
sudo rm -f /var/tmp/locknassd /var/tmp/locksnpslmd /var/tmp/locknsysnvs 2>/dev/null
# 4. 启动 license server
$SCL_HOME/linux64/bin/lmgrd \\
-c $SCL_HOME/admin/license/Synopsys.dat \\
-l ~/lmgrd.log > /dev/null 2>&1 &
# 5. 启动后确认(防止静默失败)
sleep 1
if pgrep -x "lmgrd" > /dev/null 2>&1; then
echo "[License] Server started successfully"
else
echo "[License] Server failed to start, check ~/lmgrd.log"
fi
}
# source 时自动调用一次(同 WSL2 实例内多次 source 不会重复启动)
lmgrd_start
生效:
source ~/.bashrc
八、验证
# 1. License
ps aux | grep lmgrd
# 2. VCS
vcs -ID
# 应显示 Compiler version = VCS V-2023.12-SP2_Full64
# 3. Verdi
verdi -version
九、常见问题速查
|
现象 |
原因 |
解决 |
|
Invalid Media Root / 找不到 .spf |
安装包未解压或路径不对 |
确认 .spf 文件存在,Installer Source 指向正确目录 |
|
Can't install … already has other Stand-Alone product |
之前安装残留 |
删除旧目录或换 Target 路径重装 |
|
/bin/sh: 0: Illegal option -h |
/bin/sh 指向 dash |
sudo ln -sf /bin/bash /bin/sh |
|
cannot execute: required file not found |
缺少 lsb 兼容库 |
创建 /lib64/ld-lsb-x86-64.so.3 软链接 |
|
lmgrd: Exit 127 |
SCL 路径错误或 lmgrd 缺依赖 |
检查 SCL_HOME 版本号是否与实际一致 |
|
Novas: No such file or directory |
Verdi 安装不完整,漏选 VERDI_SUPP |
删除旧目录,重新 Installer 全选组件安装 |
|
E_UNEXPECTED / WSL2 崩溃 |
磁盘空间不足(VHDX 爆满) |
清理 E 盘,确保 ext4.vhdx 所在分区有 20GB+ 余量 |
|
Unsupported Linux version Warning |
Ubuntu 24.04 不在官方支持列表 |
忽略 ,不影响使用 |
十、磁盘空间管理建议
- WSL2 的 ext4.vhdx 不会自动收缩,安装完成后删除原始压缩包和解压源文件
- 定期在 WSL2 内执行:sudo apt clean && sudo apt autoremove
- 如需压缩 VHDX(Windows 端,WSL2 关闭后):
wsl –shutdown
diskpart
select vdisk file="E:\\WSL\\Ubuntu-Noble\\ext4.vhdx"
attach vdisk readonly
compact vdisk
detach vdisk
exit

