centOS 7安装cadence搭建适合IC Design的科研环境

这篇博客记录我在用centOS搭建适合模拟集成电路设计的科研环境的过程,主要内容从我的OneNote笔记中整理,一是为了从杂乱的笔记中筛选出有价值的信息,二是希望能帮助更多像我一样的新手少走弯路。

过程中所需要的一些背景知识我尽量附上链接或参考,如有差错,还望指正。

另外为了获得安装过程的屏幕截图,又重装一次cadence相关组件。

以下是博客正文,因为内容较多,我会分成一个专题系列进行叙述。

明确安装目标
一些必要的知识储备
cadence是EDA领域毋庸置疑的老大,广泛用于IC, SoC, PCB设计企业、高校。我们日常说的cadence并不是指某个软件,而是一整套开发环境,在cadence官网可以看到他们为不同的应用领域提供完整的design flow所需的开发环境。根据官网的介绍,candence应该是有5个不同的开发平台,分别是:

System Design and Verification(系统级设计验证);
Digital Design and Signoff(嗯这个signoff应该是类似数字设计在tape out之前的确认阶段,不知道理解的对不对);
Custom IC / Analog/ RF Design(模拟/射频设计);
IC Package Design and Analysis(芯片封装);
PCB Design and Analysis(印制板电路)。
每个平台都包含数个软件来完成一整套流程。更专业的讲解可以看eetop上这篇。

用于模拟/射频集成电路设计的组件
我所使用的就是Custom IC / Analog/ RF Design平台,获得一个比较完整的模拟/射频集成电路开发环境,必要的组件有:

Cadence Virtuoso IC suite其中包括原理图编辑器等;
MMSIM包括spectre, spectreRF等仿真器;
还有Mentor Graphics公司Calibre(cadence公司的验证软件是ASSURA,但貌似现在验证阶段calibre是业界标准)。
另外从这篇文档中可以找到candence公司所有软件的名称以及缩写,能够帮助理解candence公司旗下数目众多的软件之间的关系。

操作系统的选取
cadence用于IC design的工具只支持Linux平台。这里可以找到所需的应用支持的操作系统。

cadence公司定点维护红帽的RHEL,但并不意味着只能安装在RHEL系统,centOS, Ubuntu等Linux发行版本都可以运行candence。

从Supported Platform Matrix for Cadence Applications这个表格中可以到最新的IC617支持RHEL5/6/7,所以相应的脱胎于红帽RHEL的Linux发行版本centOS 7也是支持IC617的。
 

前提条件 
1. 电脑能连上网络 
2. 已经添加了常用的yum源,具体请见这篇

安装相应的支持包
这些库都是cadence安装需要的环境配置。(以下命令都在root权限下进行)

yum install ksh -y  
yum install libXext.so.6 -y  
yum install libXtst.so.6 –y  
yum install libXt.so.6 -y  
yum install libGLU.so.1 --setopt=protected_multilib=false  
yum install libelf.so.1 -y  
yum install libXrender.so.1 -y  
yum install libXp.so.6 -y  
yum install libXrandr.so.2 –y  
yum install *xorg* -y   
yum install libXp -y  
yum install ld-linux.so.2 -y  
yum install openmotif  -y  
yum install libstdc++.so.5 -y  
yum install -y xterm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
下面这些库是装MMSIM需要的

yum install -y gcc gcc-c++ ksh csh libXp *xorg-X11-fonts* compat-libstdc++-33.i686  
yum install -y alliance-libs alliance glibc-2.12-1.107.el6.i686 glibc-devel.i686 glibc  
yum install -y compat-readline5-5.2-17.1.el6.i686  
Yum install -y xterm-253-1
1
2
3
4
其中alliance等有几个会提示No package available,忽略该提示。

建立链接
ln -s /usr/bin/awk /bin/awk  
ln -s /usr/lib/libstdc++-3-libc6.2-2-2.10.0.so /usr/lib/libstdc++-libc6.1-1.so.2  
ln -s /bin/gunzip /bin/uncompress
1
2
3
cd /lib64  
ln -s libreadline.so.6 libreadline.so.5  
cd /usr/lib64  
ln -s libhistory.so.6 libhistory.so.5
1
2
3
4
tmp文件权限修改
chmod 755 /usr/tmp
1
chmod设置/usr/tmp的属性,此行意思为设置/usr/tmp为文件拥有者可读可写可执行,同用户组的权限为可读可执行,其他用户权限为可读可执行

