Full Customer Design Flow using Laker and ICFB - VLSI

108 downloads 353 Views 936KB Size Report
以下指令在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