當半導體廠商被索要SPICE模型時,他們并不愿意提供,因為這些模型會包含有專有工藝和電路信息。這個問題已經通過采用IBIS模型來 (輸入/輸出緩沖器信息規范)解決,IBIS也被稱為ANSI/EIA-656,這是一個建模的新標準,在系統設計人員中越來越流行。
它相對于其它傳統模型(例如SPICE)有幾項優勢。例如,仿真時間最多可縮短25倍,IBIS沒有SPICE的不收斂的問題。此外,IBIS可以在任何行業平臺運行,因為大多數電子設計自動化(EDA)供應商都支持IBIS規范。
1.IBIS模型的文件結構
IBIS模型是一種以擴展名為“.ibs”的ASCII格式文本文件。它由關鍵字、子參數和定義值組成。
這個文本大致分為以下幾個部分。 文件頭信息部分包含文件名、日期、版本等信息組件描述部分 默認包模型引腳列表等(可以有多個定義)
模型聲明部分電壓/電流特性、過渡特性等(可以有多個定義)
子模型部分電壓/電流特性、過渡特性等(可以有多個定義)
包建模部分更詳細的包模型
[結束]
IBIS模型由除了.ibs文件之外,還包括以下擴展名的文件組成。
拓展名 內容
.pkg 包模型文件被.ibs文件引用。
.ebd 電子板描述文件用于描述DIMM等電路板級別的連接。不被.ibs或.pkg引用,獨立存在。
.ami 算法建模接口文件用于定義高速設備(如SerDes)的模型。被.ibs文件引用。
輸出模型
以三態為例,三態輸出的結構;模型可視為一個驅動器。它包含一個PMOS晶體管和一個NMOS晶體管,兩個ESD保護二極管,芯片電容和封裝寄生電容。
輸出模型通過以下直流電氣數據、交流或轉換數據以及參數進行表征:
1. 上拉和下拉曲線
2. 電源和GND鉗位曲線
3. 斜坡速率
4. 上升和下降波形
5. C_Comp
6. 封裝參數
上拉和下拉曲線
上拉和下拉數據決定器件的驅動強度。這些曲線通過特征化輸出中的兩個晶體管來獲得。上拉數據描述當輸出為邏輯高電平狀態(PMOS晶體管導通)時的I/V行為。反之,下拉數據表示當輸出為邏輯低電平狀態(NMOS晶體管導通)時的直流電氣特性。
C_Comp
這是硅芯片電容,不包括封裝電容。它是焊盤與驅動器之間的電容,可以理解為輸出pad、鉗位二極管和輸入晶體管的總電容。那么對于封裝參數則是管腳出線的電容、電感和電阻。這兩個電容要區分開。C_Comp是關鍵參數,特別是對于接收器的輸入。C_Comp對于每個不同轉折點(最小、典型和最大)都有一個對應值。C_Comp最大的值應在最大轉折點之下,最小值應在最小轉折點之下。
封裝參數
R_Pin、L_Pin和C_Pin是每個引腳到緩沖器連接的電阻、電感和電容的電氣特性。R_Pkg、L_Pkg和C_Pkg是整個封裝的集總值。與C_Comp參數一樣,最大的值以最大值列出,最小的值以最小值列出。
差分信號定義
有些模型沒有差分信號定義,很簡單,自己打開模型在[Pin]結束后加上你需要的差分信號就可以。
[Diff Pin] inv_pin vdiff tdelay_typ tdelay_min tdelay_max
5 6 NA NA NA NA
差分電壓閾值的定義是什么?閾值取決于[Diff Pin]的vdiff子參數。如果vdiff是NA(未定義),則不是0,而是默認值200mV。
上升下降時間
上升時間/下降時間的定義是什么?分為兩種情況:[Ramp]關鍵字和[RisingWaveform]、[Falling Waveform]關鍵字。
仿真中我們要設置的Source源上升/下降時間,并不是IBIS模型中的。
上圖的上升下降時間,并非指IBIS"真實輸出"信號的上升下降時間(50~100ps),而是指激發IBIS模型的"理想輸入"驅動信號的上升下降時間(1~10ps)。輸出信號真正的上升下降時間應該是由IBIS模型內所定義的Rising Waveform/Falling Waveform屬性所決定,而不是由使用者輸入來決定。所以上圖輸入的Tr/Tf要遠小于真正輸出信號的Tr/Tf,才不會影響模擬結果,這是初學者很容易誤解的地方。
另外,如果出現Over Clocking問題,此時可以選IBIS模型中的Ramp模式。
在相同的頻率下,fast corner眼圖正常,slow corner眼圖不正常。
使用相同的PRBS輸入模式,低頻率下眼圖正常,高頻率下眼圖不正常。
在相同的高頻率下,clock pattern眼圖“看似”正常,PRBS輸入模式眼圖不正常。
輸入模型
它包括兩個ESD保護二極管、芯片電容和封裝寄生電容。
這些元件形成表征輸入特性的V/I曲線。在這種情況下,除了封裝寄生和C_Comp參數外,輸入端模型包括從ESD二極管獲得的電源和GND箝位數據。
幾組參數
PVT(Process, Voltage, Temperature)模型過去通常是在“角點”構建的。所有緩沖特性都被認為是相對于PVT的依賴參數。
FastCorner= 快工藝,高電壓,低溫。
SlowCorner= 慢工藝,低電壓,高溫。
這些可以在IBIS模型的“Min”和“Max”列中輸入。在最大列中是Fast/strong,在最小列中是Slow/weak。
在最近的幾代中,我們發現只提供快角和慢角不能充分覆蓋所有效應。在這些情況下,可以給出其他模型類型(例如“max ringback”模型)。
Packagedefinition and pin allocation
轉化到原理圖里面
2.使用IBIS模型進行分析
模型檢查
Hyperlynx自帶的這款軟件比較推薦,編輯、修改、檢查都比較方便。
IBIS模型是如何運作的:
那么這些IBIS模型里IV/IT/VT的波形信息又是如何在仿真器里運用的呢?為簡化起見,先不管靜電保護電路(ESD)的PC/GC電路部分,它們在大多數的操作情形都是在反向偏壓區而有極小的漏電電流。對于主要的上拉(PU)及下拉(PD)電路而言,可以把它們看作是非線性電阻;就好比是場效應體的P/N通道般,其電阻值隨著端電電壓值而改變。這兩組電路之相互同時運作,便決定了在不同輸出負載情況下的緩沖器的瞬態反應VT及IT。
在瞬間的上升期間,上拉電路PU可以視為由完全斷路變成完全通路,而下拉電路是由完全通路變成完全斷路。由于接到地線的通路成為斷路,導致輸出電壓升高到邏輯1狀態。瞬間的下降期間則是相反地運作。因此我們可以定義一個"切換系數(Ku(t), Kd(t))",來乘以對應的PU/PD電流的輸出。這個切換系數的X變量是時域的,就像VT/IT中的時域變量一樣。Ku(t)=1表示PU完全通路。反之,Kd(t)=0表示PD完全斷路。這Ku(t)及Kd(t)的組合即可用以說明VT/IT的相應變化情況。
Ku(t)及Kd(t)的兩個變量,需要有兩組方程式才能對其求解。假設IBIS模型里有至少兩組的VT波形及其負載測試情況,則我們恰用這兩組數據來對Ku(t)及Kd(t)進行求解。因為Ku(t)及Kd(t)只和緩沖器里的場效應晶體管切換的經過時間有關,而和其負載無關,所以我們恰可用兩組方程來得到Ku(t)及Kd(t)的真解。這也就是為什么一般的IBIS模型里需要至少有兩組的VT波形的原因了。
實際操作中,如果我們無法獲得兩組波形,仿真器也可以做出另一個假設:即在每個時間點上滿足Ku(t) + Kd(t) = 1。總體上說,這個假設在緩沖器的穩態高電位或穩態低電位輸出時是成立的,但在其間的瞬態轉換期間不一定成立。另一種可能是仿真器可以利用IBIS模型中的斜率(Ramp rate)數據來生成假設的上升/下降VT波形,以達到對切換系數求解的目的。
IBIS模型驗證
1.ROUT
如何從IBIS文件中找到驅動器阻抗信息?”大多數時候,我們想要這些信息,以便控制傳輸路徑阻抗不連續引起的反射。
當驅動端的輸出阻抗與傳輸線特性阻抗(Zo)不匹配時,會出現反射,導致接收端出現振鈴。
使用上下拉電阻在接收處端接傳輸線以匹配Zo是解決這一問題的一種方法。盡管這種方法工作良好,但它不是優選的方法,因為電阻值將在45-70歐姆范圍內,以匹配現代PCB設計中發現的典型單端傳輸線阻抗。這樣的低電阻導致驅動器上的額外負載,從而導致更高的功率耗散。
一個更好的方法是在Buffer的末端添加一個串聯電阻,以彌補阻抗的差異。例如,如果緩沖器的輸出阻抗為20歐姆,驅動50歐姆的傳輸線,則需要添加一個30歐姆的電阻與輸出串聯。
因為Buffer是半導體,它的輸出阻抗可能會根據上升沿/下降沿轉換、PVT(緩慢、典型、快速)及其驅動的負載而變化。由于IBIS模型是基于ASCII的,當使用四個V-T波形表中的兩個驅動50歐姆時,我們可以簡單地使用文本編輯器來查看和快速估計輸出阻抗。
與下降沿相比,上升沿的輸出阻抗通常不同。要確定從低到高轉換的輸出阻抗,可以使用下拉[上升波形];R_fixture=50;V_fixture=0.000表。此表的示例如下所示:
[Rising Waveform]
R_fixture = 50.0000
V_fixture = 0.000
| time V(typ) V(min) V(max)
|
0.000S 0.000V 0.000V 0.000V
0.2000nS 0.000V 0.000V -1.7835uV
0.4000nS -1.1143mV -8.0018uV -7.8340mV
0.6000nS 0.1336V -5.4161mV 0.9354V
0.8000nS 1.1220V -12.5300mV 2.3940V
* * * *
* * * *
9.6000nS 2.5680V 2.1880V 2.7880V
9.8000nS 2.5680V 2.1880V 2.7880V
10.0000nS 2.5680V 2.1880V 2.7880V
表的前三行告訴我們,上升波形有一個50歐姆的電阻連接到緩沖輸出,并向下拉至0伏,如下等效電路所示。
輸出阻抗(Zs)和50歐姆負載的組合形成了由以下等式描述的簡單分壓電路:
V0=VDC*50/(Zs+50)
VO=Buffer輸出引腳處的電壓
VDC=電源電壓
Zs=緩沖器阻抗
Zs=50*( VDC-V0)/V0
如果使用上面V-T表中10nS的典型電壓,VDC為3.3V,VO為2.568V,則50歐姆上升沿的輸出阻抗等于14.25歐姆。
要確定高到低轉換的輸出阻抗,使用上拉[下降波形];表類似于以下示例:
[Falling Waveform]
R_fixture = 50.0000
V_fixture = 3.3000
V_fixture_min = 3.0000
V_fixture_max = 3.4500
| time V(typ) V(min) V(max)
|
0.000S 3.3000V 3.0000V 3.4500V
0.2000nS 3.3000V 3.0000V 3.4500V
0.4000nS 3.2995V 3.0000V 3.4500V
* * * *
* * * *
9.4000nS 0.5598V 0.6824V 0.4812V
9.6000nS 0.5598V 0.6824V 0.4812V
9.8000nS 0.5598V 0.6824V 0.4812V
10.0000nS 0.5598V 0.6824V 0.4812V
這一次,表格告訴下降的波形有一個50歐姆的電阻器連接到緩沖輸出,并向上拉至V_fixture,如等效電路所示。
輸出阻抗由以下公式計算:
Zs=50*V0/( V_fix- V0)
式中:VO=Buffer吸收電流時的輸出電壓 V_Fix=測試夾具的電壓在10nS時使用 V_Fix的典型值=3.3V VO=0.5598V,Zs=10.21歐姆。
對于這個特定的IBIS模型,輸出阻抗根據邊緣過渡而變化。對于上升沿,當使用典型值時,輸出阻抗為14.25歐姆,下降沿為10.21歐姆。阻抗也將在最小/最大條件下變化。
如果負載不是50歐姆,不能依賴這種簡單的方法來進行計算。相反,要通過仿真來確定。
對于輸出端的新模型,搭建鏈路如下所示,LPDDR4模型,我們可以通過波形的反饋驗證出芯片的ROUT。
2.鎂光的DDR模型通常會提供很詳細的IBIS Quality Report
DQ_34_4800 driving DQ_34_4800 at 4.8Gbps
DQ_34_4800 driving DQ_IN_ODT60_4800 at 4.8Gbps
實線是Hspice,虛線是IBIS,無論是輸出,還是輸入,吻合度是非常高的。
編輯:黃飛
-
二極管
+關注
關注
147文章
9703瀏覽量
167572 -
eda
+關注
關注
71文章
2788瀏覽量
173866 -
晶體管
+關注
關注
77文章
9746瀏覽量
138900 -
ASCII
+關注
關注
5文章
172瀏覽量
35200 -
IBIS
+關注
關注
1文章
55瀏覽量
19942
原文標題:再看IBIS模型
文章出處:【微信號:si-list,微信公眾號:高頻高速研究中心】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論