我是 雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索。
关注公众号【集成电路设计教程】,拉你进“IC设计交流群
”。
有需要软件的朋友可以私聊我,但拒绝伸手党/白嫖党!
依赖
系统:ubuntu20.04 64位
Innovus安装包:
- Base_INNOVUS20.10.000_lnx86
Crack:
- 1patch
License
- cadence.dat
先安装依赖:
sudo apt-get -y install openjdk-11-jdk
sudo apt-get install ksh
sudo apt-get install csh
sudo apt-get install xterm
sudo add-apt-repository ppa:linuxuprising/libpng12
sudo apt update
sudo apt install libpng12-0
sudo apt install libjpeg62
sudo apt install libncurses5
Cadence家的脚本默认采用 ksh 而非 bash。
不安装 csh,会出现下列报错;
cds_plat: not found
innovus: ERROR: Cannot find a proper cds_plat in the hierarchy.
innovus: ERROR: Cannot identify the current platform.
innovus: Check your installation.
一、InstallScape安装
解压Innovus 2020的三个安装包后,得到INNOVUS20.10.000_lnx86.Base,8.85GB
CDROM1下有IScape04.23的压缩包,将其放到合适的地方解压缩即可。
在 Cadence/IScape04.23-s012lnx86.t/iscape/bin
路径下打开终端,输入:
./iscape.sh
二、Innovus安装
点击Local directory …
选择安装包路径
/home/jc-cao/Disk_sda4/Cadence/Innovus2020/CDROM1
点击Continue
选中搜索结果INNOVUS_20.10.000_lnx86, 点击next
勾选PINNOVUS
选择安装路径
/home/jc-cao/Disk_sda4/Cadence/INNOVUS201
点击start开始安装,需要一些时间,安装完成后将进行configure,碰到license有关的内容选no即可。
输入 Enter
这个地方输入 n,安装完毕:
三、Crack
这里我所使用的是 1patch,在其所在目录下打开终端,输入:
./1patch -ecc /home/jc-cao/Disk_sda4/Cadence/INNOVUS201
四、配置环境变量
- 编辑bashrc
gedit ~/.bashrc
- 在后面添加
#######################################################
# cadence
# license
export CadenceDir=/home/jc-cao/Disk_sda4/Cadence
export LM_LICENSE_FILE=$CadenceDir/License/cadence.dat
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$INNOVUSDIR/tools.lnx86/lib
# Innovus2020
export INNOVUSDIR=$CadenceDir/INNOVUS201
export PATH="$PATH:$INNOVUSDIR/bin"
export PATH="$PATH:$INCISIVDIR/tools.lnx86/bin"
export PATH="$PATH:$INCISIVDIR/tools.lnx86/dfII/bin"
五、测试
5.1 测试
在安装路径 Cadence/INNOVUS201/bin
下打开终端,输入 innovus
:
有报错,但也成功打开的软件,就是不知道功能是否完善。
5.2 所遇到的问题
(1)
问题描述:/home/jc-cao/Disk_sda4/Cadence/INNOVUS201/tools.lnx86/innovus/bin/64bit/innovus: error while loading shared libraries: libXp.so.6: cannot open shared object file: No such file or directory
报错的原因是没安装 libXp.so.6
这个库所导致的,
解决方法:
- 进入官网下载Xbin.tgz这个文件。
2.解压这个文件,目录下有 bin 和 lib64 两个文件夹
3.将 /Xbin/lib64 文件夹下的 libXp.so.6 复制到 /usr/lib/libXp.so.6
中。
sudo cp /home/jc-cao/app_download_address/Xbin/Xbin/lib64/libXp.so.6 /usr/lib/libXp.so.6
sudo chmod 777 libXp.so.6
再次执行就没有报此错误了。
(2)
在上面测试时,虽然成功打开了Innovus GUI界面,但防止有功能错误,还是准备将报的Error进行修复。
问题描述:
**ERROR: (IMPOAX-142): Could not open shared library libinnovusoax22.so : liboaDesign.so: cannot open shared object file: No such file or directory
解决方法:
这是由于官方没有支持Ubuntu,所以需要修改下系统检测代码:
修改脚本文件:
/home/jc-cao/Disk_sda4/Cadence/INNOVUS201/share/oa/bin/sysname
在180行 check_linux()
部分,在 对 \$version
进行匹配的 case 中加入:
5.11.*)
sysname="linux_rhel60_64"
sysnames="$sysname `whichCompiler $otherName` $sysnames";;
注:此处的 5.11.*
是 ubuntu 的内核发行版本号,可使用 uname -r
命令查看:
我的ubuntu的内核是5.11.0-46-generic,所以此处填 5.11.*
,若你的linux内核为 4.15.0-42-generic,则应该填 4.15.*
,依次类推。
修改好后,重新输入命令innovus
即可正常启动,如下图所示:
没有之前的那些报错了。
六、使用过程所遇问题记录
在route时出现
========================================
gdb
========================================
Using: gdb
gdb: /home/jccao/cadence/INNOVUS201/tools.lnx86/lib/64bit/libstdc++.so.6: version `CXXABI_1.3.11' not found (required by gdb)
问题分析:libstdc++.so.6
版本不对,或者是缺失。
解决方法:
将 ubuntu20.04 自带的 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28
复制到缺失文件夹,再符号链接下就可以了
cd /home/jccao/cadence/INNOVUS201/tools.lnx86/lib/64bit
cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28 .
mv libstdc++.so.6 libstdc++.so.6.bak
ln -s libstdc++.so.6.0.28 libstdc++.so.6