ubuntu18.04安装vcs、verdi2018

一、安装流程

1.1 准备安装包:scl,vcs,verdi,sysynopsys installer。

在这里插入图片描述

sysynopsys installer:synopsys软件安装工具,通过该软件安装VCS和Verdi。
scl:license在线安装工具,最后通过该工具注册license。
vcs_mx_vO-2018.09-SP2:VCS Verilog+VHDL 混合仿真软件。
vcs_vO-2018.09-SP2:VCS Verilog仿真软件。
verdi-2018.9:Verdi软件。
scl_keygen:license生成工具。

1.2 安装vcs、verdi、scl软件

  1. 新建4个软件安装文件夹,并修改文件夹权限为777。
  • sysynopsys_installer
  • vcs
  • verdi
  • scl
  1. 首先运行synopsysinstaller_v5.0目录下的./SynopsysInstaller_v5.0.run文件,安装installer,安装路径选择上面新建的sysynopsys_installer目录
  2. 安装vcs、verdi、scl。在这里,vcs、verdi、scl安装步骤是一样的。进入sysynopsys_installer文件夹,运行./setup.sh,会调出安装界面,需要注意的是,第一次会让你选择安装包所在的位置,第二次选择安装的地点。这里笔者的安装地点为上面路径提前准备好的文件夹,其他一路next结束。安装过程自动进行,直到安装结束。
    在这里插入图片描述
    在这里插入图片描述

1.3 配置环境变量

在~/.bashrc中添加如下的环境变量,需要修改SynopsysList路径、export LM_LICENSE_FILE=27000@ubuntu中的hostname,这里为ubuntu。$SynopsysList/scl/scl/2018.06/admin/license/Synopsys.dat为下面获得的license文件。

export SynopsysList=/home/Andy/eda_software
export DVE_HOME=$SynopsysList/vcs/vcs/O-2018.09-SP2/gui/dve/
export VCS_HOME=$SynopsysList/vcs/vcs/O-2018.09-SP2/
export VERDI_HOME=$SynopsysList/verdi/verdi/Verdi_O-2018.09-SP2/
#dve
export PATH=$PATH:$VCS_HOME/gui/dve/bin
alias dve='dve -full64'
#VCS
export PATH=$PATH:$VCS_HOME/bin
alias vcs='vcs'
#VERDI
export PATH=$PATH:$VERDI_HOME/bin
alias verdi='verdi'
#scl
export PATH=$PATH:$SynopsysList/scl/scl/2018.06/linux64/bin/
export VCS_ARCH_OVERRIDE=linux
#LICENCE
export LM_LICENSE_FILE=27000@ubuntu
alias lmg='lmgrd -c $SynopsysList/scl/scl/2018.06/admin/license/Synopsys.dat'

1.4 开放27000端口

license端口号设置为27000,一般都是这个端口号不需要修改,使用hostname查询hostid名称,将其填在LM_LICENSE_FILE后面。
环境变量设置好后,需要对开放设置的2700端口号,使用下面语句开放端口号。firewall没有安装的,需要apt安装。

firewall-cmd --zone=public --add-port=27000/tcp --permanent
firewall-cmd --reload

有些虚拟机中的应用程序可能会占用27000端口号,因此可以使用下面的语句对2700端口号的应用程序进行管理:

#允许27000端口号运行
sudo ufw allow 27000
sudo ufw enable
sudo ufw reload
sudo ufw status
#查询27000端口号进行并kill占用进程
netstat -ap | grep 27000
kill -9 XXX(看到的占用端口的ID号)

一般来说虚拟机并没有进程占用该端口,所以kill不kill就无所谓了。

1.5 生成license

生成之前,需要修改Synopsys.src中的时间,将下面的2020改为2029。对应scl_keygen.exe软件中的截止时间也改为30-dev-2029。
在这里插入图片描述

生成之前在虚拟机上查询hostid和安装MAC地址,这里需要记住ether后面的6个8bit数值。

hostname
ifconfig

打开scl_keygen.exe工具。
在这里插入图片描述