加入回还地址,让自己主机做cadence服务器
在/etc/hosts文件中的最后添加一行:

127.0.0.1 主机名
1
例如

127.0.0.1 Simon-CentOS
1
其中uname –a 查看主机名,IC617不支持默认的主机名localhost。CentOS 7的具体修改方法见这里。

CentOS 6的修改方法为修改改/etc/sysconfig/network,在里面指定主机名称HOSTNAME=Simon-CentOS,然后执行命令

hostname Simon-centOS
1
更新重启
yum update  
reboot

------------

下载安装包
从官网下载
首先在cadence官网注册一个账号。然后去下载中心下载所需要的软件。

但博主亲测,这个方法应该是已经失效了。因为cadence在2015年9月更新了帐户系统,没有购买他们产品的账号无法进入下载中心页面。

这个步骤之后会继续让在这个页面注册,再往后走就会出现这样的界面。

强大的百度云
我贴一下我的分享链接。

IC617 
MMSIM151 
InstallScape 
Calibre2015

关于lincense以及patch的下载链接,我会贴在下一篇博客相应的位置

关于版本的说明
下面说明一下base版本和hotfix版本的关系。

Base版是完整的软件最初版本,它具有所有软件运行功能;
Update版是Base版后加进了各种改进的增强版,它可以完全取代Base版;
Hotfix版是Base版或Update版的定时出版(分为月度或季度版)的各种补丁,并不具有软件的完整功能,而且最新的Hotfix通常都包含了以前出版的Hotfix内容。
若Cadence的软件有Update版的话, 只需下载Update版而不用下载Base版安装;
Hotfix版只需下载最新版而不用浪费时间去下载每一个以前的 Hotfix 版;
安装顺序为先安装Base或者Update(若有 Update 的话), 再在Base(或 Update)上面安装 Hotfix(单个安装 Hotfix是无法工作的)。Hotfix 安装时会先移除 Base 版或 Update 版中各个需要替换的子程序后再安装对应的新子程序。
我分享的链接中,IC617是base版本,MMSIM151是hotfix版本(这个只用装hotfix就行了)

以下操作都在root权限下执行。

建立安装目录
建议把这种大型软件装在/opt目录下。

mkdir -p /opt/cadence/installscape  
mkdir -p /opt/mentor/Calibre2015
1
2
其中-p参数是直接建立父目录。因为IC617和MMISM151会自己建立安装目录,所以在这里没有建相关目录。而calibre则是默认安装在安装包所在的目录下,所以需要提前建立。

解压安装包
把之前下载的安装包解压到相应目录,其中IC617和MMSIM151可以随便放个地方,而calibre则建议解压到/opt/mentor/Calibre2015目录下。

注意自己下载的安装包的完整性

 


安装和启动InstallScape
把installscape的压缩包复制到/opt/cadence/installscape中

接着cd到此路径然后执行命令

zcat IScape04.23-s010lnx86.t.Z | tar -xvf-
1
这样就在该目录生成了安装好的installscape,然后启动installscape

sh /opt/cadence/installscape/iscape/bin/iscape.sh
1
注:如果这一步说什么javaVM什么的问题就是操作系统的环境没有配置好,请按照我这个系列博客的这一篇配置。

设置好默认安装目录

安装软件
IC617


找到之前解压到的目录,

然后基本上就是各种下一步,各种y。

到这一步的时候选2就行了。

让设置oa的时候,选默认的oa路径。此处如此重要的地方我竟忘记截图了,网上找了个安装IC616的图贴上示意一下。

MMSIM151
安装MMSIM151的步骤和IC617基本相同,

不同的地方在于,oa目录一定要设置为之前IC617的oa目录 
我的oa目录如下,不同版本的目录版本号会不同。

关于oa目录,具体讲解请看这篇。

calibre
calibre是一个后端验证的软件,已经成为行业标准,和cadence不是一个公司,具体介绍请看这里。

