Pre-Layout Simulation
Download
Report
Transcript Pre-Layout Simulation
朝陽科技大學 資訊與通訊系
Full Custom Design Flow
全客戶設計流程
1
Outline
introduction
Pre-Layout Simulation ( Hpsice )
Layout ( Laker )
Verification ( Calibre )
Post-Layout Simulation ( Hspice )
2
interduction
在不同的製程底下,每套軟體皆有不同的技術
檔,因此在設計前必須決定好使用哪個製程,
方便我們之後的設計及驗證。
在此我們示範 CIC18的製程
3
Pre-Layout Simulation
一開始先呼叫 Hspice的軟體出來用,在測試檔參數設定
完後Input測試檔產生xxx.lis來查看錯誤,成功的話會
顯示hspice job concluded。
4
Pre-Layout Simulation
新增一個空白檔案,副檔名為sp。
5
Pre-Layout Simulation
電路檔副檔名為sp,主要是敘述電路每個節點。
6
Pre-Layout Simulation
為了清楚起見,通常我們會額外建一個測試檔副檔
名也是sp,主要是描述電路的工作環境。
Ex:溫度、工作電壓、頻率等
7
Pre-Layout Simulation
此為測試檔之內容,之後會有詳細的介紹
空一行
內容參數設定
8
Pre-Layout Simulation
Hspice基本語法介紹
C
D
E,F,G,H
I
J
K
L
M
Q
O,T,U
V
X
電容
二極體
相依電壓與電流源
獨立電源: 電流源
接面場效應電晶體JFET
互感或耦合電感Mutual inductor
電感
金屬氧化物半導體場效應電晶體MOSFET
雙極性接面電晶體BJT
傳輸線
獨立電源: 電壓源
子電路*
9
Pre-Layout Simulation
Hspice基本語法介紹
Zero (0) is always Ground
Ground may be 0, GND, GND!
10
Pre-Layout Simulation
Hspice基本語法介紹
Analysis type
. tran(暫態分析)
Ex : .tran 0.01n 100n
Output parameter
. option
Ex: option post *是把輸出的結果存成Graph file
. Probe
*允許儲存輸出變數到圖檔(awaves)
11
Pre-Layout Simulation
Hspice基本語法介紹
Transient source statements
Types of independent source function
Pulse (pulse function) *週期性的訊號,多利用在數位訊號中的
clock
Sinusoidal (sin function) *類比訊號分析
Exponential (exp function) *特殊元件分析
Piecewise linear (pwl function) *適用於不規則的訊號分析
Single-frequency FM (sffm function) *通訊調變分析
Single-frequency AM (am function) *通訊調變分析
12
Pre-Layout Simulation
Hspice基本語法介紹
Pulse function : pluse
syntax: pulse(v1 v2 <Tdelay Trise Tfall Pwidth Period>)
13
Pre-Layout Simulation
Hspice基本語法介紹
Ex:Vin 1 0 PULSE ( 0V 5V 10ns 10ns 10ns 40ns 100ns )
14
Pre-Layout Simulation
Hspice基本語法介紹
Piecewise linear function : pwl
語法: pwl(<t1 v1 t2 v2 t3 v3….> <R=repeat><Tdelay=delay>)
15
Pre-Layout Simulation
Ex:vAin Ain 0 PWL(0n 0v 9.9ns 0v 10ns vsupply 19.9ns vsupply
20ns 0v 24.9ns 0v 25ns vsupply 29.9ns vsupply r 0)
Ex:vBin Bin 0 PWL(0n 0v 4.9ns 0v 5ns vsupply 14.9ns vsupply 15ns
0v 24.9ns 0v 25ns vsupply 29.9ns vsupply r 0)
ain
bin
16
Pre-Layout Simulation
Hspice中也有類似C語言副程式的寫法,此寫法為
.subckt,可以利用此指令來寫一個程式,以利我們未
來在程式主題中的呼叫。
Ex:.subckt name n1 <n2 n3> <param=val…>
描述內容
.ends
17
Pre-Layout Simulation
MOSFET 描述如下所示:
MOS元件描述以M為開頭,其隨後的描述為連接之節點、參數等。
Ex:mp0 out ain vdd vdd p_18 w=1.5u l=0.18u
18
Pre-Layout Simulation
MOSFET 描述如下所示:
Ex:mn0 out ain gnd gnd n_18 w=0.5u l=0.18u
19
Pre-Layout Simulation
Nand閘電路圖
空一行
從電路圖轉成
電路描述方式
20
Pre-Layout Simulation
Hspice基本語法介紹
量測delay
Syntax:.MEASURE DC|AC|TRAN result_var TRIG ...
TARG ... <Optimization Option>
Ex :.meas tran delay_1 trig v(ain) val='meas_val' rise=1
+
targ v(out) val='meas_val' rise=3
21
Pre-Layout Simulation
Hspice基本語法介紹
量測Power
Syntax:.MEASURE DC|AC|TRAN result FUNC out_var
<FROM=val1> <TO=val2>
+ <Optimization Option>
Ex:.meas tran Power avg p(xnand2) from'1*t_cycle' to
'10*t_cycle'
Pre-Layout Simulation
Hspice基本語法介紹
量測功率延遲乘積Power-Delay Product(PDP)
Ex:.meas tran sum_PDP_1 param='delay_1*Power'
Pre-Layout Simulation
我們可以在測試檔內撰寫量測delay、power等的程
式,如圖為前模擬量測結果,之後可以與後模擬
RC萃取完的電路比較其結果,因後模擬是最接近
晶片下線出來的數據。
24
Pre-Layout Simulation
接著我們可以使用CosmosScope來看波形,利用指
令來呼叫Scope這套軟體,檢查其波型是否與真值
表相符,確定無誤後則可以進行佈局的規劃了。
25
Pre-Layout Simulation
打開Plotfiles後,檔案類型選擇Hspice
26
Pre-Layout Simulation
選擇正確的檔案後開啟
27
Pre-Layout Simulation
此為nand閘輸出波形,只有在ain和bin為1時輸出為0
,在後模擬完可自行比較波形圖的不同。
ain
bin
out
28
Layout ( Laker )
再來進入畫layout圖部分,使用spring_soft公司的laker
,一開始呼叫laker軟體出來使用,也要順便呼叫
calibre來驗證設計規則(DRC)和佈局圖對應電路圖
(LVS),這二樣都要過才能進行萃取RC的動作。
29
Layout ( Laker )
我們先新增一個library如圖所示
30
Layout ( Laker )
輸入Library name後選擇Technology file
31
Layout ( Laker )
在以下路徑選擇所需的檔案
32
Layout ( Laker )
在cell處新增一個元件
33
Layout ( Laker )
選擇剛才建的library後新增一個新的元件
34
Layout ( Laker )
進來之後的畫面,左側為常用tool
35
Layout ( Laker )
常用tool:
Contact
Metal
Poly
Diffussion
Nwell
PIMP
NIMP
36
Layout ( Laker )
r:矩形
k:尺規
c:複製
Ctrl+m:呼叫mos
o:呼叫連接層
Ctrl or shitf+z:放大或縮小
↑↓←→:移動
37
Layout ( Laker )
電晶體結構圖(n-well製程)
Layout ( Laker )
此為nand閘的layout完成圖。
Layout ( Laker )
畫完layout後要跑DRC驗證,必須符合它的製程規
則去做設計
40
Verification ( Calibre )
Rule檔放在以下路徑,如圖,之後按Run DRC
41
Verification ( Calibre )
左側欄位出現錯誤請修改至正確為止
42
Verification ( Calibre )
依照Rule修改後已無錯誤訊息,如圖。
43
Verification ( Calibre )
接著跑LVS驗證(Layout Versus Schematic),此步驟為
確認所畫的佈局圖與電路圖描述的接腳是否相符。
Verification ( Calibre )
選擇正確的Rule檔與路徑
Verification ( Calibre )
接著修改左欄Inputs裡面的Netlist,選擇正確的電路檔
以及格式和元件
Verification ( Calibre )
調整完後按Run LVS
Verification ( Calibre )
顯示結果為不符合
Verification ( Calibre )
左側點看LVS Report找錯誤
Verification ( Calibre )
經過debug後驗證通過了,如圖
Post-Layout Simulation ( Hspice )
接著做PEX萃取電路的電阻與電容
Post-Layout Simulation ( Hspice )
輸入正確的規則檔及路徑
Post-Layout Simulation ( Hspice )
左側Input的Netlis欄位也要修改
Post-Layout Simulation ( Hspice )
Output也要修改格式及萃取類型
Post-Layout Simulation ( Hspice )
左側的Rule、Inputs、Outputs皆修改完後按RunPEX
Post-Layout Simulation ( Hspice )
此為萃取後的電路檔,以此電路檔再做一次波形模
擬(scope)及量測各項數據。
Post-Layout Simulation ( Hspice )
此為後模擬之波形圖,與前模擬相較下波形較差一
點。
ain
bin
out
Post-Layout Simulation ( Hspice )
如圖為後模擬出來的結果,把RC參數考慮進去後
不論在delay或power上均提高了一些。
Post-Layout Simulation ( Hspice )
每個人模擬電路的結果皆會因layout的畫法而有所
不同,因此勤加練習是進步唯一的方法。
以上大致為整個前模擬(Pre-sim)到後模擬(Post-sim)
的流程。