将查询到的hostname和MAC号填在上图指示的位置,HOST ID Daemon和HOST ID Feature填相同的内容,生成的license日期也需要修改下,修改到你需要的日期。
在这里插入图片描述

填完以后点Generate,会在目录下生成最新的Synopsys.dat文件,同时界面也会给出生成的文件代码。

打开生成的Synopsys.dat文件,修改第二行路径,将该路径指到scl安装的对应snpslmd路径下:

保存后退出,将该文件复制到共享文件夹下,同时共享到Ubuntu下面。这里需要注意的是,不要复制界面上的,虽然文件内容一致,但是copy到Ubuntu下面有编码格式不一致的问题。如果在Ubuntu下面打开Synopsys.dat不显示乱码,则表示两者编码格式一致。

上述完成后,切换到Ubuntu下,运行lmg命令激活,激活为自动过程,但是由于虚拟机的特性,需要每次启动虚拟机后注册激活一遍,最终显示激活完成。

1.6 激活

激活license是最关键的步骤。在之前可能需要安装:

sudo apt-get install lsb-core

终端输入lmg即可激活。

可能遇到的问题

  1. Failed to open the TCP port number in the license

解决:输入指令:lmdown,然后y。等待两分钟,再次输入指令:lmg_vcs。(激活license)

2. 问题:lmgrd can’t make directory /usr/tmp/.flexlm when running server on Ubuntu

解决:输入指令:

sudo -i

mkdir /usr/tmp/

chmod 777 /usr/tmp/

参考博客:https://blog.csdn.net/heyuming20062007/article/details/120744167

二、打开verdi、dve

2.1 输入dve即可打开dve。dve是vcs的界面化。

  1. 解决Verdi使用报错的问题 链接库缺失问题

报错内容:sh: /usr/synopsys/verdi/Verdi_O-2018.09-SP2/etc/lib/libstdc++/LINUXAMD64/libtinfo.so.5: no version information available (required by sh)

解决方法

