【2026最新】在 Win11 WSL2 (Ubuntu 24.04) 上搭建 Synopsys VCS/Verdi 2023数字 IC 设计 EDA 工具链

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 服务器)

  1. Start → Site ID 填 000 → Next
  2. Source Browse 到安装包所在目录(如 ~/eda/synopsys)
  3. Target Dir 填 /opt/synopsys
  4. 勾选 SCL 2023.09(或实际版本)→ 全选组件 → Accept, Install
  5. Finish → Dismiss

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