有人预言,RISC-V或将是继Intel和Arm之后的第三大主流处理器体系。欢迎访问全球首家只专注于RISC-V单片机行业应用的中文网站
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 新ちゃん 于 2020-8-29 10:08 编辑
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单片机中文网
|