sudo apt-get install libncurses5 -y
sudo mv /usr/synopsys/verdi/Verdi_O-2018.09-SP2/etc/lib/libstdc++/LINUXAMD64/libtinfo.so.5 /usr/synopsys/verdi/Verdi_O-2018.09-SP2/etc/lib/libstdc++/LINUXAMD64/libtinfo.so.5.bak
sudo cp /lib/x86_64-linux-gnu/libtinfo.so.5 /usr/synopsys/verdi/Verdi_O-2018.09-SP2/etc/lib/libstdc++/LINUXAMD64/libtinfo.so.5
  1. 报错:verdi_2016/bin/verdi: 433: /home/book/synopsysoftware/verdi_2016/bin/verdi: Syntax error: “(” unexpected或者启动vcs总是报 Illegal option -h

在ubuntu上,/bin/sh默认是链接到/bin/dash的,当你从源代码编译软件的时候,dash可能会导致一些错误,至少我遇到过类似问题,因此,我把/bin/sh的连接改为了/bin/bash
应该这样做:

rm -f /bin/sh
ln -s /bin/bash /bin/sh
  1. 或者是libpng12.so.0: cannot open shared object file: No such file or directory
sudo -i #先进入root权限
wget -q -O /tmp/libpng12.deb http://mirrors.kernel.org/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.54-1ubuntu1_amd64.deb 
dpkg -i /tmp/libpng12.deb 
rm /tmp/libpng12.deb
#用wget得到相应的包

2.2 使用中遇到的问题

  1. vcs编译报错:未定义参数变量:libvcsnew.so: undefined reference to

  2. 问题描述:在利用vcs进行仿真的时候,遇到如下 “libvcsnew.so: undefined reference to xxxxxx" 这种报错,这里提供解决方法。

/opt/synopsys/vcs_vO-2018.09-SP2/linux64/lib/libvcsnew.so: undefined reference to `vfs::vfsReleaseVirtualFileList(VFILE_LIST*)'
/opt/synopsys/vcs_vO-2018.09-SP2/linux64/lib/libvcsnew.so: undefined reference to `ZsGetDfsInstId'
/opt/synopsys/vcs_vO-2018.09-SP2/linux64/lib/libvcsnew.so: undefined reference to `snpsCheckCallocFromGroupFunc'
/opt/synopsys/vcs_vO-2018.09-SP2/linux64/lib/libvcsnew.so: undefined reference to `ZsFinalize'
/opt/synopsys/vcs_vO-2018.09-SP2/linux64/lib/libvcsnew.so: undefined reference to `vfs_feof'
/opt/synopsys/vcs_vO-2018.09-SP2/linux64/lib/libvcsnew.so: undefined reference to `snps_mem_named_push_context'
/opt/synopsys/vcs_vO-2018.09-SP2/linux64/lib/libvcsnew.so: undefined reference to `vfs_fflush'
/opt/synopsys/vcs_vO-2018.09-SP2/linux64/lib/libvcsnew.so: undefined reference to `vfs_fseek'
/opt/synopsys/vcs_vO-2018.09-SP2/linux64/lib/libvcsnew.so: undefined reference to `snpsGroupSize'
/opt/synopsys/vcs_vO-2018.09-SP2/linux64/lib/libvcsnew.so: undefined reference to `vfs_enable_multi_process_support'
/opt/synopsys/vcs_vO-2018.09-SP2/linux64/lib/libvcsnew.so: undefined reference to `snps_mem_get_current_group'
/opt/synopsys/vcs_vO-2018.09-SP2/linux64/lib/libvcsucli.so: undefined reference to `storeMiscTfCb'
/opt/synopsys/vcs_vO-2018.09-SP2/linux64/lib/libvcsnew.so: undefined reference to `snpsHighMemory'
/opt/synopsys/vcs_vO-2018.09-SP2/linux64/lib/libvcsnew.so: undefined reference to `vfs::vfsGetVirtualFileList(char const*, char const*, int)'
/opt/synopsys/vcs_vO-2018.09-SP2/linux64/lib/libvcsnew.so: undefined reference to `snpsStrdupFunc'
/opt/synopsys/vcs_vO-2018.09-SP2/linux64/lib/libvcsnew.so: undefined reference to `vfs::fseek(vfs::CFile*, long, int)'
/opt/synopsys/vcs_vO-2018.09-SP2/linux64/lib/libvcsnew.so: undefined reference to `ZsGetValueLocation'
/opt/synopsys/vcs_vO-2018.09-SP2/linux64/lib/libvcsucli.so: undefined reference to `shutDownNativeUcli'
/opt/synopsys/vcs_vO-2018.09-SP2/linux64/lib/libvcsnew.so: undefined reference to `snps_mem_unmap_freed_pages'
/opt/synopsys/vcs_vO-2018.09-SP2/linux64/lib/libvcsnew.so: undefined reference to `vfs_cleanup'
/opt/synopsys/vcs_vO-2018.09-SP2/linux64/lib/libvcsnew.so: undefined reference to `snpsCallocFromGroup'
/opt/synopsys/vcs_vO-2018.09-SP2/linux64/lib/libvcsucli.so: undefined reference to `isUcliEngineStarted'
/opt/synopsys/vcs_vO-2018.09-SP2/linux64/lib/libvcsnew.so: undefined reference to `vfs::mfprintf(vfs::CFile*, char const*, ...)'
/opt/synopsys/vcs_vO-2018.09-SP2/linux64/lib/libvcsnew.so: undefined reference to `ZsExecuteNBAs'
/opt/synopsys/vcs_vO-2018.09-SP2/linux64/lib/libvcsnew.so: undefined reference to `snps_mem_set_out_of_memory_routine'
/opt/synopsys/vcs_vO-2018.09-SP2/linux64/lib/libvcsnew.so: undefined reference to `vfs_fwrite'
  1. 解决方案:

在vcs命令后面加入选项 -LDFLAGS -Wl,–no-as-needed。

vcs -full64 -cpp g++-4.8 -cc gcc-4.8 -LDFLAGS -Wl,--no-as-needed

2.3 vcs的使用

  1. 验证license
sssverify  /home/kx2/eda_software/scl/scl/2018.06/admin/license/Synopsys.dat
  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值