TooyamaYuuouji

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

记一次在Ubuntu18虚拟机上安装VCS等

没想到Questa Sim被我用崩了,出了问题还找不到问题在哪。一气之下转战VCS。远离需要写代码的工作,会变得不幸。

首先感谢这篇博文《VCS2018在Ubuntu20 18安装步骤》的博主,安装方法几乎都来自于此。使用到的软件主要为Ubuntu-18.04.6-desktop-amd64,

一、下载相关安装包

Ubuntu的安装包来自于此:http://mirrors.ustc.edu.cn/ubuntu-releases/18.04.6/
VCS等的安装包和相关材料,可以通过如下的网盘链接获得:https://pan.baidu.com/s/18_7_cbYmi04h5vmbghqNQA?pwd=7ln3 提取码:7ln3

二、安装准备

2.1 虚拟机的安装

这一步没啥好说的,在VMware Workstation上面安装好Ubuntu虚拟机并打开,进入终端。
值得一提的是,在安装时我选择的是最小安装
image

因此,后续需要手动安装一些软件包,这一点尤其需要注意。

2.2 创建共享文件夹

首先安装VMware Tools,在终端中依次输入命令:

sudo apt update
sudo apt install open-vm-tools

显示重新安装VMware Tools的灰色选项就说明安装成功。
image

为了实现Windows和Ubuntu之间的数据交换,需要创建一个共享文件夹。创建共享文件夹的详细操作可以参考博文:VMware教程(一):设置 CentOS 7 共享文件夹。此处我创建的共享文件夹名字为Windows2Linux

2.3 准备对应资源

解压下好的vcs_verdi2018.zip压缩包,得到以下文件:
image
将其中的scl_v2018.06、synopsysinstaller_v5.0、vcs_vO-2018.09-SP2、verdi-2018.9移动到共享文件夹中。在共享文件夹中创建一个文件夹(这里以temp为例),并将上述文件夹全部放进去,以方便后续的移动操作。
image

回到Linux端。在自己喜欢的路径建立如下文件夹,并将共享文件夹中的内容复制过来。因为内容有点多,移动过程需要花费一定的时间,等待移动完成。
image

三、开始安装

3.1 启动安装器

进入temp文件夹中的安装器文件夹,执行./SynopsysInstaller_v5.0.run,会提示将启动器安装在哪。这里为了方便起见,直接安装到当前路径。
image
安装完成后,执行./setup.sh,弹出引导界面就算成功。
image
点击Start,出现如下界面。可以全默认,点击Next。
image
之后出现如下界面。该界面用于选择安装源。值得一提的是,SCL、VCS和Verdi,每一个都有一个安装源,因此总计要安装三次。
image

3.2 SCL

SCL是Synopsys软件的License管理软件。为了使用VCS和Verdi,这个软件是必不可少的。

选择SCL安装源所在的路径,以我为例,为 /home/yuuouji/EDA/Synopsys/temp/scl_v2018.06 ,当然,这个选择过程是图形化的。选择好后点击Next。
image
之后会选择安装路径。选择之前创建的对应文件夹即可。以我为例,该文件夹对应的路径为 /home/yuuouji/EDA/Synopsys/scl。选好后点击Next。image
产品选择界面没啥好说的,也没其他的可选。选好后点击Next。
image
配置界面看一眼就好,一般直接点击Next。
image
确认界面选择Accept,Install,之后就是等待安装完成。
image
安装完成后选择Finish,会弹出发行简介,直接点击Dismiss。
image
image
这样,SCL就安装好了。

3.3 VCS

与SCL的安装流程类似,再次启动setup.sh文件,依次选择Start,Next,来到安装源的选择界面。以我为例,选择的安装源路径为 /home/yuuouji/EDA/Synopsys/temp/vcs_vO-2018.09-SP2 ,点击Next,安装路径为 /home/yuuouji/EDA/Synopsys/vcs。VCS的产品也只有一个可选,选择后点击Next。
image
之后依次点击Next和Accept,Install,等待安装完成。
安装到尾声的时候会弹出错误,这个错误无伤大雅,只是说明一个脚本没有被执行。这个脚本用来安装文档,没有也不影响使用。直接点击OK,然后Finish,最后是Dismiss。
image