因为发现Mentor的软件都是默认安装在源文件所在的目录的,所以想装到那儿就拷到哪儿。之前已经把aoi_cal_2015.2_36.27_mib.exe这个文件解压到了/opt/mentor/Calibre2015目录下,然后进入该目录,在terminal中执行命令:

./aoi_cal_2015.2_36.27_mib.exe
1
如遇到权限问题,直接chmod 777吧。 
如果遇到uudecode的问题,装sharutils-4.6.1-2.i386.rpm包吧。

然后中间按照提示,就完成了安装。

打补丁
patch的下载链接
cadence_patch 
calibre_patch

给IC617和MMSIM151打补丁
其实patch的方法在readme里面写的很清楚

只用将patch和sfk这两个文件放在cadence的安装目录下(其实放哪都行),cd进该工作目录,然后执行命令

./cadence_patch.sh /opt/cadence/IC617  
./cadence_patch.sh /opt/cadence/MMSIM151
1
2
中间会看到一些error,无所谓。

给calibre打补丁
这个其实看readme也能看懂

将patch_calibre和sfk这两个文件放在/opt/mentor/Calibre2015/aoi_cal_2015.2_36.27目录下,然后执行命令

chmod a+x patch_calibre sfk
./patch_calibre aoi_cal_2015.2_36.27
1
2
安装license
关于license的一些背景知识可以看这里, 和这里。

license下载链接
cadence_license 
calibre_license

生成license.dat文件
按照readme中所说的,可以在Linux平台下产生license.dat,也可以在windows平台下产生license.dat。

重点是,这是新版本的license,文件中不再有server,deamon等内容,正确的license文件中应该只包含FEATURE字段,所以需要将生成的license.dat文件中前4行(FEATURE字段之前)删除

把这两个license文件放到相应的目录,比如

/opt/cadence/IC617/share/license/  
/opt/mentor/license/
1
2
bashrc环境变量的配置
这是最重要的一步,比较详细的说明请看这里。

下载链接在这里:bashrc

打开之后自己看着里面大概能猜出来什么意思,主要要改的就是

export CADHOME=/opt/cadence  
export CDS_LIC_FILE=$CADHOME/share/license/license.dat
export MGC_HOME=/opt/mentor  
export CALIBRE_HOME=$MGC_HOME/Calibre2015/aoi_cal_2015.2_36.27  
export MGC_LICENSE_FILE=$MGC_HOME/license/license.dat  
export MGC_CALIBRE_SCHEMATIC_SERVER=Simon-CentOS  
export MGC_CALIBRE_LAYOUT_SERVER=Simon-CentOS  
1
2
3
4
5
6
7
大概就只需要改列举的这几个,总之就是要改成你对应的安装目录,还有license放的位置,具体你根据自己的情况改就行了。里面还有很多其他软件,我们没有装,不管。

启动virtuoso
将这个bashrc放在你的项目文件里,然后改名为.bashrc,比如我放在/home/Projects/Test1/,然后在该目录中用terminal执行命令

. .bashrc  
virtuoso &
1
2


其中第一个命令的两个点中间有一个空格,第二个命令就是启动virtuoso

duang!CIW已经启动起来啦!

集成calibre开发环境
下载这两个文件

其中第一个是配置说明,你也可以直接将第二个.cdsinit放在项目文件下(就是你刚才放bashrc的那个文件夹),然后重新执行

. .bashrc  
virtuoso &
1
2


可以看到calibre已经集成到CIW中啦!不过你第一次启动的时候会报个错误

Calibre DRC error: RVE socket server number has not been initialized
1
use -1 for automatic socket and don’t fill in the host name. But in most cases socket 9189 should work. Fill 9189 in the socket and your hostname in the localhost

然后就可以使用calibre啦。

2018.01.31更新 
关于calibre端口的问题解决方法更新:可以在bashrc中添加以下语句
export MGC_CALIBRE_LAYOUT_SERVER=localhost:1989
or
export MGC_CALIBRE_LAYOUT_SERVER=127.0.0.1:1989
1
2
3
2018.01.31更新 
关于calibre安装包的问题:calibre有两种文件格式,aoi for RHEL 6, ixl for RHEL 5,所以安装时候需要根据自己linux的版本进行选择。
 

posted @ 2019-06-19 16:08  希曼博客  阅读(841)  评论(0编辑  收藏  举报