2016年3月22日 星期二

Cosmos Scope 安裝流程

#2020/04/09 更新

Cosmos Scope 原本是 Avanti 這間公司的產品,因為種種因素賣給了 Synopsys。此套軟體的目的很簡單,就是觀看 SPICE 模擬結果,因此它的容量很小,安裝也不難,截至目前 (2020/04) 為止,CIC 所提供的 Cosmos Scope 版本為 2019.06,下載後會出現

cosmos_scope_2019.06_linux.tgz

這個檔案,由於 Cosmos Scope 與 HSPICE 都是 Synopsys 的產品,因此 License Server 的設定是一樣的。請執行

# tar xfva cosmos_scope_2019.06_linux64.tgz -C /opt/EDA

此時會在 /opt/EDA 目錄解開 cosmos_scope 目錄,裡面有相關檔案。

設定 Cosmos Scope 路徑

請在 .bashrc 中新增底下幾行:

CosmosScope="/opt/EDA/cosmos_scope"
CosmosScopebin="/opt/EDA/cosmos_scope/cur/ai_bin"

export PATH=$PATH:$CosmosScope:$CosmosScopebin

之後可以載入此設定,並執行

$cscope&

來執行 cosmos scope,萬一遇上底下錯誤訊息的話,請確認網路設定是否有錯。

eecs@120:~$ /opt/EDA/cosmos_scope/cur/ai_bin/cscope
couldn't open socket: invalid argument
    while executing
"dp_MakeRPCClient $s_host $s_port"
    (procedure "AimSession" line 78)
    invoked from within
"AimSession 120 41865 localhost,eecs"
    while
evaluating -c supplied command

上述錯誤訊息是你的 /etc/hosts 及 /etc/hostname 沒有設定好所造成的訊息,請確認完全沒有問題後,再重新開機才能執行。


利用 Cosmos Scope 來觀看波形

請使用 virtuoso 轉出 netlist 檔,在 Ananlog Design Environment 中選擇 Simulation -> Netlist -> Create,此時會出現一個 netlist 視窗。在此視窗中執行 File -> Save As 把此檔存成 inv.sp (視你的電路而定),其內容如下:

** Generated for: hspiceD
** Generated on: Mar 22 11:43:44 2016
** Design library name: cic018
** Design cell name: not
** Design view name: schematic.2
.GLOBAL vdd!


.TRAN 1e-9 200e-9 START=0.0

.OP

.TEMP 25.0
.OPTION
+    ARTIST=2
+    INGOLD=2
+    PARHIER=LOCAL
+    PSF=2
.INCLUDE "/home/herman/model/1p6mcic018.include"

** Library name: cic018
** Cell name: not
** View name: schematic.2
m0 vdd! in out vdd! P_18 L=180e-9 W=720e-9
m1 0 in out 0 N_18 L=180e-9 W=360e-9
v0 vdd! 0 DC=1.8
v1 in 0 PULSE 0 1.8 0 100e-12 100e-12 50e-9 100e-9
.END

執行 hspice inv.sp 可以得到 inv.tr0 這個檔案,但是因為我們還沒有設定要觀看的波形,所以這個檔案沒辦法用 Cosmos Scope 來觀看波形。此時會出現錯誤,因此要修改inv.sp 檔,在 .OPTION 區段加上 + POST,結果如下:

.OPTION
+    ARTIST=2
+    INGOLD=2
+    PARHIER=LOCAL
+    PSF=2
+    POST               <--- 此行為新增的設定。

接著再執行一次

hspice inv.sp

此時再打開 inv.tr0 看看有沒有波形可以觀察。

HSPICE 安裝

安裝 HSPICE 及模擬

SPICE 是電路模擬程式,在 1970 年代由柏克萊大學開始研發,之後發展出許多分支,其中 HSPICE 可算是電路模擬的工業標準,在完成電路設計後,必須以 HSPICE 來進行模擬以驗證電路功能是否正確無誤,符合我們的要求,模擬完後才能進行下線,沒有經過  HSPICE 驗證的電路其可靠性會受到質疑。

要安裝 HSPICE,請至 CIC 下載 HSPICE 之檔案,以 2016/3 月為例,目前最新版之 HSPICE 為 2015.06 版,下載完後會出現

hspice_2015.06_linux.tgz
installation_guide_synopsys.txt

這 2 個檔案,其中第一個是 HSPICE 的安裝檔,第二個是安裝說明,我們主要是看 HSPICE 的 License Server 設定埠為

26585@lsncku

HSPICE 的安裝路徑一樣整理到 /opt/EDA/hspice,首先下底下指令來安裝

# tar xfva hspice_2015.06_linux.tgz -C /opt/EDA

此時會自動在 /opt/EDA 底下將 HSPICE 安裝到 /opt/EDA/hspice 目錄下。HSPICE 安裝完畢後進行設定,否則無法對應到正確目錄,之後模擬會出問題。請在

/opt/EDA/hspice/cur/hspice/bin

目錄下執行 ./config 程式,請依目前安裝目錄來進行設定並退出,退出時注意看其訊息是否為 sucessed。完成此步驟後,接下來要設定執行路徑及 License Server。

