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以上。 处理器至少分配两个。

image

image

image

image

image

image
点击完成

之后对安装好的虚拟机的资源配置可以进行更改,更改后如下:
image
总结就是:可以上网,硬盘120G以上,内存和处理器尽可能多。

ubuntu18.04安装cadence virtuoso

打开虚拟机,用刚才设置的账号密码登录Ubuntu系统。

  1. 打开命令行终端:
    开始安装之前,先建立安装目录(或者直接手动直接建立安装目录,但是要注意是下面的路径):
    在桌面点击鼠标右键,
    image
    点击,打开命令行终端。
    image

输入如下命令:

mkdir -p /opt/cadence/installscape

mkdir -p /opt/mentor/Calibre

建立root用户:
输入:

$ sudo passwd root
输入新的 UNIX 口令: <输入新密码> 
重新输入新的 UNIX 口令:<重新输入新密码>

然后按照提示输入两次密码,一次为新密码,一次为确认密码,

等到提示:

passwd: password updated successfully

看着这句话说明密码更改成功了,然后使用su - root后输入刚刚新修改的密码即可 进入root用户。
image

之后安装以来包:

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,才可以直接复制粘贴)。

image

注意下载后的文件是按安装在虚拟机上准备的,因此有一些文件是没必要的,实际上用得到的只有从03到10。此外,文件的排列顺序也就是实际的安装顺序,在安装前要对所有文件进行解压。因为04的两个压缩包是分卷压缩的,因此解压需要使用如下方法.

cat 04.IC06.17.700_Base.zip* > 04.IC06.17.700_Base.zip
unzip 04.IC06.17.700_Base.zip

即先将两个分卷合并,然后再解压,否则可能遇到无法解压的情况。

全部解压后如下:
image

进入解压后的03.InstallScape,可看到如下压缩文件,image

该文件可用如下方法解压:

zcat IScape04.23-s010lnx86.t.Z | tar xvf -

解压后得到如下文件:
image

在此目录下执行如下语句即可开始安装。

iscape/bin/iscape.sh

设置默认安装路径:
image

image

安装Cadence IC617
点击“Local directory/Media install”----“Browse”并选择安装文件所在的文件夹04.IC06.17.700_Base,确认路径的正确然后点“Continue>”

image

image

image

image

确认安装的路径以及勾选安装包,点击“Start”开始安装

image

在安装过程中,配置环节会跳出窗口进行配置,可以按如下方式处理:

image

image

image
image

安装完成后,点击done,回到主界面,此时可以点击cancel,重新选择软件包路径,继续安装MMSIM

image

image

接下来的安装步骤和之前安装IC617几乎完全一样

image
image

同样在配置时会跳出窗口进行配置
不同的地方在于,在这里OA目录要设置为之前IC617的OA目录
image

其余步骤一律回车,直至安装完成。
点击“Done”完成完装,退出InstallScape

至此安装完成,可如下查看当前系统安装的软件:
image

接下来安装calibre,可以看到,解压后的calibre是个单独的exe文件:
image

由于运行该文件会直接把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”,等待安装完成:
image

image

至此IC617, MMSIM和Calibre2015均安装完成,接下来分别为其安装补丁。先进入07.cadence_patch解压后的文件夹,如下所示

image

执行如下指令打补丁:

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打补丁的过程类似,解压后的文件如下所示
image
将这几个文件复制到calibre安装目录下(此处为/opt/mentor/Calibre),然后进入该目录执行如下指令对calibre打补丁(注意calibre的补丁必须复制到安装目录下运行,不能像IC617和MMSIM那样在解压后的目录下也可以直接运行)
同样可能出现errors,但此处是由于无法对二进制文件(sfk和之前的安装文件aoi_cal_2015.2_36.27_mib.exe)进行读写所致,同样不用理会。

接下来安装license文件,解压后的cadence_license文件夹如下:
image

直接将其中的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

image
将其中的:号去掉。

至此,就算安装完成了,只需要设置一些环境变量即可运行了。但为了不污染系统本来的环境变量,采用脚本的方式来执行。将09.bashrc解压后文件夹中的bashrc文件复制到合适的位置(比如新建一个工程目录project01放进去),改个名字(此处改为run_virtuoso)。
image

将该文件改为可执行:


chmod 777 run_virtuoso

然后打开文件,修改其中的路径,主要修改的有如下几处(按照自己机器上的路径来设置):

image

image

image

image

ubuntu是主机名,可用hostname命令查看。

image

此时,我们可以通过在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。

image

image
calibre集成成功

posted @ 2022-03-17 23:56  一只有理想的码农  阅读(271)  评论(0编辑  收藏  举报