转载自:小白也能开始VCS+Verdi的旅程
随着工艺发展,芯片集成度越来越高,内部能达到几千万甚至上亿的逻辑单元以及功能模块。无论是FPGA RD还是IC RD,在做复杂RTL开发的时候,都不可能保证没有经过Simulation功能正常运行,都需要进行仿真,可能FPGA RD接触的比较多的Simulation tool是Modelsim。
鄙人经历过IC、FPGA研发、FPGA-FAE,使用过Modelsim、Active-HDL、Vcs+Verdi。总体感觉下来Vcs+Verdi的优点更加突出,主要有以下几点:
综上所述,可想而知,为什么我要折腾1个月的VCS和Verdi了,这个将会大大加快你的开发进度。在此分享给有需要的人,让大家能够节省时间,快速安装完成。
主系统 | Windows 10 专业版 |
Linux | CentOS-6.10-x86_64-bin-DVD1.iso |
虚拟机 | VMware Workstation 15 Player |
Vcs和Verdi链接:https://pan.baidu.com/s/1dV2MK2c3OOTriMd0w10SUA
提取码:6p6f
注:
以及下面链接博主的文章作为参考。
https://blog.csdn.net/qq_40829605/article/details/85345795
假设各位都已经顺利安装虚拟机+CentOS 6.10 ,因为这个实在是很简单。
1. 更换 yum 源为国内源:
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
sudo curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
sudo yum makecache
sudo yum update
2. 安装必要软件,如下:
sudo yum install bash-completion
sudo yum install make patch binutils kernel-devel dos2unix
sudo yum install gcc gcc-c++ perl python tcsh redhat-lsb
安装好以后,terminal 输入:
gcc -v
g++ -v
确保版本号为:4.4.7
3. 必要的设置,如下:
sudo mv /bin/sh /bin/sh2
sudo ln -s /bin/bash /bin/sh
sudo mkdir /usr/tmp
sudo touch /usr/tmp/.flexlm
sudo mkdir -p /usr/synopsys
sudo chown $USER:$USER /usr/synopsys
4. Centos默认是没有设置主机名的,需要设置下
a、修改hosts文本内容,fae-riven是我的主机名字,这个名字请自行修改。可以通过 echo $HOSTNAME 获取主机名。
sudo vi /etc/hosts
127.0.0.1 fae-riven localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 fae-riven localhost localhost.localdomain localhost6 localhost6.localdomain6
b、修改network内容
sudo vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=fae-riven
c、更改主机名:
sudo hostname fae-riven
d、重启
sudo reboot
1. 将 SynopsysInstaller_v3.5.run 安装到目录 /usr/synopsys/installer_v3.5 ,命令如下:
chmod +x SynopsysInstaller_v3.5.run
./SynopsysInstaller_v3.5.run -d /usr/synopsys/installer_v3.5
2. 安装 SCL,这里用的是 SCL 2016.12 版本,老的版本我没试过,不知道是否可以。命令如下:
cd /usr/synopsys/installer_v3.5
./setup.sh
在图形对话框中选择 SCL spf 所在的目录,选择 LINUX64 的版本安装,安装路径为:/usr/synopsys/scl_2016.12
3. 安装 VCS,命令如下:
cd /usr/synopsys/installer_v3.5
./setup.sh
在图形对话框中选择 VCS spf 所在的目录,选择 LINUX64 的版本安装,安装路径为:/usr/synopsys/vcs_L-2016.06-SP2-12
4. 安装 Verdi,命令如下:
cd /usr/synopsys/installer_v3.5
./setup.sh
在图形对话框中选择 Verdi spf 所在的目录,选择 LINUX64 的版本安装,安装路径为:/usr/synopsys/verdi3_L-2016.06-SP2-12
安装过程都是类似的,只要会安装 SCL,其他的软件照样去安装就可以了。
5. 安装 uvm-1.1d,命令如下:
tar xf uvm-1.1d.tar.gz -C /usr/synopsys/
1.在 Win10 上使用 scl_keygen.exe 生成许可证,如下:
2.打开 Synopsys.dat 文件,修改第1、2 行:
SERVER fae-riven 000C29929C28 27000
DAEMON snpslmd /usr/synopsys/scl_2016.12/linux64/bin/snpslmd
第 1 行,fae-riven 为 Centos 主机名,000C29929C28 为 eth0 的 MAC 地址
第 2 行,/usr/synopsys/scl_2016.12/ 为 scl 的安装路径
这 2 处,请按照电脑的实际参数和安装路径修改
3.修改好以后,把 Synopsys.dat 文件上传到 Centos 主机,操作如下:
cp Synopsys.dat /usr/synopsys/
dos2unix /usr/synopsys/Synopsys.dat
4.执行 sssverify 后,如果得到以下输出,则许可证有效:
/usr/synopsys/scl_2016.12/linux64/bin/sssverify /usr/synopsys/Synopsys.dat
Integrity check report for license file "/usr/synopsys/Synopsys.dat".
Report generated on 09-Nov-2018 (SCL_2016.12)
---------------------------------------------------------
Checking the integrity of the license file...
Valid SSS feature found.
Licensed to student@eetop
Siteid: 26356, Server Hostid: 000C29929C28, Issued on: 1/8/2014
License file integrity check PASSED!
---------------------------------------------------------
You may now USE this license file to start your license server.
Please don't edit or manipulate the contents of this license file.
如果没有 License file integrity check PASSED! 则许可证无效,说明你使用 scl_keygen.exe 的时候,参数配置
的不对。请检查参数,严格按照本教程的步骤生成。
我习惯使用 bash,所以配置的是 bash 的环境变量
vim ~/.bashrc
追加如下内容:
#synopsys
export SYNOPSYS=/usr/synopsys
#uvm
export UVM_HOME=$SYNOPSYS/uvm-1.1d
#vcs
export VCS_HOME=$SYNOPSYS/vcs_L-2016.06-SP2-12
#dve
export DVE_HOME=$VCS_HOME/gui/dve
export PATH=$PATH:$DVE_HOME/bin:$VCS_HOME/bin
#verdi
export VERDI_HOME=$SYNOPSYS/verdi3_L-2016.06-SP2-12
export NOVAS_HOME=$SYNOPSYS/verdi3_L-2016.06-SP2-12
export LD_LIBRARY_PATH=${NOVAS_HOME}/share/PLI/VCS/LINUX64
export FSDB_HOME=$VERDI_HOME/share/PLI/VCS/LINUX64
export PATH=$PATH:$VERDI_HOME/bin:$VERDI_HOME/platform/LINUX64/bin
#scl
export SCL_HOME=$SYNOPSYS/scl_2016.12
export PATH=$PATH:$SCL_HOME/linux64/bin
export SNPSLMD_LICENSE_FILE=27000@$HOSTNAME
export VCS_ARCH_OVERRIDE=linux
export VCS_TARGET_ARCH=amd64
alias vcs64="vcs -full64"
alias verdi64="verdi -full64 &"
alias dve64="dve -full64 &"
alias lmli2="lmgrd -c $SYNOPSYS/Synopsys.dat"
修改保存以后,记得执行如下命令,让环境变量生效。
source ~/.bashrc
然后输入如下命令
lmli2
输出如下:
11/09/2018 14:51:43 (snpslmd) ------------------------------------------------------------------
11/09/2018 14:51:43 (snpslmd) Checking the integrity of the license file...
11/09/2018 14:51:43 (snpslmd) Valid SSS feature found.
11/09/2018 14:51:43 (snpslmd) The feature is needed to enable the other keys in your license file.
11/09/2018 14:51:43 (snpslmd) Licensed to student@eetop
11/09/2018 14:51:43 (snpslmd) Siteid: 26356, Server Hostid: 000C29929C28, Issued on: 1/8/2014
11/09/2018 14:51:43 (snpslmd) ------------------------------------------------------------------
如果输出 “(snpslmd) Valid SSS feature found.” ,这样就表明许可证服务器工作正常了,可以正常使用 VCS 和
Verdi 了。
重要提示:
每次开机,首先执行如下命令,启动许可证服务器。如忘记启动许可证服务器,VCS 和 Verdi 拿不到许可证,会导致无法使用。
lmli2
如果执行lmli2出现如下错误:
bash: /usr/synopsys/scl_2016.12/linux64/bin/lmgrd: /lib64/ld-lsb-x86-64.so.3: bad ELF interpreter: No such file or directory
则执行如下命令即可:
sudo yum -y install redhat-lsb
请参考 FEFJay 分享的Centos6.5 防火墙开放端口
关于Makefile,我前面的博客有提道,有兴趣的同学可以去翻来看看:
https://blog.csdn.net/u014164742/article/details/88781141
1.下载百度盘的例程
链接:https://pan.baidu.com/s/1h-MG69uybxcTyU86x7AyVg 提取码:xwbs
2.复制到 ~ 目录下,如果你不知道是什么目录,可以通过以下方式获取路径
cd ~
pwd
/home/riven
3.修改 filelist.f 的路径改成你自己的当前路径,我的如下:
/home/riven/led/rtl/arsr.v
/home/riven/led/rtl/led.v
/home/riven/led/rtl/top.v
/home/riven/led/tb/tb_top.v
4.进入sim目录
cd ~/led/sim/
5.运用Makefile 执行VCS
make vcs
如果出现以下提示 “ V C S S i m u l a t i o n R e p o r t” ,则运行成功
6.运用Makefile 执行 Verdi
make verdi