設定執行路徑

請在 ~/.bashrc 中新增底下設定:

Hspice="/opt/EDA/hspice"
Hspicebin="/opt/EDA/hspice/cur/hspice/bin"

export PATH=$PATH:$Hspice:$Hspicebin

LM_LICENSE_FILE=26585@lsncku

作完後,以一般使用者的權限執行

$ hspice

看看能不能正常呼叫這個檔案,沒問題後,可以設定 HSPICE 環境,請將 CIC 的虛擬製程模擬檔 cic018.l 複製至 ~/model 目錄下,再編譯 ~/model/1p6mcic018.include 檔案,其內容只有一行:

.lib '/home/herman/model/cic018.l' TT

接下來可以在 virtuoso 中測試 HSPICE 是否能執行並跑出模擬波形,請依老師操作測試。

2016年3月15日 星期二

CIC 虛擬製程檔安裝及設定

EDA 工具安裝完畢後,要設定製程檔,如此一來才能進行電路模擬與晶片設計。我們把製程檔的目錄設定在 /opt/PROCESS,目前由於智財權的關係,CIC 僅提供本身的虛擬製程下載,請將檔案解壓縮在 /opt/PROCESS 目錄中,其位置是:

/opt/PROCESS/CIC0181P6M

其中會有底下檔案:

drwxrwxrwx  5 root root 4096 Mar  4  2009 calibre
drwxr-xr-x  2 root root 4096 Mar 14  2009 doc
drwxrwxrwx  2 root root 4096 Mar  4  2009 laker
drwxrwxrwx  2 root root 4096 Mar 14  2009 model
drwxrwxrwx  2 root root 4096 Mar  4  2009 virtuoso

其說明如下:

calibre    -> 提供 Mentor Graphics (明導國際) calibre 驗證之檔案,可以用來作  DRC、LVS 以及 PEX 驗證流程
doc        -> CIC 虛擬製程文件
laker      -> 提供 Synopsys laker 電路繪製之檔案
model      -> 提供 HSPICE 模擬之檔案
virtuoso   -> 提供 Cadence virtuoso 電路繪製之檔案

理論上,解壓縮完後,製程就安裝完畢,接下來要進行設定使用者家目錄,以使執行 EDA 工具時載入。我們預先定義的目錄如下:

~/         -> 使用者家目錄
~/model    -> 存放 SPICE model、DRC/LVS 命令及製程檔
~/lib      -> 存放所有自建 virtuoso 之元件庫
~/lklib    -> 存放所有自建 laker 之元件庫
~/simulation -> 存放所有模擬資料

目前為止,我們還沒有這些目錄,因此請先在使用者家目錄中建立這些目錄:

~$ mkdir model lib lklib simulation

複製相關檔案:

~/display.drf - Cadence 之 EDA 工具在顏色方面之設定檔,用來顯示 schematic
        view 或是 layout view 顏色。要複製此檔,請執行:
       
~$ cp /opt/PROCESS/CIC0181P6M/virtuoso/display.drf ~

~/model/cic18.tf - CIC 018 虛擬製程之技術檔,要複製此檔,請執行:
~$ cp /opt/PROCESS/CIC0181P6M/virtuoso/cic18.tf ~/model

~/model/cic018.l - 這是 CIC 0.18 製程的 SPICE 模型檔,此檔位於
/opt/PROCESS/CIC0181P6M/model/cic018.l,要複製此檔,請執行:

~$ cp /opt/PROCESS/CIC0181P6M/model/cic018.l ~/model




接著請自行使用 virtuoso 建立新元件庫及建立一個最簡單的 not 閘,來觀察其功能是否正確。並且要測試存檔功能,看看存檔後,能不能再次打開 not 閘這個檔案。



*** /etc/skel 目錄設定 ***

2016年2月29日 星期一

下載、安裝、設定 Cadence Virtuoso EDA 工具

下載及驗證:

Cadence Virtuoso EDA 工具是業界佔有率相當高的 EDA 工具,主要功能在於繪製電路圖 (Schematic Entry)、符號圖 (Symbol)、佈局圖 (Layout)。除此之外,Cadence Virtuoso 亦可以直接呼叫外部工具來進行 Spice Simulation 以及 DRC/LVS 驗證。

要安裝 Cadence Virtuoso EDA 工具,首先要下載 CIC 所提供的壓縮檔,以目前
(2016/03/01) 而言,其最新的版本是 IC_615_06.15.151,總共有四個壓縮檔要下載,
如底下所示:
IC_615_06.15.151_1of4.tgz
IC_615_06.15.151_2of4.tgz
IC_615_06.15.151_3of4.tgz
IC_615_06.15.151_4of4.tgz
下載完畢後,請執行 gzip -t xxx.tgz 來測試所下載之壓縮檔是否有誤,如果沒有
任何錯誤訊息的話,代表此壓縮檔格式正確,接下來可以進行安裝。

================================================================================
解壓縮及安裝:

建立安裝目錄

# mkdir -p /opt/EDA/cadence

解開壓縮檔

