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界面:
參考文獻