Ubuntu24.04 VCS 2023 License 调试过程及安装

前言:

从 VCS 2018 升级到 VCS V-2023.12-SP1 / Verdi V-2023.12-SP2,

旧 SCL 2018.06 的 lmgrd/snpslmd 版本太低(FlexNet < 11.19),

VCS 2023 报 Fatal License Error: FLEXlm version higher than daemon。

安装过程及安装包请看这篇汇总文章,有其他大佬写过,这里不做赘述。

https://www.cnblogs.com/ASDF12301/p/19607963

安装的新组件:

VCS: /home/synopsys/synopsys2023/vcs/V-2023.12-SP1/

Verdi: /home/synopsys/synopsys2023/verdi/V-2023.12-SP2/

SCL: /home/synopsys/scl2023/scl/2023.09/

坑1:SynopsysMonoSlayer 必须对每个安装目录单独 patch

错误做法:只在 /home/synopsys/ 根目录运行 -a,MonoSlayer 不递归深层子目录

正确做法:分别对 SCL、VCS、Verdi 单独执行:

/path/SynopsysMonoSlayer -a -d /home/synopsys/scl2023

/path/SynopsysMonoSlayer -a -d /home/synopsys/synopsys2023/vcs

/path/SynopsysMonoSlayer -a -d /home/synopsys/synopsys2023/verdi

如果漏掉任何一个,该组件的 license 校验就会失败。

坑2:snpslmd daemon 路径必须写对

Synopsys.dat 第二行必须指向实际安装的 snpslmd:

DAEMON snpslmd /home/synopsys/scl2023/scl/2023.09/linux64/bin/snpslmd

如果路径错误,lmgrd 会启动但 snpslmd 立刻退出(No features to serve)。

坑3:snpslmd 报 "Invalid license key (inconsistent authentication code)"

根因:MonoSlayer 没有 patch SCL 2023 的 snpslmd 二进制。

即使 scl_keygen 生成了 license 且 fix.bat 处理过,

如果 snpslmd 本身没被 patch,签名校验仍然不通过。

修复:MonoSlayer -a -d /home/synopsys/scl2023 后重启 lmgrd 即可。

坑4:VCS 本身也需要被 patch

即使 license server (snpslmd) 正常,VCS 二进制自身也有加密校验。

症状:snpslmd 正常运行,但 vcs elaborate 报

"Inconsistent Encryption code in license file"

修复:MonoSlayer -a -d /home/synopsys/synopsys2023/vcs

坑5:Xilinx 仿真库必须用对应版本 VCS 重新编译

VCS 2018 编译的库(/home/act/fpga_tool/sim_lib/vivado_vcs_lib/)

在 VCS 2023 下会报 Error-IVWU Incompatible vlogan。

必须用 Vivado compile_simlib 重新编译:

新库路径:/home/act/fpga_tool/vcs23_lib/

synopsys_sim.setup 也要对应更新指向新路径。

License 启动步骤(SCL 2023.09):

pkill -9 lmgrd; pkill -9 snpslmd

/home/synopsys/scl2023/scl/2023.09/linux64/bin/lmgrd

-c /home/synopsys/Synopsys.dat -l /tmp/lmgrd2023.log &

验证:ps aux | grep snpslmd

VCS 2023 编译命令(不再需要 LDFLAGS / pthread_yield_fix):

vlogan -full64 -sverilog +v2k -work work

vcs -full64 -timescale=1ns/1ps -fgp

-P $VERDI_HOME/share/PLI/VCS/LINUX64/novas.tab

$VERDI_HOME/share/PLI/VCS/LINUX64/pli.a

work.tb_top work.glbl -o simv

./simv +fgp=num_threads:4 -l sim_fgp.log

结果:

VCS 2023 编译/elaborate 通过。