# tar xfva IC_615_06.15.151_1of4.tgz -C /opt/EDA/cadence
# tar xfva IC_615_06.15.151_2of4.tgz -C /opt/EDA/cadence
# tar xfva IC_615_06.15.151_3of4.tgz -C /opt/EDA/cadence
# tar xfva IC_615_06.15.151_4of4.tgz -C /opt/EDA/cadence

解開之後,會出現

/opt/EDA/cadence/IC 目錄,在此目錄下即是已解開之 Virtuso EDA 工具。

================================================================================
設定 Virtuoso 環境

為什麼使用 Linux 作為 EDA 安裝平台 ?

1. Cadence

Cadence (益華電腦) 的作業平台支援資訊在其官方網頁:

http://www.cadence.com/support/computing/Pages/default.aspx

而目前支援平台資訊在此:

http://www.cadence.com/support/computing/Documents/Cadence_Platform_Support_Plan.pdf

從官方網頁裡可以看到,Cadence 自 2005 起即開始支援紅帽 Linux 作業系統,而且
慢慢取消針對其它平台如 Sun SPARC 之支援。因此未來 Linux 作業系統將是 Cadence
的主要作業系統平台之一,其版本主要是 RHEL 5/6/7。

2. Synopsys

Synopsys (新思科技) 的作業平台支援資訊在其官方網頁:

http://www.synopsys.com/Support/LI/SupportPlatform/Pages/PlatformsRoadmap.aspx

從官方網頁裡亦可以看到,Synopsys 的主要作業系統平台是 Linux,其版本主要是
RHEL 5/6/7。

3. Mentor graphics

Mentor graphics (明導國際) 的作業系統平台支援資訊在其官方網頁:

https://supportnet.mentor.com/systemreqs.html

從官方網頁裡亦可以看到,Mentor Graphics 的主要作業系統平台是 Linux,其版本
主要是 RHEL 5/6/7。

小結:

為了提供一個完整的 EDA 操作環境,因此我們需要佈建以 Linux 為主的作業系統平台,
並在其中安裝各種 EDA 工具,以提供 IC 設計人員一個統一的環境。

** 所謂「統一」的意思是所有工作在 Linux 上完成即可,不需要在 Linux/Windows
   間切換。

工作目錄安排:


/opt/EDA -> 已安裝之 IC 設計工具

/opt/EDA_tools -> 原始檔


/opt/EDA_tools/virtuoso        -> Virtuoso EDA 工具
/opt/EDA_tools/synopsys        -> Synopsys EDA 工具
/opt/EDA_tools/mentor_graphics -> Mentor Graphics EDA 工具

License Server 設定

EDA 工具所採用的防盜機制是一種叫作 License 認證的機制,其作用原理是全台灣學術界總共有 5 台 License Server,如底下所示:

License Server name
(host_name)   license server IP    地區
-----------   -----------------    ------------------------------------------
lsntu         140.112.20.58        台北市,新北市,基隆市,宜蘭縣,花蓮縣
-----------   -----------------    ------------------------------------------
lsncu         140.115.71.66        桃園縣
-----------   -----------------    ------------------------------------------
lsnctu        140.113.202.151      新竹縣市,苗栗縣,澎湖縣,金馬縣,連江縣
-----------   -----------------    ------------------------------------------
lsnchu        140.120.90.46        台中市,南投縣,雲林縣,彰化縣
-----------   -----------------    ------------------------------------------
lsncku        140.116.49.24        嘉義縣市,台南市,高雄市,屏東縣,台東縣

當啟動 EDA 工具的時候,EDA 工具會線上執行 License 驗證,簡單來講就是向 License Server 取得一把鑰匙,如果此時有多餘的軟體鑰匙可以使用的話,那麼 License Server 會分配一把鑰匙給使用者,當使用者退出 EDA 工具時,會將 License Server 的鑰匙還回,以便再提供給下一個使用。

因為 EDA 工具的防盜機制是採線上認證,因此要注意底下事項:

1. 安裝 EDA 工具之伺服器必須有實體 IP,以提供給 License Server 進行驗證。
2. 所使用的 IP 必須至 CIC 網站登錄,以提供 License 驗證。
3. 網路要通
4. 要設定相對應的 port
5. 要寫好 .bashrc 的路徑設定


設定 License Server

請參考 installation_guide_cadence.txt 來建立 License Server 清單,在 /etc/hosts 檔案中加入底下設定:

140.112.20.58   lsntu
140.115.71.66   lsncu
140.113.202.151 lsnctu
140.120.90.46   lsnchu
140.116.49.24   lsncku

加入後,請執行底下指令來看網路連線是否正常:


ping lsxxx

如果 ping 得到主機,「只」代表這台機器目前有開機,不代表它可以檢查得到 License。

設定 .bashrc

南臺屬於 lsncku 的支援範圍,如果可以 ping 到 lsncku 的話,那麼可以在一般使用者的 ~/.basrhc 中設定:


export LICENSE_FILE=5280@lsncku

我們可以先測試看看此 License Server 是否有提供 LICESE Key,指令如下:

lmstat -a -c 5280@lsncku