Linux系统中VCS、Dve & Verdi的使用

1. 资料来源:
1)http://bbs.eetop.cn/thread-633801-1-1.html
2)https://blog.csdn.net/Chi_Hong/article/details/86298048
3)https://blog.csdn.net/qq_40829605/article/details/85345795

2. Linux系统中VCS、Dve & Verdi的安装与破解
具体的安装包在资料来源3)中能找到。按照资料来源1)、2)、3)进行安装和破解。本文主要总结的不是安装与破解的过程,主要总结的是在安装与破解过程中遇到的问题。
安装的大概步骤:下载安装包-解压-安装-获取license-修改Synopsys.dat文件-设置环境变量-安装lsb-core-激活。

3. VCS、Dve & Verdi的安装与破解过程中的问题
1)在激活期间,如果激活失败,多半是27000端口被占用了,所以要使用kill指令干掉占用的程序。

2)每次使用VCS、Dve & Verdi,都需要开启激活。

3)若破解后运行VCS报出"/bin/sh illegal option -h"的错误,则需要检查是否安装了sh。若没有安装sh,则需要sudo apt-get install sh。

4)若在VCS运行期间报以下错误:

/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `snpsGroupGetActive'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `miHeapProf_init'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsucli.so: undefined reference to `printIclBeginMarker'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `snpsCallocFunc'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsucli.so: undefined reference to `executeTclProc'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `snpsCheckMallocFromGroupFunc'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsucli.so: undefined reference to `waitForUserInput'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsucli.so: undefined reference to `storeSimLogFileHandle'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `snpsSetOutOfMemoryRoutine'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsucli.so: undefined reference to `registerPreRestartFunc'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsucli.so: undefined reference to `initNativeUcli'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `snpsCheckReallocFunc'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `snpsNamedAllocateGroup'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsucli.so: undefined reference to `printIclEndMarker'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `snpsCallocFromGroup'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `snpsSetSmallCaching'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `snps__StrdupFunc'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `snpsHighMemory'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `snpsStrdupFunc'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `snpsCheckMallocFunc'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `snpsGetMemBytes'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `snpsMallocFunc'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `snpsReallocFromGroup'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `snpsCheckCallocFromGroupFunc'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsucli.so: undefined reference to `execMhpiTclCommand'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `snpsMallocFromGroup'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `snpsSetHook'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `snpsFreeFunc'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `snpsMemSetLogFileHandle'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `snpsFreeGroup'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `snpsOutOfMem'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `snpsNamedPushGroup'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `miHeapOn'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsucli.so: undefined reference to `setIclCmd_ResVars'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsucli.so: undefined reference to `setEnvPair'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `snpsLowMemory'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `snpsCheckFreeFunc'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `registerOutOfMemHandle'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsucli.so: undefined reference to `vcsRunUcliErrorScript'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsucli.so: undefined reference to `shutDownNativeUcli'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `snpsMemManagerIsActive'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `snpsDoStackUnwind'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsucli.so: undefined reference to `breakNativeTclLoop'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `snpsCheckCallocFunc'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `snpsNamedPopGroup'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsucli.so: undefined reference to `storeMiscTfCb'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `snpsCurrentGroup'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsucli.so: undefined reference to `isUcliEngineStarted'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `snpsPrintf'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `snpsCheckStrdupFunc'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsucli.so: undefined reference to `execMhpiTclCommandNoPrint'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `snpsGetHook'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `snpsReallocFunc'
/XXX/synopsys/vcs_2016.06/linux/lib/libvcsnew.so: undefined reference to `snpsGroupSize'

其中/XXX/是我个人目录,所以不用理会。出现这个问题的原因是gcc版本过高,VCS一般是运行在gcc4.4上。解决办法:安装多个gcc版本。

4. gcc版本降级
如果能使用sudo apt-get install gcc - 4.4 g++ - 4.4的可以忽略下面的内容,直接使用sudo apt-get install gcc - 4.4 g++ - 4.4进行安装。
我的ubuntu系统是16.04的,已经没有gcc - 4.4 g++ - 4.4的安装源,最低的是gcc - 4.8 g++ - 4.8,所以我无法使用上面的方式,因此需要采用以下的方式:

1)登陆http://old-releases.ubuntu.com/ubuntu/pool/universe/g/,下载
1.1) g++ - 4.4_4.4.7-8ubuntu1_i386.deb
1.2) cpp-4.4_4.4.7-8ubuntu1_i386.deb
1.3) gcc-4.4_4.4.7-8ubuntu1_i386.deb
1.4) gcc-4.4-base_4.4.7-8ubuntu1_i386.deb
1.5) libstdc++6-4.4-dev_4.4.7-8ubuntu1_i386.deb
1.6) libstdc++6-4.4-dbg_4.4.7-8ubuntu1_i386.deb

2)运行sudo dpkg -i *.deb。

3)由于某些原因,我不想切换gcc的版本,所以我再VCS运行的脚本中加入了:

vcs -cpp g++-4.4 -cc gcc-4.4

指定gcc-4.4 g++ - 4.4作为VCS运行的gcc。需要切换的话可以参考以下文章:
https://blog.csdn.net/researchstep/article/details/50325945

5. 附加VCS仿真的选项说明
VCS部分仿真选项的说明:
https://blog.csdn.net/qq_41394155/article/details/81486760

你可能感兴趣的:(RISC-V,&,rocket-chip)