SystemC 学习之 VCS 仿真工具安装(八)

1、安装包下载

vcs、verdi 等工具下载地址(如果下载链接失效,可以私信我)

链接:https://pan.baidu.com/s/19CtwqWcxpv-4wPyAD4_ITw
提取码:3pib

vcs-mx 下载地址

链接:https://pan.baidu.com/s/1dYELrGJ6C1S96H5cYMb4gQ
提取码:33uj

2、建立安装目录

mkdir vcs
cd vcs
mkdir vcs_install  # 将之前下载的文件都放到这个目录下面
mkdir license       # 存放 license
mkdir SCL2018
mkdir vcs2018      # 如果是后续需要用到混合仿真,那么直接安装 vcs-mx,具体可以看下一节混合仿真
mkdir verdi

3、运行安装器进行安装

cd vcs_install/synopsysinstaller_v5.0
chmod +x ./SynopsysInstaller_v5.0.run
# 提示安装路径,默认安装到本目录就可以了
./SynopsysInstaller_v5.0.run

安装完成后出现 setup.sh,运行 setup.sh

./setup.sh

这个时候会出现安装界面,点击 start 开始安装

SystemC 学习之 VCS 仿真工具安装(八)_第1张图片

 点击 next

SystemC 学习之 VCS 仿真工具安装(八)_第2张图片

 选择安装包路径,因为我这里后面需要用到混合仿真,所以就直接安装 VCS-MX 了

SystemC 学习之 VCS 仿真工具安装(八)_第3张图片

 选择安装路径,然后点击 next

SystemC 学习之 VCS 仿真工具安装(八)_第4张图片

 一路 next,然后点击 accept 进行安装

SystemC 学习之 VCS 仿真工具安装(八)_第5张图片

 安装完成后点击 finish,然后出现 Release Note 表示安装结束

SystemC 学习之 VCS 仿真工具安装(八)_第6张图片

同样的步骤,安装 SCL 和 verdi 

4、生成 license

首先在 linux 下面执行 ifconfig

SystemC 学习之 VCS 仿真工具安装(八)_第7张图片

然后将系统切换到 windows,打开 scl_keygen_2030 下面的 scl_keygen.exe

修改红线框里面的内容,将 HOST ID Daemon 和 HOST ID Feature 内容修改为 ether,注意不要中间横线,HOST Name 修改为主机名

SystemC 学习之 VCS 仿真工具安装(八)_第8张图片

然后点击 Generate,这个时候会在当前目录下面生成 Synopsys.dat 文件,然后将这个文件放在 linux 的 license 目录下面

修改 Synopsys.dat 文件

在 DAEMON snpslmd 后面添加 snpslmd 的路径

 然后使用 dos2unix 去掉文本文件后面的 ^M

dos2unix Synopsys.dat

 5、配置环境变量

将以下内容添加到 ~/.bashrc 或者 ~/.zshrc 中

#export export SYNOPSYS="/usr/software/synopsys"
export VCS_TARGET_ARCH="amd64"
export PATH="/home/yangpan/yangpan/vcs/vcs2018/vcs/O-2018.09-SP2/gui/dve/bin:"$PATH
export DVE_HOME="/home/yangpan/yangpan/vcs/vcs2018/vcs/O-2018.09-SP2/gui/dve"
export PATH="/home/yangpan/yangpan/vcs/vcs2018/vcs/O-2018.09-SP2/bin:"$PATH
export VCS_HOME="/home/yangpan/yangpan/vcs/vcs2018/vcs/O-2018.09-SP2"
#export VCS_ARCH_OVERRIDE="linux"
#verdi
export PATH="/home/yangpan/yangpan/vcs/verdi/verdi/Verdi_O-2018.09-SP2/bin:"$PATH
export VERDI_HOME="/home/yangpan/yangpan/vcs/verdi/verdi/Verdi_O-2018.09-SP2"
export LD_LIBRARY_PATH="/home/yangpan/yangpan/vcs/verdi/verdi/Verdi_O-2018.09-SP2/share/PLI/lib/LINUX64":$LD_LIBRARY_PATH
export VERDI_DIR="/home/yangpan/yangpan/vcs/verdi/verdi/Verdi_O-2018.09-SP2"
export NOVAS_INST_DIR="/home/yangpan/yangpan/vcs/verdi/verdi/Verdi_O-2018.09-SP2"
export NPI_PLATFORM="LINUX64_GNU_472"
export LD_LIBRARY_PATH="$NOVAS_INST_DIR/share/NPI/lib/LINUX64_GNU_520":$LD_LIBRARY_PATH
export NOVAS_HOME="/home/yangpan/yangpan/vcs/verdi/verdi/Verdi_O-2018.09-SP2"

