工程師是「解決問題」的人,不是「製造問題」的人。
為何我不幫你先建好 EDA 環境 ?
- 了解 EDA 環境建置對於未來除錯有幫助,所以要自己學如何建立自己的 EDA 使用環境。
- 未來各位去公司上班,不一定有人幫你建 EDA 使用環境。小型的 IC design house 通常事事都要自己動手,不會有人幫你(除了建帳號外)。
目錄的定義:
~/ (家目錄),這是每個使用者登入時預先進入的目錄,此目錄中存放有某些檔案,其名稱如下:
- .bashrc - bash 設定檔,裡面設定了 EDA 工具的路徑及目錄,我們會在接下來的章節進行說明,本檔位於 /opt/PROCESS/bash/.bashrc,請執行
cp /opt/PROCESS/bash/.bashrc ~/
將此檔複製至家目錄。
- display.drf - Cadence 之 EDA 工具在顏色方面之設定檔,用來顯示 schematic view 或是 layout view 顏色。本檔位於 /opt/PROCESS/CIC0181P6M/virtuoso/display.drf,請執行
將此檔複製至家目錄。
- cds.lib - 定義 virtuoso 所需的元件庫及其路徑。
- .cdsinit - 定義 virtuoso 初始設定,本檔位於 /opt/PROCESS/bash/.cdsinit,請執行
cp /opt/PROCESS/bash/.cdsinit ~/
將此檔複製至家目錄。
** 小提示:在 Unix/Linux 作業系統中,不管你在任何目錄,只要執行
cd
即可回到自己的家目錄。執行
pwd
可以觀察自己目前在那個目錄。
~/model 目錄:存放所有的製程檔、DRC/LVS 驗証命令、SPICE 模擬檔案內有檔案如下:
- cic18.tf - 這是 CIC 0.18 um 1P6M 虛擬製程檔,也是本書所使用之製程檔,理論上全台師生都可以向 CIC 免費申請使用。此檔位於 /opt/PROCESS/CIC0181P6M/virtuoso/cic18.tf,請執行
cp /opt/PROCESS/CIC0181P6M/virtuoso/cic18.tf ~/model
將此檔複製回我們家目錄的 ~/model 目錄中。
- cic018.l - 這是 CIC 0.18 um 1P6M 製程的 SPICE 模型檔,此檔位於 /opt/PROCESS/CIC0181P6M/model/cic018.l,請執行
cp /opt/PROCESS/CIC0181P6M/model/cic018.l ~/model
將此檔複製回我們家目錄的 ~/model 目錄中。
- 1p6mcic018.include - 這個檔案是由我們手動建立,其內容如下:
.lib '/home/herman/model/cic018.l' TT
最快的建立方式是執行以下指令,不必用 vi:
echo ".lib '/home/herman/model/cic018.l' TT" > ~/model/1p6mcic018.include
與先前相同,/home/herman 指的是我們的家目錄位置,而 TT 則是 SPICE 執行參數,共有 FF FS TT SF SS 5 種參數,一般來說我們的模擬著重在 TT 參數下。
~/lib 目錄:本目錄存放所有自建的 library (元件庫) 內有我們所建立的元件庫檔案,舉例來說,以下是一個元件庫命名的例子:
cic0181p6m
這邊要請各位注意一下,我們在建立元件庫時要時時記得一個重點:那就是元件庫的名稱要簡單明瞭,最好能一眼看出此元件庫是什麼製程、針對什麼專案、在什麼時候所建立的。為什麼要提醒大家注意這點呢 ? 因為各位未來在工作時很有可能是同時進行 2、3 個專案,而這些專案的製程可能彼此不同。因此如果取的名字不好,搞不好連各位自己都不曉得這些元件庫裡放什麼。舉例來說,假設各位有兩個專案,分別使用 TSMC 0.35 um 2P4M CMOS 製程及 UMC 0.5 um 2P3M CMOS 製程。那表\ref{table:projectname} 中之兩種命名方式那個比較好 ?
~/lklib:本目錄是用來存放 laker 所繪製的元件庫,以避免與 virtuoso 所建的元件庫混淆。
練習:請在自己的家目錄建立:model、lib、lklib 目錄