Full Customer Design Flow using Laker and ICFB 元智資工超大型積體電路設計導論 Written by 蔣宇程 超大型積體電路導論 1
環境 作業系統 :Solaris 8 以上 工作站 :Sun workstation 教室 :1301 IC 設計學院 進入教室請勿攜帶食物及飲料 工作站有問題請找助教, 切勿自行關機或重開 不要長時間 lock 工作站, 違者直接踢掉, 嚴重者 lock 帳號 超大型積體電路導論 2
必要檔案拷貝 XXX 為自行建立的目錄 以下指令在 console mode 下執行 cp /usr/laker/cic/calibre.tgz ~/XXX 進入 XXX 目錄 gzip dc calibre.tgz tar xvf - 產生 calibre 目錄, 裡面另有三個目錄 :drc lvs lpe 及 UMC018_laker.tf 超大型積體電路導論 3
內容 Schematic using ICFB Layout using Laker Verification DRC LVS PEX Simulation using HSPICE 超大型積體電路導論 4
登入 第一次登入時, 請輸入自己的學號後自行進入到 Console 下修改密碼 修改帳號指令 passwd 超大型積體電路導論 5
Console 進入之後, 按滑鼠右鍵選擇 Hosts->Terminal Console 超大型積體電路導論 6
Schematic 超大型積體電路導論 7
啟動 ICFB Console 視窗中, 輸入 icfb & 超大型積體電路導論 8
建立 Library 選擇 File->New->Library Name 輸入自己要建立的 Library name Technology File 選擇 Don t need a techfile 超大型積體電路導論 9
建立 Cellview 選擇 File->New->Cellview Library Name 選擇之前所建立的 Library Cell Name 自行輸入 Tool 選擇 Composer-Schematic 超大型積體電路導論 10
介面 快捷列 : 常用的放大 拷貝及插入原件之功能 儲存選項 : 一般儲存選項及 Check and Save 原件 : 電子原件 (pmos,nmos,vdd,gnd) Pin 及 Wire 的建立 常用熱鍵 : wire(w),instance(i),property(q),delete(del), Pin(p),check(x),check and save(x) 超大型積體電路導論 11
儲存選項 原件 快捷列 超大型積體電路導論 12
插入 Instance 選擇 Browser Library 選擇 analoglib Cell 選擇要插入之原件 View 選擇 symbol 回到之前的視窗 如果插入物件是 MOS 的話, 要輸入 Width 及 Length 選擇放置的方式 Rotate 90 度旋轉 Sideways 水平翻轉 Upside down 垂直翻轉 超大型積體電路導論 13
Length 及 Width 需先決定 超大型積體電路導論 14
Check and Save 繪製 Schematic 完成後, 利用 Check and save 去察看是否有 error 或是 warning 錯誤的地方會以 表示 超大型積體電路導論 15
CDL out 將 schematic netlist 轉出以做驗證 選擇 ICFB 的 File->export->CDL 利用 Library Browser 去選擇之前所畫的 schematic Output File 可以改成想要的檔名 將 Run Directory 改成要放的位置 超大型積體電路導論 16
超大型積體電路導論 17
注意 請自行開啟轉出的 Netlist File, 去修改 NM 及 PM 成 N 及 P 還有將 vdd! 跟 gnd! 的! 去掉 將 *.GLOBAL VDD! GND! 改成.GLOBAL VDD GND 注意下列紅色方框中的部分.SUBCKT inv Input Output *.PININFO Input:I Output:O MM1 Output Input gnd! gnd! NM W=440n L=180n MM0 Output Input vdd! vdd! PM W=1.44u L=180n.ENDS.SUBCKT inv Input Output *.PININFO Input:I Output:O MM1 Output Input gnd gnd N W=440n L=180n MM0 Output Input vdd vdd P W=1.44u L=180n.ENDS 超大型積體電路導論 18
輸出 Schematic 成 PS 檔 Design->Plot->Submit 輸出的檔案可以用 GhostView 開啟或用其他工具轉成 PDF 選擇此項 輸出的檔名和位置 選擇 Plot options 超大型積體電路導論 19
Layout 超大型積體電路導論 20
啟動 Laker Console 下輸入 laker -64 & 超大型積體電路導論 21
建立 Library File->Library->New Technology File: ~/XXX/calibre/UMC018_laker.tf 超大型積體電路導論 22
建立 Cell 輸入 Cell Name 超大型積體電路導論 23
介面 常用功能 :Create,Edit,Verify,View Create: Rectangle(r),Polygon(P),Path(p) Edit: Copy(c),Move(m),Stretch(s),Delete(Delete) View: File Zoom in(ctrl+z),zoom out(z),zoom all(f),zoom(z) 其他 Ruler(k), Delete Ruler(K) View State Create Edit 超大型積體電路導論 24
材質庫超大型積體電路導論 25
製程及注意事項 製程 :UMC 0.18 μm 繪製的過程中, 可以按空白鍵開啟即時 Design rule check, 在右下角會出現告知開啟 Rule check 的方式 : Turn On Display Ruler : 過程中顯示出 Design Rule Turn On Rule-Driven : 將繪製的 Layout 原件, 限制在 Design Rule 下 Pin:Pin 的材質請依照不同的材質選擇, 如在 ME# 上則選擇 ME#_TEXT (# 為數字 ), 然後選擇 create- >Text 打 Pin 超大型積體電路導論 26
輸入輸出限制 超大型積體電路導論 27
Verify DRC Design Rule Check LVS Laker DRC Calibre DRC Layout Versus Schematic 比對 Layout 和 Schematic 差異 超大型積體電路導論 28
Verification 超大型積體電路導論 29
DRC starting Calibre DRC 第一次使用時, 請選擇 New Runset 離開時 Save Runset 超大型積體電路導論 30
Rules Rule File: ~/XXX/calibre/drc/Calibre-drc-cur Run Directory: ~/XXX/calibre/drc/ 超大型積體電路導論 31
勾選 Run Control->Run 64-bits version of Calibre-DRC Run DRC 成功, 如右圖 超大型積體電路導論 32
出現 error 請選擇 Setup->layout Layout viewer 選擇 Cadence (Virtuoso) Result 視窗中點選錯誤, 按右鍵選擇 Highlight, 會將錯誤在 layout 視窗中顯示出來 在 Check Text 中會顯示錯誤的原因 超大型積體電路導論 33
兩 Metel1(width 小於 10μm) 之間的距離違反 Design Rule (distance 需大於等於 0.24μm) 超大型積體電路導論 34
LVS starting Calibre LVS 和 DRC 相同,LVS Rule File 和 Run Directory 需指定 Rule File: ~/XXX/calibre/lvs/Calibre-lvs-cur Run Directory: ~/XXX/calibre/lvs/ 超大型積體電路導論 35
Input->Netlist->File 為先前 CDL Out 之檔案 Primary Cell 為 Cell name Run Control 同樣也要勾選 Run 64-bit version of Calibre-LVS 超大型積體電路導論 36
Run LVS 如果出現錯誤時, 和 DRC 相同可以將錯誤的地方在 Layout 中顯示 同時要將 Layout Viewer 選成 Cadence (Virtuoso) 發生錯誤時, 需要和 Netlist 做對照 超大型積體電路導論 37
超大型積體電路導論 38
Layout 存檔 Cell ->Print->To File 存成 PS 檔 超大型積體電路導論 39
PEX 超大型積體電路導論 40
PEX Parasitic Extraction 寄生電阻 電容萃取 Console Mode 下打 calibre gui pex & Rule File: ~/XXX/calibre/lpe/G-DF-MIXEDMODE_RFCMOS18-1.8V_3.3V- 1P6M-MMC-CALIBRE-LVS-1.2-P6.txt Run Directory: ~/XXX/calibre/lpe/ 超大型積體電路導論 41
選擇 Inputs 選擇 Laker 轉出的 GDS 檔 選擇 schematic 轉出的 netlist 檔 超大型積體電路導論 42
選擇 Output 決定 SVDB 的目錄位置, 基本上都在 lpe 的目錄下 所要萃取出的 Spice 檔的檔名和放置之目錄 超大型積體電路導論 43
完成之後會出現右邊的視窗 在之前所選擇 spice 檔的目錄下會出現 1. XXX.sp 2. XXX.sp.CellName.pxi 3. XXX.sp.pex 超大型積體電路導論 44
修改前 (PEX 轉出的 SPICE 檔 -inv).include /test.sp.pex.subckt inv Input gnd vdd Output * * gnd gnd * Ouput Ouput * vdd vdd * Input Input mmm1 N_Output_MM1_d N_Input_MM1_g N_gnd_MM1_s N_gnd_MM1_b n L=1.8e- 07 W=4.4e-07 + AD=2.156e-13 AS=2.156e-13 PD=1.42e-06 PS=1.42e-06 mmm0 N_Output_MM0_d N_Input_MM0_g N_vdd_MM0_s N_vdd_MM0_b p L=1.8e- 07 + W=1.44e-06 AD=7.056e-13 AS=7.056e-13 PD=2.42e-06 PS=2.42e-06 *.include /test.sp.inv.pxi *.ends 超大型積體電路導論 45
修改後 (PEX 轉出的 SPICE 檔 -inv) ****************************inv************************************* *********************** 環境和參數設定 ****************************.PARAM VIN='1.8'.PARAM VOUT='0'.GLOBAL VDD GND.TEMP 25.0.TRAN 0.1n 10n START=0n.OP.OPTION POST.LIB /vlsi-users/u3a/cic018/hspice.lib tt //cicxxx 中的 xxx 為製程 *********************************************************************.include /*****/tes.sp.pex.subckt inv Input Ouput vdd gnd mm0 N_Ouput_M0_d N_Input_M0_g N_gnd_M0_s N_gnd_M0_b NCH L=1.8e-07 W=4.4e-07 + AD=2.156e-13 AS=2.156e-13 PD=1.42e-06 PS=1.42e-06 mm1 N_Ouput_M1_d N_Input_M1_g N_vdd_M1_s N_vdd_M1_b PCH L=1.8e-07 W=1.44e-06 + AD=7.056e-13 AS=7.056e-13 PD=2.42e-06 PS=2.42e-06.include /*****/tes.sp.inv.pxi.ends ********************************************************************** Cc1 Ouput 0 0.01pf vv0 vdd 0 vin vv1 gnd 0 vout vv2 Input 0 pwl(0n 1.8v 1n 1.8v 8n 0v ) xu0 Input Ouput vdd gnd / inv.end 超大型積體電路導論 46
Simulation 完成 PEX 後, 要將所得到的 SPICE 檔案加入部分敘述後, 利用 HSPICE 模擬結果, 然後用 Awaves 顯示波形 Console mode 打 hspice XXX.sp Console mode 打 awaves & 看波形 下圖可看出未做 PEX 前的 netlist 檔和做 PEX 後的 netlist 檔的 waveform 之異同 最後一頁, 附上 Inverter 的範例 超大型積體電路導論 47
Schematic 的 SPICE 模擬 做完 PEX 後的 SPICE 模擬 超大型積體電路導論 48
超大型積體電路導論 49