Post-Layout Simulation - 超大型積體電路實驗室
Download
Report
Transcript Post-Layout Simulation - 超大型積體電路實驗室
VLSI Full Custom Design
國立中山大學 資訊工程學系
溫家聖
Mar. 2012
E-mail:[email protected]
Textbooks/Lecture Notes
Textbooks
李博明、唐經洲, "VLSI設計概論/實論, "高立
圖書有限公司 , 2005/07, 中文
Additional Readings
趙敦華, "VLSI設計實習", 台科大, 2005/08/22,
中文
蔡明諭、莊作彬, ”全客戶式IC設計(ISBN:
986-7693-32-9)”, 學貫行銷股份有限公司出版,
書號P673
Lecture Notes
available at
http://vlsi.cse.nsysu.edu.tw/wen/vlsi/2012
超大型積體電路設計
製作流程(CAD 觀點)
pre-layout simulation
Hspice
Model File
Schematic editor
Layout editor
Technology
On-line Check
DRC
Off-line Check
LVS
Layout Parasite Extract
Cadence
post- layout simulation
Hspice
LPE
Model File
INTRODUCTION
工作環境及工具介紹
Cadence的IC設計環境
ICFB (IC fabrication)
Cadence-Opus
Cadence公司設計的一套IC設計整合環境
包含數種IC設計時所需要的軟體
僅學習幾種就足以完成Full Custom Design
Schematic editor
Layout editor
DIVA (on-line)
DRC:Design Rules Check
LVS:Layout V.s. Schematic
Calibre (off-line)
具有公信力的驗証軟體
DRC、LVS
LPE:除了電路本身外,把layout的一些寄生效應萃取出來成
為Hspice file供post-layout simulation
Schematic Editor
(Composer)
把可能可以符合規格的電路利用Schematic Editor畫出來,畫好的圖稱作
schematic view。
目的:
供之後畫好的layout作比對
對於Complexity高的電路,Hspice file不好寫,則可利用OPUS中的analog
environment把schematic view轉成Hspice file。
Schematic editor
(Composer)
LVS
Layout editor
(Virtuoso)
Layout Editor
(Virtuoso)
先取得Technology file讓Virtuoso知道你有用到哪些光罩。
進行Layout。
利用Calibre幫我們作離線檢查看是否違反design rules。(DRC)
利用Calibre幫我們作離線檢查layout和schematic是否一樣。(LVS)
Schematic editor
(Composer)
LVS
Technology file
Layout editor
(Virtuoso)
DRC
Design rules
Calibre
Calibre是一套公信力高的驗証軟體,不包含在OPUS
(在CADENCE的整體Design Framework叫OPUS)中,所
以要在外部執行。
通過Calibre的驗証是下線生產的必要條件
Calibre中我們需要的工具:
DRC:比DIVA-DRC更細部的檢查程序
LVS:比DIVA-LVS更細部的檢查程序
LPE:供post-layout simulation使用
Calibre中的DRC和LVS都可利用下面兩種方式debug:
直接查看文字輸出檔,找尋錯誤位置
利用OPUS-Calibre Interactive把輸出檔叫進OPUS中debug
HSPICE
Pre-layout simulation:
Specification
circuit
pre-layout simulation
Hspice
Hspice Model
Post-layout simulation:
LPE
circuit + layout後之寄生效應
post-layout simulation
Hspice
Hspice Model
範例實作
Starting the OPUS
打開cadence
到userhome目錄下(Cadence)
cd 個人帳號
建一個工作目錄名叫2p4m
mkdir 2p4m
copy必要檔案到2p4m中
display.drf
進入OPUS
icfb&
Cadence
範例實作
Schematic View Design
Schematic Design
在這一部份我們要畫出欲layout之電
路圖,目的是要給之後的layout作比
對,以檢查是否有錯。
Schematic editor
Create a Design
Library(I)
Schematic Design
輸入icfb之後見到的第一
個視窗叫作CIW (Commend
Interpreter Window),我們常
常須要查看上面
的訊息。
建立Schematic
view首先要叫
Manager
出Library
CIW視窗
Create a Design Library(II)
Schematic Design
•
創造一個以台
積電TSMC
0.35um製程
為依據
的
library,
名
叫
MyLibrary
Create a Design Library(III)
Schematic Design
Ok! 你已開出一個以
TSMC 0.35um製程為依據
的新library,這裏面將可
存放你之後要建立的cell。
在cell欄中是一些內定的
(default)cell。
Create a new schematic view(I)
Schematic Design
我們產生一個名叫inv的
新cell。
Tool應注意要選擇
schematic editor – composer
才對。
確定資料正確點<OK>
<本手冊以inverter為例>
Create a new schematic view(II)
Schematic Design
現在我們叫出了OPUS
的schematic editorComposer
等一下我們會使用到
1-bit wire,所以請注
意它的所在位置。
在它下面的是multi-bit
wire,不要弄混了!
Add Components (I)
Schematic Design
也可直接按快速鍵“i”
我們要加入一顆有四
個接腳而W=1um,
L=0.35um的pmos
Hspice model選用
pch,並輸入W及
L
這時畫面出會出現你
要的pmos symbol
Add Components (II)
Schematic Design
•
同上頁方式叫出有
四隻接腳並且
W=0.5um,L=0.35u
m的nmos
Add Power and Ground
Schematic Design
•
•
•
利用同樣方法把power及ground也加入到你的
schematic中。
利用1-bit wire工具把該連接的線連接起來
下一部我們要加入輸入及輸出埠
Add Pins
Schematic Design
也可直接按快速鍵“p”
Created an Invertor in Schematic
View
Schematic Design
•
Ok! 你現在已完成一個invertor的
schematic view。記得按下
Design/Check and Save,並到CIW下
看看有無錯誤。
•
接下來我們要把它做成symbol view。
Create an Invertor in Symbol View (I)
Schematic Design
•
•
確定要從schematic view轉成的
symbol view
確定腳位正確後點選<OK>
Create an Invertor in Symbol View
(II)
Schematic Design
•
•
你可利用Add/Shape/…那些工具去把symbol修改成你要的形狀,如inverter傳統
的形狀。
形狀修改滿意後選擇Design/Check and Save,並到CIW下看有無錯誤
範例實作
Pre-Layout Simulation
Pre-Layout
Simulation
本部份原本應該要最早做的,但若
我們先利用Schematic editor畫好電路
圖,進而直接轉出hspice file,就可免
除人工撰寫hspice file的麻煩。
本部份是為了要確定電路可達到規
格要求。
pre-layout simulation
Hspice
SPICE circuit simulation
Mn1 15 17 20 20 NMOS W=5U L=0.5U <AD=…>
Mp1 15 17 12 12 PMOS W=10U L=0.5U <AD=…>
Rgnd 20 0 1K
Cload 15 0 100F
.MODEL NFET NMOS <parameters> (from technology files)
.MODEL PFET PMOS <parameters> (from tech. files)
Vin 17 0 PULSE(V1 V2 TD TR TF PW PER)
.DC Vin 0 VDD VSTEP
.TRAN TSTEP TSTOP
12
17
15
20
0
0
CDL out (1/2)
CDL out (2/2)
Inv.net
修改 netlist 檔
移掉subckt與 pin腳宣告,加上PULSE波形輸入與測
量Delay指令
Modify netlist file
Execute & Result
CosmosScope
在提示符號下打scope &的指令即可開啟波形
Scope Introduction
Commend: scope &
3
6
VLSI Design Laboratory
選擇File -> open -> plotfiles 來加入所要看之波形檔-圖a
其中的files of type 選擇所需要的格式,因為是選擇
HSPICE 模擬,所以選擇 HSPICE(*.tr*,.)-圖b
圖a
3
7
VLSI Design Laboratory
圖b
選擇所需要的波形圖檔
檔案名稱
訊號名稱
3
8
VLSI Design Laboratory
在訊號名稱中選擇我們所要觀查的訊號,
概可產生我們所模擬的波形
3
9
VLSI Design Laboratory
範例實作
Layout Design
Layout Design
本部份真正開始製作光罩。
強烈建議同學們有時間的話就把
basic VLSI Design再拿出來看一看,確
定自己了解光罩和下線出來的chip之
間的關係。
Layout editor
Inverter layout vs. circuit
VDD
+
a
tub ties
out transistors
a
GND
out
Create a new Layout View
Layout Design
Layout Editor
(Virtuoso)
Layout Editor Introduction
Layout Design
1) 你目前工作中的layer
2) Library Name
3) 設定Instant與Pin可被
選擇嗎?
4) All Visiable(全部layer都
可看到)
5) Not all Visiable(只看到
工作中layer)
6) All Selectable(全部的
layer都可被選擇)
7) Not all Selectable(只
可選擇目前工作中layer)
•
1
3
2
4
7
5
6
快速鍵務必要背下來,
以方便layout
1)
2)
Save
Zoom in,快速鍵按
(Ctrl+z)
3) Zoom out,快速鍵
按(Shift+z)
4) Stretch伸縮,快速
鍵按’s’
5) Copy複製,快速鍵
按’c’
6) Move移動,快速鍵
按’m’
7) 加入Instant,快速
鍵按’i’
8) Global Path layout專
用,快速鍵按’p’
9) 打text2時用
10) Rectangular,畫四邊
形,按’r’
11) 尺規,按’k’;消
除尺規,按’K’
1
2
3
4
5
6
7
8
9
10
11
Make your Layout Editor Friendly to
You
Layout Design
•
•
第一次用Layout Editor時設
定這兩項可讓你工作較順
手。
設定完後save起來。
Design Rules(I)
Layout Design
•
我們的目的是要完成右
圖之inverter layout view。
•
你首先要先做出此圖中
幾個重要的layout,如:
Contact of Metal1 to
ThinOxide
Contact of Metal1 to
PolySilicon
•
•
總括來說,你得做出下
頁幾個重要的layout。
或按快速鍵O直接呼叫
元件
CMOS inverter的Layout ( 上圖 ) 及
Cross section View ( 下圖 ) 比較
Design Rules(II)
Layout Design
• Cellname:
Metal1_Poly
Poly
•
Cellname:
Metal1_Metal2
Cellname:
Metal1_Thin
CONT
Thin
Metal1
•
Cellname:
Metal2_Metal3
•
VIA1
VIA3
Metal1
Metal3
Metal2
Metal4
VIA2
Cellname:
Metal3_Metal4
Draw Your First Layout
Layout Design
•
當你把上頁的關鍵layout都畫好
之後,請依指定名稱存好檔案。
•
接下來你就可以開始畫右圖的
layout了。也許你對2p4m的
design rules都不熟,沒關係,你
可以:
先大概畫出右圖的樣子
再用Calibre的DRC馬上check你
違反了哪些rule,進而一一修
正。
下一節就教你如何用Calibre
Something to Mention
Layout Design
•
你可以切換你的layout圖,以方便你觀看分辨哪些是你add進來的
instance而哪些是你這張layout才畫入layer。
Shift+f
Ctrl+f
或直接按快速鍵L
Finish
Latch-up
CMOS ICs have parastic silicon-controlled rectifiers (SCRs).
When powered up, SCRs can turn on, creating low-
resistance path from power to ground. Current can destroy
chip.
Early CMOS problem. Can be solved with proper
circuit/layout structures.
add subtract-contact (well-contact, or tub-tie) properly
Parasitic SCR structure
Latch-up
to avoid latch-up
minimize Rnwell and Rpsubs
achieved by placing numerous well and subtract contacts closed to
the source connections of nMOS/pMOS devices
devices carrying a lot of current (such as transistors in the I/O drivers)
should be surrounded by guard rings
Substrate/Well/Tub Contact/Tie/Tap
Top-view and cross-view of Inverter
CMOS NAND gate
(2 nMOS in serail, 2 pMOS in parallel)
+
out
b
a
範例實作
Offline Check - Calibre
Offline Check Dracula
若要下線生產,一定要經過公信力
高的驗証軟體檢查layout是否有問題,
Calibre就是這樣的一套軟體。
Off-line Check
Add Pin(I)
Online Check-DIVA
•
把Metal1用於pin的layer加入到LSW面版中,以便下頁使用。
Add Pin(II)
Online Check-DIVA
vdd!/input
Vin/input
Vout/output
gnd!/input
Start Using Calibre
Offline Check - Dracula
準備一個基本檔案:
drc
自己知道上述檔案在什麼路徑位置即可
Pre-work
source calibre
source /usr/mentor/cic_setup/calibre.csh
.cdsinit
setSkillPath(" . ~
/usr/mentor/Calibre_ss/cur/shared/pkgs/icv/tools/queryskl
")
load("calibre.skl")
將此檔擺在執行目錄
71
VLSI_LAB
2015/4/13
How to run calibre
From Virtuoso view
calibre -gui
72
VLSI_LAB
2015/4/13
From Virtuoso view
73
VLSI_LAB
calibre -gui
74
VLSI_LAB
DRC
Design Rule Check
Example for Design Rules (not
TSMC 0.35um 2p4m)- Min Width
Min Width:每一層的最小寬度 例如規定:Poly1最
小寬度為0.5μm
Min Space
Min Space:相同層之間的最小距離
例如規定:Poly1與Poly1最小距離為0.5μm
Min Clearance
Min Clearance:不同層之間的最小距離 例如規定:
Poly1與Poly 2最小距離為0.8μm
Min Extension
Min Extension:不同層之間的最小延伸距離 例如
規定:Poly1延伸出Field的最小距離為0.55μm
Min Overlap
Min Overlap:不同層之間的最小函蓋區域 例如規
定:Poly1 overlap Poly2的最小區域為0.7μm。請注
意,單位是長度而非面積。也就是外圈與內圈的距
離。
Max area
Max area:最大容許面積 例如規定:Poly 2最大電
容面積100 μm*100 μm
TSMC 0.35μm 2p4m Design Rule
TSMC 0.18μm 1p6m Design Rule
TSMC 0.18μm
Design Rule
0.86
0.1
0.1
0.22
0.22
0.26
0.25
0.1
Minimum space
from PMOS to
NMOS is greater
than 0.43 um
0.23
0.18
0.16
0.22
0.43
0.1
0.22
0.26
DRC
Design Rule Check
實際操作
DRC Runset
86
VLSI_LAB
2015/4/13
DRC Input Rule
Input rule
Where do you want
exe calibre
87
VLSI_LAB
2015/4/13
DRC Input Check File
Calibre will create this
file automatically
88
VLSI_LAB
2015/4/13
DRC Output Files
按Run DRC
89
VLSI_LAB
2015/4/13
result
過濾不必要的訊息
After run calibre DRC
DRC RVE
view
Error area
coordinates
error check
text
92
VLSI_LAB
2015/4/13
可以省略的error & DRC ok
LVS
Layout versus schematic
實際操作
94
VLSI_LAB
2015/4/13
LVS Runset
96
VLSI_LAB
2015/4/13
LVS Input Rule
Input the rule
Where do you
want execute
LVS
97
VLSI_LAB
2015/4/13
Input netlist
LVS Input Check File (1/2)
Calibre will create
this file automatically
99
VLSI_LAB
2015/4/13
LVS Input Check File (2/2)
Calibre will create
this file
automatically
100
VLSI_LAB
2015/4/13
LVS Output File
101
VLSI_LAB
2015/4/13
LVS ok
LVS error
範例實作
Post-Layout Simulation
Post-Layout
Simulation
此部份利用Calibre的PEX產生Hspice
檔,供我們作最後驗証。
Layout Parasite Extract
電路模擬
在電路設計過程中有兩個階段需要進行電路模擬。
一般在進行佈局前先進行電路功能之分析(PreLayout Simulation, PreSim)。在完成佈局後由軟體萃取
出寄生效應,再進行一次模擬(Post-Layout Simulation,
PostSim),以研判實際晶片可能的性能。
Load Runset
Rules
Inputs
Outputs
PEX後產生的三個檔案
Post-Layout
Simulation
Post-Layout Simulation
好不容易產生了我們要的SPICE檔,
不過它不能直接拿來使用。
我們得加入test pattern和一些condition
等等才能正確跑出我們要的模擬結
果。
post- layout simulation
Hspice
Modifying the Hspice file
Post-layout simulation
Awaves
Design ->open
選擇要觀看的腳位
window->Stack/overlay mode
Post-layout simulation
post-layout simulation是由完整的佈局圖中萃取出電氣
參數(如MOS 的W、L 值,BJT,diode 的area,
perimeter,node 的parasticcap.),並以HSPICE netlist方
式表示電路。而這個萃取的動作叫PEX,PEX是在
做佈局資料之元件與電路萃取,包含雜散電容及電
阻的計算,若雜散電容及電阻越大,則會影響到輸
出的正確性。
因此,電路在加入了更精確的雜散電容及電阻的計
算後,由於考量的條件變多了,結果會更趨近真實
晶片的情況,所以通常post-layout simulation所得到的
結果會比pre-layout simulation的結果還要差。
Comparing the Results
Post-Layout Simulation
•
比較一下pre-layout
simulation和post-layout
simulation的差異吧!
•
一般在此時你得要檢查
你的post-layout simulation
是否符合規格,若不合
就得再作進一步修正。
Pre-Layout
Post-Layout
加上I/O pad
Introduction to 0.35um I/O PAD Cell
Library
I/O pad是IC內部電路與外界連繫的媒介,用於調整電壓準位、加大推動能力
等。
0.35的I/O pad Library中只有零散的pad cells,必須自己手工兜製。
Chip最大面積為1500um x 1500um,只要是在此範圍之內,pad的數目最使用36
組。
在此Library中的cells皆不完整,內部機密都已被拿掉,我們只能看到如metal等
layers.
因為不完整,所以也沒有提供cells的schematic,因此不能作LVS驗証;我們只須
對我們的core作DRC和LVS,最後要作post-layout simulation時我們得去參考我們
所使用的I/O pad cells的規格(CIC有提供)。
送下線時,CIC會幫我們把這些不完整的I/O pad cells換為真正的TSMC I/O pad
cells。
Procedures of Making
I/O pad frame
打開此layout view,並在1500um x
1500um範圍之內,製作I/O pad
確定你需要的I/O pad cells
加入I/O pad corner cells在四個
角落
加入你要的I/O pad cells到邊
邊上
加入pad feeders去填補缺口
feeder
corner
I/O pad cells
我們的目標就是完成上圖
Main Problem of Making I/O
Pad Frame
如何去了解TSMC所提供的I/O pad
cells並選擇你所需要的cells是最主要
的課題。
TSMC提供的I/O pad cells大致可分為
下列幾種
Input cells
Output cells
Power cells
Corner cells
Feeder cells
所需用到的IO Pad種類
PDIZ
輸出腳位,腳位ONE必須接地
(數字越大表能推動的負載越
大)
輸入腳位
PVSS3Z
GND
PVDD3Z
VDD
PDT16TZ
PCORNERZ 轉向用的角落
PFEEDxZ
填補剩餘空間,x代表寬度
加入IO PAD
操作步驟
使用stream in 的方式
存放的位置
GDS的名稱
匯入的
Library
使用instanced 的方式加入剛剛匯
入的iopad
Making I/O Pad Frame
- Placing Corner Cells
•
先用尺規量出
1500x1500的範圍
•
把pcornerz cell叫進
來。
Making I/O Pad Frame
- Placing I/O Pads
•
將選定的cell一一加入到
邊邊上。
•
無論你使用什麼cell,一
定要記得把Vdd和Vss
cells加入。
pvdd1m及pvss1m是
專用於供給core電
源
pvdd2m及pvss2m是
專用於供給I/O pad
電源
pvdd3m及pvss3m是
通用於core和I/O
pad的
Making I/O Pad Frame
- Placing Feeders
•
利用feeders把缺口補好,
這樣電源才能順利傳送
•
Feeders的寛度由1u到20u
都有提供,取適當寬度
以加速填補的動作。
•
注意:不要有重疊到
I/O pad cells上的狀況,
以免破壞到之後要替換
上的cells。
TSMC standard I/O library
使用注意事項
佈局時請使用Create Instance 的方式加入TSMC I/O PAD
之佈局,請勿使用直接複製I/O PAD內部佈局的方式加
入TSMC I/O PAD或將TSMC I/O PAD的佈局做flatten的動
作,以免發生無法替換TSMC I/O PAD 的問題。
使用TSMC I/O PAD 時,請將相鄰之TSMC I/O PAD 佈局
的邊緣貼齊,請勿任意將相鄰的兩個TSMC I/O PAD 的
佈局做部分重疊,以免在替換TSMC I/O PAD 之後造成
DRC Errors。
請勿使用”pad”做為設計者自行設計之pad 的cell name,
因設計者的pad 與TSMC之pad 的大小與佈局內之座標位
置不一定相同,在替換I/O PAD 時,將設計者的pad替換
成TSMC 的pad 後,可能造成開路、短路等問題。
建立如下的佈局 此處的IOPAD 和 CORE 使用同一
組VDD 和GND
會有雜訊的問題,請在你的設計中,使用分開的電
壓源提供給 PAD和 CORE
建議在output的腳位旁,加上
power和ground的pad
為了提供Output Pad良好的訊號輸出,建議在Output
Pad兩側加上 vdd 和Gnd的pad
例如
pvdd3z pdt16tz pvss3z
Power PAD的使用方式
約每7~8個PAD會使用一組power PAD(PVSS3Z&
PVDD3Z)。
因此在最多使用36組PAD的情況下(教育性晶片面積
限制1500 * 1500 um2),約有8隻腳位(4組)是使用
power PAD,因此訊號腳只剩28隻
4~7pad 需要一組
VDD & GND pad
Samples
Vdd5V電源
內部電源
I/O pad電源
Connect Your Core to I/O pad
It’s better not to overlap it
在iopad連結時 使紫色線剛好相鄰 (PAD長寬 84um
、 365 um)
可利用計算晶片總長寬來檢查
連結訊號時 只能連結到 下圖中的叉叉處,VIA也請
打在PAD的外側
連結出 power ring 注意不要短路 太寬的金屬線會出
現DRC錯誤,因此接到PAD上的超寬金屬線需要被
分割
Iopad可做 drc 的check 但是lvs的check 必須移除iopad
DRC
一般驗証時可以Hierarchical進行驗証,
由於CIC只接受Flat方式的驗証結果,故繳交佈局
檔時請以Flat方式進行最後驗証!
做drc check時 遇到的 可忽視的錯誤
可忽略錯誤
http://www2.cic.org.tw/%7Eshuttle/drc/t35ms/index.ht
ml
[使用率問題是不能忽略的,pad的問題可忽略]
常見錯誤可看文件
[常見不受理原因_T035MMAP002_1_0.pdf]
Core output super buffer
因為電路的output需要接到 pad的輸入端,因此會有
負載的問題,使用模擬的方式判斷需要多大的 buf
Post-Layout Simulation
Critical path delay
請確定加上I/O pad之後你的critical path delay是否有
改變
Critical path座落位置改變 or
原Critical path delay增加
Super buffer
引入 Dummy pattern 的方法-(高密度元
件:解決某一材質使用率不足的問題)