Post on 22-Dec-2015
VLSI Design
Full-custom IC Design Flow
Introduction to VLSI Circuits and Systems積體電路概論
賴秉樑Dept. of Electronic Engineering
National Chin-Yi University of Technology
Fall 2007
2
Outline
Schematic with Composer of ICFB (Cadence)Pre-simulation using HspiceLayout with Virtuoso or LakerVerification using Calibre or Dracula
DRC LVS PEX
Post-simulation using Hspice
3
Custom IC Design
We offer the technology files of the following, and copy it to your home directory
Technology File Name Purpose
TSMC035
display.drf Virtuoso 圖層資料檔
035ms.tf 製程檔
mm0355v.l Spice model file
Laker ( a directory) Laker 圖層資料檔
calibre.drc DRC
calibre.lvs LVC
calibre.pex PEX
4
Environment
Operation System: Solaris 8 (Sun Blade 2500) Account is personal student’s identity number, ex. g955168 Using X-win32 or ReflectionX to remote WorkStation
5
Console
家目錄
1. 目前 source license 的軟體
2. 可修改於 home dir/.cshrc
登入的 Shell is C-shell
6
Schematic with Composer
7
ICFB
Under home directory Mkdir work_tsmc035 ( 自設一個工作目錄 )
Under work_tsmc035 directory→ icfb &
Cadence 的 ICFB 控制視窗Under your design directory
8
Merge Display File to Virtuoso
(1) ../technology/display.drf
(3) ./work_tsmc035/display.drf
(2) Add
加入後 Schematic & Layout view 才能正常顯示顏色與圖層
Key Step: Tools Display Resource Manger…
9
建立新的製程 Library
不同的製程需新建不同製程技術的 library Step 1: Select File New Library Step 2: Name tsmc035_techfile (user-define) Step 3: ASCII Technology File ../technology/035ms.tf
Step 1 Step 2
Step 3
10
建立新的 Design Library
Step 4: Select File New Library Step 5: Name basic_logic (usr-define) Step 6: Technology Library tsmc035_techfile
Step 5
Step 6
Step 4
11
Create a Cellview under Design Library
建立一個 cell inv (inverter) Step 7: Select File New Cellview
12
PMOS: pmos4NMOS: nmos4
加入 instance (hot key ‘i’)
Step 8: 呼叫 analogLib 建立基本的 instance
13
完成 inverter 設計 (pmos, nmos, vdd, gnd and wire-connection)
加入 input and output (hot key ‘p’)
14
Generating Netlist using CDL
Step 9: File Export CDL
Netlist 的副檔名為 name.sp
15
16
Modify the inv.sp and Create a another inv_sim.sp
Delete
NM NCHPM PCH
17
Pre-sim. using Hspice
進行 Hspice 時, netlist 與 Spice Model file mm0355v.l要在同一個目錄下
Console soclab02% hspice inv_sim.sp
路徑要注意 !
18
Ctrl+a 可將波形視窗分割
確定 hspice job concluded soclab02% awaves & Step 10: Open
Step 10
19
觀察 inverter 的 input & output 電壓
20
Waveform with Awaves
** 檢查 Pre-sim. 的結果與功能正常後才進行 layout**
21
Layout with Virtuoso Editor
22
Layout with Virtuoso Editor
Step 1
Step 1: Link Calibre into Virtuoso (load(“/usr/mentor/Calibre_ss/cur/lib/calibre.skl”)
Step 2: File New Cellview
Step 2
Under the same library and cell name
Select Virtuoso, and View Name is layout
23
Virtuoso Layout Window
Make sure linking Calibre success!
LSW: 供可選擇之 layer ,如無法正常顯示顏色,請重做 Display resource manger (Merge display.drf)
24
N-Well COMS Inverter
The cross-section view and layout of a CMOS(n-well) inverter
25
TSMC035 Minimum Design Rule with COMS Inverter
Minimum N-Well width 1.7 um
Minimum Metal1 extension of Contact 0.15 um
Contact size 0.4 * 0.4 um
Minimum N-Well extension of P+ Diffusion 1.2 um
Minimum Metal1 width 0.5 um
Minimum PIMP extension of P+ Diffusion 0.25 um
Minimum Diffusion width 0.3 um
Minimum NIMP extension of N+ Diffusion 0.25 um
Minimum Diffusion extension of Contact is 0.15 um
Minimum Contact to Contact spacing 0.4 um
Minimum Poly1 width 0.35 um
Minimum clearance from Contact on Diffusion region to a Poly gate 0.3 um
Minimum POLY1 extension of Diffusion 0.4 um
27
An Inverter Layout
28
Layout Verification with Calibre DRC/LVS/PEX
29
Calibre DRC (5/1)
須先轉成 Layout 的 GDSII 的格式
Step 1: File Export Stream
Step 1
30
Calibre DRC (2/5)
Step 2: Calibre Run DRC
Calibre DRC window
31
Calibre DRC (3/5)
Step 3: Rules 將 TSMC035 的 calibre DRC rules file 加入
32
Calibre DRC (4/5)
Step 4:Inputs Layout Files inv.gds ( 路徑要注意 )
可直接由 layout view 來執行,但電路假如很大,則需較久時間,一般 disalbe
33
Calibre DRC (5/5)
Step 5:Run DRC No error! 但可忽略的 design rule error 可查閱 “可允許之 DRC 錯誤 - 假錯 -申請者常犯錯誤”
34
Calibre LVS (1/6)
Step 1: 修改 inv.sp 檔局部的 netlist 成 LVS 可過的形式
35
Calibre LVS (2/6)
Step 2: Calibre Run LVS
36
Calibre LVS (3/5)
Step 3: Rules 將 TSMC035 的 calibre LVS rules file 加入
37
Calibre LVS (4/6)
Step 4:Inputs Layout Files inv.gds ( 路徑要注意 )
38
Calibre LVS (5/6)
Step 4:Inputs Netlist Files inv.sp ( 路徑要注意 )
可直接由 schematic view 來執行,但電路假如很大,則需較久時間,一般 disalbe
39
Calibre LVS (6/6)
40
Calibre PEX (1/8)
Step 1: 修改 inv.sp 檔局部的 netlist 成 PEX 可過的形式
41
Calibre PEX (2/8)
42
Calibre PEX (3/8)
43
Calibre PEX (4/8)
44
Calibre PEX (5/8)
45
Calibre PEX (6/8)
46
Calibre PEX (7/8)
進行 RC值萃取
47
Calibre PEX (8/8)
48
Modify inv_pex.sp
inv_pex.sp.inv.pxi & inv_pex.sp.pex 為存放 PEX 萃取出後的 RC 參數值
49
inv_pex.sp.inv.pxi & inv_pex.sp.pex 為存放 PEX 萃取出後的 RC 參數值
50
Post-simulation Result
51
附錄 : Layout with Laker Editor
52
Laker
g9556168% laker &
開啟 Laker
建立新專案
53
檔案存放路徑
專案名稱
製程檔
建立新檔
54
選擇專案
檔案名稱Working Window
55
將 Layer Table 置於左視窗
56
Change GridCIC 的 Grid 為 0.025um
57
2NAND
建立 Transistor
58
59
60
61
62
PMOS的Body
NMOS的Body
63
Stream Out
64
Stream In
專案名稱
65
66
COMS Inverter