当前位置: 首页 > news >正文

【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
http://www.jsqmd.com/news/1091747/

相关文章:

  • 如何在10分钟内解决离线音乐库的歌词同步难题?LRCGET批量歌词下载终极指南
  • Seedance 2.0 做短视频分镜,我最在意的不是“出片”,而是能不能交给团队复用
  • 洛谷 P1854 花店橱窗布置:从 OJ 题解到动态规划实战心法
  • 别再熬夜写论文了!6款AI写作辅助平台,一键生成逻辑连贯初稿!
  • 英雄联盟皮肤资源库技术深度解析:从文件结构到游戏资产管理的终极指南
  • 程序员别再乱堆书签!这个编程合集,让你写代码全程不被打断
  • UART串口环回测试中的校验位实战:从原理到FPGA实现
  • FMEA×控制计划×PPAP自动联动,这才是研发管理的天花板-全星研发项目管理APQP软件系统#APQP #PLM #汽车电子 #芯片研发 #新能源 #项目管理软件
  • 终极指南:如何用PIDtoolbox彻底解决无人机飞行稳定性问题
  • TLS 1.3如何防御中间人攻击:从加密原理到Nginx实战部署
  • Java国密算法实战:SM2/SM3/SM4完整代码示例与Bouncy Castle集成
  • 国内外网站建设选择-主流网站建设工具客观对比(2026年6月最新)含零代码、AI编程、源码定制交付
  • 一次函数图像工厂:用 SymPy 自动生成 y=kx+b 对比动画
  • 慕课助手:打破在线学习效率瓶颈的浏览器插件解决方案
  • CPUDoc深度指南:解锁CPU隐藏性能的5个关键技巧
  • 2026 年深圳远程IO模块选型指南:明达智控MR30系列
  • 循环码编码解码matlab仿真(P124302009 罗睿章, P124302167张国峰)
  • Mi-Create终极指南:零基础打造个性化小米手表表盘
  • 如何将手机摄像头变成OBS专业直播源:DroidCam OBS插件完整指南
  • Nacos Derby反序列化漏洞深度剖析与安全加固实战
  • 2026权威实测|企业级AI编程应用场景全梳理:SaaS后台工具链选型指南
  • 将Android手机打造成随身Linux工作站:Termux + VNC实战指南
  • 手机号逆向查询QQ号:从遗忘到找回的3分钟解决方案
  • TPA2018D1音频放大器I2C寄存器配置与驱动开发实战
  • Docker--认识Docker网络
  • Unlock Music:浏览器端音乐解锁完全指南 - 3分钟学会解密各大平台加密音乐
  • 你的FastAPI又在服务器上“跑不起来”了?来,今天咱把打包这件事彻底聊透
  • Talkie: a 13B vintage language model from 1930 —— 当“复古”遇见千亿参数时代的思考
  • Harness Engineering:把 AI 真正接进工程流程
  • 查重率亮红灯反复修改,有哪些真正性价比高的的降AIGC工具推荐?