#LICENSE
export SNPSLMD_LICENSE_FILE="/home/yangpan/yangpan/vcs/license/Synopsys.dat"
export SNPSLMD_LICENSE_FILE=27000@yangpan-Vostro-3710
export LM_LICENSE_FILE="/home/yangpan/yangpan/vcs/license/Synopsys.dat"

alias lmli="/home/yangpan/yangpan/vcs/SCL2018/scl/2018.06/linux64/bin/lmgrd -c /home/yangpan/yangpan/vcs/license/Synopsys.dat"
#SCL
export PATH=/home/yangpan/yangpan/vcs/SCL2018/scl/2018.06/linux64/bin:$PATH

注意将对应路径修改为自己的路径

然后执行 source ~/.zshrc

6、验证 license

sssverify /home/yangpan/yangpan/vcs/license/Synopsys.dat

如果出现 PASSED 那么表示 license 安装成功了

SystemC 学习之 VCS 仿真工具安装(八)_第9张图片

 7、启动 lmgrd

lmgrd是license管理工具,用于将license运行在后台,使软件正常工作。

安装 lsb

sudo apt install lsb

执行 lmli

lmli

然后会提示找不到路径的问题

SystemC 学习之 VCS 仿真工具安装(八)_第10张图片

解决办法

cd /usr
sudo mkdir tmp
cd local
sudo mkdir flexlm
cd flexlm
sudo mkdir licenses

然后将 Synopsys.dat 拷贝到 licenses 并改名为 license.bat

cd licenses
sudo cp ~/yangpan/vcs/license/Synopsys.dat license.dat

但是接下来还是会报错

SystemC 学习之 VCS 仿真工具安装(八)_第11张图片

这个时候需要修改之前设置的环境变量,之前 SNPSLMD_LICENSE_FILE 设置了两次,这里需要先将第二次注释掉

然后继续执行 lmli,会出现打不开端口的问题(如果没出现那么跳过下面步骤)

SystemC 学习之 VCS 仿真工具安装(八)_第12张图片

依次执行下面命令,找到对应的进程号,然后 kill 掉

lmdown
ps auf | grep lmgrd
kill -9 lmgrd 的进程号

然后输入 lmli 就会发现启动成功了

8、验证 dve 安装和是否成功

dve

如果报错,那么需要将之前注释掉的环境变量再打开

9、验证 vcs

vcs -help

会出现下面错误

SystemC 学习之 VCS 仿真工具安装(八)_第13张图片

这是因为Ubuntu下默认将sh链接到bash,输入下面命令重新链接。

sudo rm -f /bin/sh
sudo ln -s /bin/bash /bin/sh

10、验证 verdi

verdi

提示找不到 libpng12.so.0,将 vcs_install/libpng12.so.0 下面的 libpng12.so.0 拷贝到 /usr/lib/x86_64-linux-gnu/ 目录下面

cd vcs_install/libpng12.so.0
chmod +x libpng12.so.0
sudo cp libpng12.so.0 /usr/lib/x86_64-linux-gnu/

然后再次输入 verdi 就正常了

11、遇到 undefined reference to `pthread_yield' 错误解决办法

cd vcs2018/vcs-mx/O-2018.09-SP2/linux64/lib
mv vcs_save_restore_new.o vcs_save_restore_new.o.bak
objcopy --redefine-sym pthread_yield=sched_yield ./vcs_save_restore_new.o.bak ./vcs_save_restore_new.o

12、参考资料

https://blog.csdn.net/qq_41717683/article/details/122267191

https://blog.csdn.net/m0_50662459/article/details/130565406

https://bbs.eetop.cn/forum.php?mod=viewthread&tid=928873&page=2#pid10785074

https://bbs.eetop.cn/thread-876222-1-1.html

你可能感兴趣的:(systemc,systemc)