3.4 Verdi

Verdi的安装流程与VCS相同。再次启动setup.sh文件,依次选择Start,Next,来到安装源的选择界面。以我为例,选择的安装源路径为 /home/yuuouji/EDA/Synopsys/temp/verdi-2018.9 ,点击Next,安装路径为 /home/yuuouji/EDA/Synopsys/verdi。Verdi的产品也只有一个可选,选择后点击Next。
image
之后依次点击Next和Accept,Install,等待安装完成。完成后点击Finish和Dismiss。
image

四、破解

4.1 生成license

由于一些原因,为了使用VCS等软件需要对其进行破解,这可以说是传统艺能了。

在Windows侧,打开之前解压出来的、名为scl_keygen_2030的文件夹,运行其中名为scl_keygen.exe的可执行文件。
image
在操作界面,有三个地方需要修改,有一个地方需要注意。
image

  • HOST ID Maemon和HOST ID Feature处需要填入自己的Ubuntu的物理地址
  • HOST Name处需要填入自己的Ubuntu主机名
  • EXPIRE处规定了生成的License文件的有效期限,这里是2030年12月12日到期,可以无需对其进行操作。

回到Ubuntu的终端界面,依次输入以下命令:

sudo apt install net-tools
ifconfig
hostname

图中红圈处的部分就是物理地址,将其中的冒号去掉,填入操作界面中;hostname的返回值就是主机名,将其也填入操作界面中。
image
填好后点击Generate,就会在该可执行文件所在的文件夹下生成一个名为Synopsys.dat的文件,这就是我们的目标文件。
image
image
打开该文件,需要修改其中的第二行,及snpslmd所在的绝对路径。
image
按照下图所示的相对路径,在SCL的安装目录中找到该路径,以我为例,该路径是 /home/yuuouji/EDA/Synopsys/scl/scl/2018.06/linux64/bin
image
将该路径加入Synopsys.dat,变成如下图所示的形式。
image

4.2 修改环境变量

为了让VCS等能识别到license,需要进行环境变量的设定。在Ubuntu终端分别输入以下指令:

sudo apt-get install vim
vim ~/.bashrc

在该文件的末尾添加以下代码:

# export export SYNOPSYS="/usr/software/synopsys"
export VCS_TARGET_ARCH="amd64"
export PATH="/home/yuuouji/EDA/Synopsys/vcs/vcs/O-2018.09-SP2/gui/dve/bin:"$PATH
export DVE_HOME="/home/yuuouji/EDA/Synopsys/vcs/vcs/O-2018.09-SP2/gui/dve"
export PATH="/home/yuuouji/EDA/Synopsys/vcs/vcs/O-2018.09-SP2/bin:"$PATH
export VCS_HOME="/home/yuuouji/EDA/Synopsys/vcs/vcs/O-2018.09-SP2"
# export VCS_ARCH_OVERRIDE="linux"
# verdi
export PATH="/home/yuuouji/EDA/Synopsys/verdi/verdi/Verdi_O-2018.09-SP2/bin:"$PATH
export VERDI_HOME="/home/yuuouji/EDA/Synopsys/verdi/verdi/Verdi_O-2018.09-SP2"
export LD_LIBRARY_PATH="/home/yuuouji/EDA/Synopsys/verdi/verdi/Verdi_O-2018.09-SP2/share/PLI/lib/LINUX64":$LD_LIBRARY_PATH
export VERDI_DIR="/home/yuuouji/EDA/Synopsys/verdi/verdi/Verdi_O-2018.09-SP2"
export NOVAS_INST_DIR="/home/yuuouji/EDA/Synopsys/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/yuuouji/EDA/Synopsys/verdi/verdi/Verdi_O-2018.09-SP2"
# LICENSE
export SNPSLMD_LICENSE_FILE="/home/yuuouji/EDA/Synopsys/license/Synopsys.dat"
# export SNPSLMD_LICENSE_FILE=27000@自己的hostname
export SNPSLMD_LICENSE_FILE=27000@myVM
export LM_LICENSE_FILE="/home/yuuouji/EDA/Synopsys/license/Synopsys.dat"
alias lmli="/home/yuuouji/EDA/Synopsys/scl/scl/2018.06/linux64/bin/lmgrd -c /home/yuuouji/EDA/Synopsys/license/Synopsys.dat"
# SCL
export PATH=/home/yuuouji/EDA/Synopsys/scl/scl/2018.06/linux64/bin:$PATH
alias dve="dve -full64 &"
alias vcs64="vcs -full64"
alias verdi="verdi -full64 &"

