Cadence IC616及MMSIM141在CentOS5.11安装图文实录
-
准备
-
虚拟机硬盘扩容
我使用的系统为VirtualBox虚拟机安装的CentOS5.11。因为装系统时分配的硬盘空间只载一个容量为20G的分区,为了安装Cadence Virtuoso及其它配套的EDA软件,首先要做的事情是为系统硬盘扩容。
扩容考虑过两种方案:
-
直接增大虚拟机硬盘容量;
-
新建一个虚拟机硬盘,并将其挂载在Linux系统下。
先试用方法1,这里参考了hk2305621在ChinaUnix的文章[1]。
VirtualBox有命令行工具可以直接对磁盘扩容。在Windows系统中,需要打开CMD,在VirtualBoX的安装路径下找到VBoxManage.exe,使用如下命令:
D:\Program Files\Oracle\VirtualBox>VBoxManage.exe list hdds
UUID: 59f26247-d99b-49e7-a8eb-6bc1a940a70b
Parent UUID: base
State: locked write
Type: normal (base)
Location: D:\Program Files\Oracle\Virtual2_20G.vdi
Storage format: VDI
Capacity: 20480 Mbytes
可以查看到虚拟机硬盘的UUID。
然后执行命令:
D:\ProgramFiles\Oracle\VirtualBox>VBoxManage.exe modifyhd 59f26247-d99b-49e7-a8eb-6bc1a940a70b --resize 40960
Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage.exe: error: Resize hard disk operation for this format is not impleme
nted yet!
失败的原因我在VirtualBox的用户手册[2]上找到了,VirtualBox虚拟机的硬盘属性有两种设定:一种是固定容量大小且读写性能较好的,另一种是动态分配容量大小(但限定最大容量)但读写性能差一些的。以上VBoxMange.exe命令只支持动态分配容量大小的虚拟机硬盘。
而我之前在安装CentOS系统时,使用的虚拟机硬盘属性为第一种固定容量的。因此,方法1不可行。
再试用方法2。
虽然我是在第1种方法失败后才想出第2种办法的,但实际上,但实际上,这是比第1种方法更好的一个解决方案,原因有两点:一是可以保持原来装有操作系统的硬盘分区完全不变,降低了破坏系统的风险;二是把所有安装软件放在一个新的挂载点,这样比较干净整洁也符合Linux的习惯。
具体操作如下:
选中虚拟机,点"设置"->"存储",在如下界面点击"添加虚拟硬盘"。
顺便提一句,如图可见有两种类型的控制器:IDE与SATA。其中SATA是比较先进的方式。因为我之前的虚拟硬盘就是使用SATA方式,在这里新添加的虚拟硬盘也继续使用SATA方式。
出现对话框:
选择"创建新的虚拟盘"。
就使用默认的第一个选项VDI格式(这也是VirtualBox虚拟机的标准虚拟硬盘格式),下一步继续。
因为我打算新增150G的空间用于安装软件,如果选用"固定大小",则一次就把这么大的硬盘空间占用掉了,而如果使用"动态分配",则虚拟硬盘占用空间是随着写入数据的增加慢慢增长。在这里我选择的是"动态分配"。
接下来,是选择虚拟硬盘的文件位置和大小:
选定之后点击"创建",新的虚拟硬盘就创建完成了。
然而,给CentOS系统扩容的工作到此仅仅完成了一半。以上步骤只是相当于给一台机器物理上安装了一个新硬盘,为了使Linux操作系统能够识别并使用这个新安装的硬盘,还需要把它挂载在一个系统路径下面。这就是下面描述的剩下一半的工作。
首先,需要获得root的环境和权限。可以有两种方法,一种是直接以root帐号登录,另一种是在个人帐号环境中使用su命令。此时注意,使用su命令必须这样:
su – root
这样才能同时获得root的权限和环境变量。如果只是输入su和root密码,则只获得root权限,但环境变量不变(保持个人账户的环境变量)。
输入
ll /dev/sd?
可以发现有两个文件/dev/sda与/dev/sdb,这个/dev/sdb就是我们刚刚新增加的虚拟硬盘。顺便提一下,这时候如果输入df,是看不到/dev/sdb这个盘的,因为此时我们还没有正确的挂载和配置这个硬盘。
接下来的事是创建硬盘分区,这里参考了loongene新浪博客上的文章[3],输入以下命令:
[root@galaxy dev]# fdisk ./sdb
The number of cylinders for this disk is set to 19581.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help):
这实际上是进入了fdisk命令的一个操作环境,可以在提示符后面输入命令。接下来的操作是:
-
命令:p,查看当前新盘状态,会发现其属于未分配的空间
-
命令:n,创建一个新的分区
-
有两个选项:e(扩展分区)和p(主分区),选择p分配区号(1到4中选)
-
再选择柱面起始位置(默认是可分配的第一个柱面,直接回车)
-
选择分区大小:+100M或者直接默认回车
-
现在再用p命令查看可发现多了一个./sdb1分区,就是刚刚新建的分区
-
执行以上分区操作并退出:w。若不想保存修改,则直接输入q退出。
另外,若想删除某个分区,输入d,再按相应提示操作即可。
下面在硬盘分区上建立文件系统。目前通常Linux的文件系统类型为ext3。
将刚刚的新分区创建为ext3文件系统:
mkfs –t ext3 /dev/sdb1
提一下,Linux下查看各挂载路径对应的磁盘文件系统类型的命令为df –T。
接下来,创建挂载点
mkdir /opt2
挂载虚拟硬盘
mount /dev/sdb1 /opt2
而为了让该文件系统在开机时能自动挂载,需要修改文件系统的入口文件/etc/fstab,将下面一行添加到这个文件的末尾:
/dev/sdb1 /opt2 ext3 defaults 0 0
到此,新的文件系统就已成功挂载,可正常使用了。
此时,可以通过df命令查看到新挂载的硬盘的情况。
我给这个硬盘分配了150G的空间,所有的Cadence软件都将安装在这里(对应/opt2挂载点)。
-
安装文件下载
Cadence安装参考了min4max在EETOP论坛上的帖子[4]。首先需要在Cadence的官网注册一个帐号,注册时用学校或公司邮箱应该会好一点。接下来,就可以用刚才注册成功的帐号,登录这里即可进入软件下载页面。
下载Cadence的软件又有两种方式:一是先下载InstallScape安装后在InstallScape里下载和安装需要的Cadence套件,另一种方式是在Cadence下载网页上下载软件CD images。在这里我使用的是第二种方式,因为直接使用InstallScape下载的速度太慢了。但不管使用哪种方式,都建议安装InstallScape。因为使用第二种方式下载的CD images安装包,也可以通过InstallScape安装管理。
以下安装过程都在root权限下进行。
将InstallScape安装在路径/opt/cadence/installscape。首先把InstallScape的安装包IScape04.23-s004lnx86.t拷贝到此路径,接着cd到此路径,执行指令:
zcat IScape04.23-s004lnx86.t.Z | tar -xvf –
这样就在当前这个目录中生成安装了InstallScape。
InstallScape的启动文件为:
/opt/cadence/installscape/iscape/bin/iscape.sh
执行此文件,可以得到InstallScape的主界面:
在安装之前,在Preferences里把默认安装路径设好,这可以省去安装过程中设置路径的麻烦。
在Cadence下载网页下载软件CD images。Virtuoso对应的下载为IC616:
Base Release和Hotfix的关系遵从以下说明:
若Cadence的软件有Update版的话,只需下载Update版而不用下载Base版安装,因为Update版是完全替换Base版的增强改进版。Hotfix版只需下载最新版而不用浪费时间去下载每一个以前的Hotfix版,因为最新版包含了以前版的补丁。安装顺序为先安装Base或者Update(若有Update的话),再在Base(或Update)上面安装Hotfix(单个安装Hotfix是无法工作的)。Hotfix安装时会先移除Base版或Update版中各个需要替换的子程序后再安装对应的新子程序。
在接下来的过程中我下载并安装了Base Release和Hotfix,但仅以Base Release为例进行说明,Hotfix的安装过程是一样的。
Base Release下载安装后共有8个压缩包如下图所示:
Tar格式与rar的分卷压缩不同,不能想当然的把第一个包解压就认为所有解压完成了,必须把每个tar包都单独解压!但解压后的内容都放在一个文件夹中:
此文件夹大小约为5G。
MMSIM下载的版本为MMSIM141,如下图所示:
此外,由于我所有的下载都在Windows下完成,为了使Linux虚拟机能访问到这个解压后的安装包,还必须利用VirtualBox的共享文件夹的功能实现。
在虚拟机设置窗口中,选择"共享文件夹",点击右边所示图标"添加一个新共享文件夹定义",在弹出窗口中选择共享文件夹路径并设置共享文件夹名称。只要勾选了"自动挂载",在下一次虚拟机Linux系统启动后,挂载点/media/sf_download就能访问到Windows的共享文件夹E:\download的内容。
至此,准备工作已经完成,下面可以开始安装Cadence的软件套件了。
-
-
安装
-
InstallScape安装流程
由于我已经下载了软件安装包的CD images,在InstallScape中选择"Local directory Media install",并选择正确的安装包路径,如下图:
安装过程参考了darrenxu在EETOP上的帖子[6]。
基本上,按照提示向下一步步进行就可以了。中间唯一需要注意的一步是提示让你装AMS Designer,选2) Quit。
到最后,会提示安装OpenAccess让你确认安装路径,使用默认路径即可。需要记住这个安装路径因为Cadence的很多其它软件需要指定OpenAccess路径。
-
Virtuoso的安装
-
补丁
-
关于补丁的使用参考了min4max在EETOP的帖子[5]。补丁下载链接点这里。
补丁包解压缩后可见4个文件:
使用方法是,在Linux下执行命令 ./cadence_patch.sh <install_dir>,<install_dir>为IC616的安装路径。如我执行的命令是:
./cadence_patch.sh /opt2/cadence/IC616
可以在执行命令的窗口里看到程序在给IC616安装路径的许多文件打补丁,整个过程需要二十分钟左右。
-
License
在EETOP论坛的EDA资源使用讨论版块搜索帖子找到两个license,分别在文章[7]与[8]中贴出。两个license都有人验证安装Virtuoso成功。
License的安装方法很简单,将它放在Cadence的软件安装路径中(实际上,可以放在任何地方),之后给license环境变量设置正确的值指向此路径即可。
但我的情况是[7]中的License始终无法工作,即使我参考了很多人的安装说明对license的内容作了修改。而[8]中帖出的license不需要作任何的修改,virtuoso启动一次成功。
-
MMSIM的安装
-
补丁
MMSIM的补丁是从kid1412_net在EETOP上发的帖子[9]中下载的。原贴的发布的补丁是针对MMSIM131的,但这个补丁对MMSIM141也同样适用。关于MMSIM141的补丁还参考了EETOP上的另外两个帖子[10][11],尤其是min4max的发言给了我很多启发和信心。
使用方法在补丁中有说明,基本上,只需要以root权限运行sfk文件即可。
-
License
在前面小节IC616的使用的License中已经包括了MMSIM,因此不需要专门为MMSIM设置license。
-
-
配置
配置指的是环境变量的设置。关于环境变量的设置我主要参考的是min4max的文章[5],完整的设置和说明可以从文章中下载。在此贴出我所有的环境变量设置如下:
export CADHOME=/opt2/cadence
export LM_LICENSE_FILE=/opt2/cadence/license.dat
export LANG=C
export CDS=$CADHOME/IC616
export CDSDIR=$CDS
export CDSHOME=$CDS
export CADENCE_DIR=$CDS
export CDS_INST_DIR=$CDS
export SPECTRE_DEFAULTS=-E
export CDS_Netlisting_Mode=Analog
export CDS_SPECTRERF_FBENABLE=1
export CDS_AUTO_64BIT=ALL
export PATH=$CDSDIR/bin:$CDSDIR/tools/dfII/bin:$CDSDIR/tools/bin:$CDSDIR/tools/plot/bin:${PATH}
export ASSURAHOME=$CADHOME/ASSURA41
export PATH=${PATH}:$ASSURAHOME/bin:$ASSURAHOME/tools/bin:$ASSURAHOME/tools/assura/bin
export QRC_HOME=$CADHOME/EXT132
export PATH=$QRC_HOME/bin:$QRC_HOME/tools/bin:${PATH}
export MMSIMHOME=$CADHOME/MMSIM13
export PATH=$MMSIMHOME/bin:$MMSIMHOME/tools/bin:${PATH}
export PATH=$CADHOME/EDI132/bin:$CADHOME/EDI132/tools/bin:${PATH}
export PATH=$CADHOME/CONFRML131/bin:$CADHOME/CONFRML131/tools/bin:${PATH}
export PATH=$CADHOME/INCISIV132/bin:$CADHOME/INCISIV132/tools/bin:${PATH}
export OA_HOME=$CDSDIR/oa_v22.43.040
export OA_UNSUPPORTED_PLAT="linux_rhel50_gcc44x"
export CDS_LOAD_ENV=CWDElseHome
export CDK_DIR=/opt2/PDKs/ncsu-cdk-1.6.0.beta
export MOZILLA_HOME=/usr/bin/firefox
export CALIBRE_HOME=/opt2/mentor/Calibre2013/ixl_cal_2013.3_39.24
export MGLS_LICENSE_FILE=4688@localhost.localdomain
export PATH=$CALIBRE_HOME/bin:${PATH}
export CALIBRE_OS_MSG_LEVEL=2
如果想要这个配置对此Linux系统中的所有用户都有效,可以将上述环境变量加入/etc/profile文件。我的做法是把这些变量设置放在个人home目录下的.bashrc文件里,这样这些设置仅对我的个人用户有效。
还有一点需要注意的是,如果机器的hostname是默认的localhost.localdomain,Virtuoso启动将会报错(报错信息为不能生成cds.log的lock文件)。解决方法为修改hostname,方法为,在文件/etc/hosts末尾添加一行:
<ip addr> hostname alias
三栏分别的本机的IP地址,主机名和别名,比如,我的/etc/hosts中添加的具体内容为:
10.0.2.15 galaxy.localdomain galaxy
关于主机hostname的修改我参考了潇湘隐者在博客园中的文章[12]。
-
启动
在terminal中输入virtuoso &回车,即可看见熟悉的Virtuoso界面:
参考文献