以下指令在console mode下執行. ❑ cp /usr/laker/CIC/calibre.tgz ~/XXX. 進入XXX
目錄. ❑ gzip –dc calibre.tgz | tar xvf -. 產生calibre目錄,裡面另有三個目錄:drc、.
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:
Edit:
Create
Zoom in(ctrl+z),Zoom out(Z),Zoom all(f),Zoom(z)
其他
File
Copy(c),Move(m),Stretch(s),Delete(Delete)
View:
Rectangle(r),Polygon(P),Path(p)
Ruler(k) , Delete Ruler(K) State
View
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
Laker DRC Calibre DRC
LVS
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.3V1P6M-MMC-CALIBRE-LVS-1.2-P6.txt
Run Directory: ~/XXX/calibre/lpe/
超大型積體電路導論
41
選擇Inputs
選擇Laker轉出的 GDS檔
選擇schematic 轉出的netlist檔 超大型積體電路導論
42
選擇Output
決定SVDB的目錄位置,基 本上都在lpe的目錄下
所要萃取出的 Spice檔的檔名和 放置之目錄
超大型積體電路導論
43
1. 2. 3.
完成之後會出現右邊 的視窗 在之前所選擇spice檔 的目錄下會出現 XXX.sp XXX.sp.CellName.pxi 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.8e07 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.8e07 + 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