由于代码很长,而且需要根据上面的相对路径一个个修改为自己目录下的绝对路径,因此这里的修改需要非常小心。

修改完成后,在终端输入source ~/.bashrc生效上述环境变量。

4.3 验证license

将修改后的Synopsys.dat复制到共享文件夹Windows2Linux中,回到Ubuntu终端,将该文件移动到之前创建的License文件夹中。
image
确认有该文件后,依次输入以下命令:

sudo apt install dos2unix
dos2unix Synopsys.dat

之后按照下图中的相对路径,索引到SCL中,一个名为sssverify的可执行文件,该文件的作用是验证license文件是否合法。使用方式如图,即需要license所在的文件路径,以我为例,该路径为 ~/EDA/Synopsys/license/Synopsys.dat

启动验证后,只有出现了下图中红圈所示的PASSED!才能说明破解成功。如果破解不成功,仔细核对上述流程中的步骤,看是否出现了路径出错、代码中混入了其他符号等问题。如果验证了很多次仍然不行,考虑生成新的license并重新验证。
image

4.4 启动license

正如使用sssverify来验证license文件一样,SCL中有lmgrd用于启动license。

在启动license之前,先在终端输入命令apt-get install lsb-core安装32位库。

由于之前已经在bashrc中使用别名(alias)将lmgrd文件的使用过程封装成了命令,因此直接在终端输入命令lmli即可执行license。

执行license后令其等待一段时间,发现其出现如图所示的错误提示,按照其提示在对应路径下创建文件夹。
image
创建好后再次输入命令lmli,发现又出现了问题。
image
该问题的原因在于端口被占用。使用以下命令:

lmdown
ps auf | grep lmgrd
kill -9 15721

放开端口。其中kill命令返回说没有该进程,这是十分正常的事情。放开端口后重新执行lmli,如果还出现占用问题,就pskill多试几次。
image
最终成功执行lmli后,出现以下数据就说明执行成功了。前后分别按下ctrlC键,停止执行。
image

五、软件验证

终端输入dve,等待一段时间,出现界面,说明成功。
image
终端输入verdi,会发现其提示语法错误。
image
出现这个问题的原因在于从Ubuntu-6.10开始,默认使用dash(the Debian Almquist Shell)而不是bash(the GNUBourne-Again Shell),两者之间的区别会导致错误。

执行命令sudo dpkg-reconfigure dash,在弹出的界面里面选择,然后按下回车键。
image
修改完后再次输入verdi,发现仍有错误,该错误的原因在于缺少一个关键库文件。
image
这个缺少的库文件就在解压后得到的文件夹libpng12.so.0中。打开该文件夹,将文件libpng12.so.0复制到Windows2Linux文件夹中,再在Linux端使用命令将其移动到路径 /usr/lib/x86_64-linux-gnu/ 当中。

image
image
再次输入verdi,等待一段时间就能弹出界面。
image
终端输入vcs -help,出现如下界面说明成功。
image

六、开机自启动license

每次使用VCS之前,都需要启动license,这显然太不方便了。因此创建一个脚本使其开机自启动。

依次输入以下命令:

cd /etc/profile.d/ 
sudo touch lmli.sh
sudo chmod 777 lmli.sh
vim lmli.sh

在打开的lmli.sh文件中,输入以下内容,保存并退出。

/home/yuuouji/EDA/Synopsys/scl/scl/2018.06/linux64/bin/lmgrd -c /home/yuuouji/EDA/Synopsys/license/Synopsys.dat -l /home/yuuouji/EDA/Synopsys/scl/scl/2018.06/linux64/bin/lmgrd.log

重启Ubuntu,打开终端后直接输入verdi,等待一段时间后弹出界面,大功告成!

posted on 2022-09-17 22:40  TooyamaYuuouji  阅读(6997)  评论(4)    收藏  举报