Cadence IC设计环境搭建(在Ubuntu上进行)
前言
由于某种不可抗拒因素,本信安人不得不安装配置Cadence IC设计环境(IC617+MMSIM151+Calibre2015)(虽然我不用学这些)。由于本人摸索了几天才搭建好本环境,于是觉得对此进行记录,为下次重装节省时间。
参考:
https://zhuanlan.zhihu.com/p/354374816
https://my.oschina.net/propagator/blog/3166272
https://blog.csdn.net/qq_40987215/article/details/104722352
由于Cadence Virtuoso运行在linux系统上,本人所用系统是window系统,所以需要先安装虚拟机linux系统,在linux系统上安装搭建Cadence IC设计环境
安装VMware
安装VMware Workstation 14,这个网上下载安装,找注册码破解即可,很简单,无需记录
安装VMware Tools
VMware Tools用于支持鼠标移入移出、文件共享、窗口自适应等实用功能,为了方面实用必装。
安装Ubuntu 18.04
网上搜索Ubuntu的iso文件,通过别人分享的百度网盘下载速度最快,其次使用国内的镜像源网站下载速度也较快,不建议直接官网下载,速度极慢。下载完Ubuntu 18.04的iso的文件(ubuntu-18.04.4-desktop-amd64.iso)后,在VMware安装Ubuntu虚拟机。注意:该虚拟机需要配置为:可以上网,分配虚拟机硬盘一定要足够大,最好120G以上,至少80G以上。 处理器至少分配两个。
点击完成
之后对安装好的虚拟机的资源配置可以进行更改,更改后如下:
总结就是:可以上网,硬盘120G以上,内存和处理器尽可能多。
ubuntu18.04安装cadence virtuoso
打开虚拟机,用刚才设置的账号密码登录Ubuntu系统。
- 打开命令行终端:
开始安装之前,先建立安装目录(或者直接手动直接建立安装目录,但是要注意是下面的路径):
在桌面点击鼠标右键,
点击,打开命令行终端。
输入如下命令:
mkdir -p /opt/cadence/installscape
mkdir -p /opt/mentor/Calibre
建立root用户:
输入:
$ sudo passwd root
输入新的 UNIX 口令: <输入新密码>
重新输入新的 UNIX 口令:<重新输入新密码>
然后按照提示输入两次密码,一次为新密码,一次为确认密码,
等到提示:
passwd: password updated successfully
看着这句话说明密码更改成功了,然后使用su - root后输入刚刚新修改的密码即可 进入root用户。
之后安装以来包:
apt-get install openjdk-8-jdk openjdk-8-jre
apt-get install ksh csh xterm libncursesw5-dev libxtst6:i386 libxi6:i386 lib32ncurses5 lib32stdc++6 libstdc++5:i386
由于virtuoso支持的redhat enterprice linux和ubuntu还是有些不同,因此还需要做一些修改才能顺利安装。首先创建如下软链接:
sudo ln -s /usr/bin/mawk /bin/awk
sudo ln -s /usr/bin/basename /bin/basename
sudo ln -s /lib/x86_64-linux-gnu/libncursesw.so.5.9 /lib/libtermcap.so.2
还需要让Virtuoso“认为”自己在Redhat上运行,在/etc中创建文件:
sudo gedit /etc/redhat-release
然后写入:
Red Hat Enterprise Linux release 6.12
点击“save”进行保存。
然后需要更改权限:
sudo chmod 644 /etc/redhat-release
接下来就可以开始安装了。首先下载安装文件,所有安装文件可在如下地址下载:
https://pan.baidu.com/s/1Pq_ofvvDoV8u5jz1wZyQIg
提取码为:eern
(来自博客https://my.oschina.net/propagator/blog/3166272)
下载完直接将文件复制粘贴到虚拟机Ubuntu的文件夹中(前提是安装了安装VMware Tools,才可以直接复制粘贴)。
注意下载后的文件是按安装在虚拟机上准备的,因此有一些文件是没必要的,实际上用得到的只有从03到10。此外,文件的排列顺序也就是实际的安装顺序,在安装前要对所有文件进行解压。因为04的两个压缩包是分卷压缩的,因此解压需要使用如下方法.
cat 04.IC06.17.700_Base.zip* > 04.IC06.17.700_Base.zip
unzip 04.IC06.17.700_Base.zip
即先将两个分卷合并,然后再解压,否则可能遇到无法解压的情况。
全部解压后如下:
进入解压后的03.InstallScape,可看到如下压缩文件,
该文件可用如下方法解压:
zcat IScape04.23-s010lnx86.t.Z | tar xvf -
解压后得到如下文件:
在此目录下执行如下语句即可开始安装。
iscape/bin/iscape.sh
设置默认安装路径:
安装Cadence IC617:
点击“Local directory/Media install”----“Browse”并选择安装文件所在的文件夹04.IC06.17.700_Base,确认路径的正确然后点“Continue>”
确认安装的路径以及勾选安装包,点击“Start”开始安装
在安装过程中,配置环节会跳出窗口进行配置,可以按如下方式处理:
安装完成后,点击done,回到主界面,此时可以点击cancel,重新选择软件包路径,继续安装MMSIM
接下来的安装步骤和之前安装IC617几乎完全一样
同样在配置时会跳出窗口进行配置
不同的地方在于,在这里OA目录要设置为之前IC617的OA目录
其余步骤一律回车,直至安装完成。
点击“Done”完成完装,退出InstallScape
至此安装完成,可如下查看当前系统安装的软件:
。
接下来安装calibre,可以看到,解压后的calibre是个单独的exe文件:
由于运行该文件会直接把calibre安装在当前目录下,因此将该文件拷贝至/opt/mentor/Calibre目录下,在该目录下打开Terminal执行:
./aoi_cal_2015.2_36.27_mib.exe
若无法运行,可能是权限的问题:
法一: 改为root用户进行运行
法二:修改该文件的权限:chmod 777 aoi_cal_2015.2_36.27_mib.exe
先输入“D”,然后再输入“yes”,等待安装完成:
至此IC617, MMSIM和Calibre2015均安装完成,接下来分别为其安装补丁。先进入07.cadence_patch解压后的文件夹,如下所示
执行如下指令打补丁:
chmod u+x cadence.pat cadence_patch.sh sfk
./cadence_patch.sh /opt/cadence/IC617
(PS: /opt/cadence/IC617为IC617的安装路径)
./cadence_patch.sh /opt/cadence/MMSIM151
(PS: /opt/cadence/MMSIM151为MMSIM151的安装路径)
第一句为几个文件增加可执行权限,后面两句分别为IC617和MMSIM打补丁,注意./cadence_patch.sh后面是IC617和MMSIM的安装目录,不同的用户安装目录可能不同,要根据自己的情况修改。另外就是执行完后,可能会显示有几个错误(errors),不用理会,这是由于IC617目录中有链接到系统文件,打补丁时没权限所致,如果看着别扭,可以用sudo执行即可。
为calibre打补丁的过程类似,解压后的文件如下所示
将这几个文件复制到calibre安装目录下(此处为/opt/mentor/Calibre),然后进入该目录执行如下指令对calibre打补丁(注意calibre的补丁必须复制到安装目录下运行,不能像IC617和MMSIM那样在解压后的目录下也可以直接运行)
同样可能出现errors,但此处是由于无法对二进制文件(sfk和之前的安装文件aoi_cal_2015.2_36.27_mib.exe)进行读写所致,同样不用理会。
接下来安装license文件,解压后的cadence_license文件夹如下:
直接将其中的license.dat文件复制到IC617 的license目录下即可:(此处为/opt/cadence/IC617/share/license)
同样的,将解压后的calibre_license目录下license.dat文件复制到calibre的license目录下(此处为/opt/mentor/license),需要注意的是,此时license目录不存在,需要自己建一个。
打开该license.dat文件,
sudo gedit /opt/mentor/license/license.dat
将其中的HOSTID=000c294756b0替换为自己的mac地址。ubuntu18.04默认没安装ifconfig工具,可用如下方式查看自己的mac地址:
ip address
将其中的:号去掉。
至此,就算安装完成了,只需要设置一些环境变量即可运行了。但为了不污染系统本来的环境变量,采用脚本的方式来执行。将09.bashrc解压后文件夹中的bashrc文件复制到合适的位置(比如新建一个工程目录project01放进去),改个名字(此处改为run_virtuoso)。
将该文件改为可执行:
chmod 777 run_virtuoso
然后打开文件,修改其中的路径,主要修改的有如下几处(按照自己机器上的路径来设置):
ubuntu是主机名,可用hostname命令查看。
此时,我们可以通过在Project01目录下运行run_virtuoso来启动virtuoso:
.\run_virtuoso
但为了把calibre整合到virtuoso的菜单栏里,还需要用到最后一个压缩文件10.Calibre config.zip。该文件解压后只包含一个文本文件calibre config,截取其中的一段,如下所示,放在新建的文件.cdsinit中,然后将该文件放入文件夹project01。
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; check CALIBRE_HOME
;
cal_home=getShellEnvVar("CALIBRE_HOME")
if( cal_home==nil then
cal_home=getShellEnvVar("MGC_HOME")
if( cal_home!=nil then
printf("// CALIBRE_HOME environment variable not set; setting it to value of MGC_HOME\n");
)
)
if( cal_home!=nil && isDir(cal_home) && isReadable(cal_home) then
; Load calibre.skl or calibre.4.3.skl, not both!
; Load calibre.skl for Cadence versions 4.4 and greater
load(strcat(cal_home "/lib/calibre.skl"))
;;;;Load calibre.4.3.skl for Cadence version 4.3
;;; load(strcat(cal_home "/lib/calibre.4.3.skl"))
else
; CALIBRE_HOME is not set correctly. Report the problem.
printf("// Calibre Error: Environment variable ")
if( cal_home==nil || cal_home=="" then
printf("CALIBRE_HOME is not set.");
else
if( !isDir(cal_home) then
printf("CALIBRE_HOME does not point to a directory.");
else
if( !isReadable(cal_home) then
printf("CALIBRE_HOME points to an unreadable directory.");
)
)
)
printf(" Calibre Skill Interface not loaded.\n")
; Display a dialog box message about load failure.
hiDisplayAppDBox(
?name 'MGCHOMEErrorDlg
?dboxBanner "Calibre Error"
?dboxText "Calibre Skill Interface not loaded."
?dialogType hicErrorDialog
?dialogStyle 'modal
?buttonLayout 'Close
)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
除此以外,还需要删掉calibre文件夹(/opt/mentor/Calibre/aoi_cal_2015.2_36.27)下的失效链接tmp,重新创建一个tmp文件夹。
接下来在之前新建的project01文件夹中运行run_virtuoso,即可启动virtuoso。
calibre集成成功
-------------------------------------------
个性签名:在0和1的世界里,实现从0到1的蜕变~