IBIS模型: IBIS模型的效能參數

在數個或更多的IBIS模型中,假設它們都通過了Golden Parser的驗證而且運作速度也合乎需求,則吾人要如何才能判斷其中何者較其它更適合我們高速設計上的需求呢?在這篇文章中,我們將試圖定義出一些IBIS模型的效能參數以供參考選擇之用。
IbisRttROn

 

之前的文章已數度談及IBIS模型的基本架構。。。再示於上圖;基本上是由上拉(PU)、下拉(PD)電路決定其穩態電壓及輸出阻抗。而靜電保護電路ESD則由一般在反向偏壓的箝位電路(PC), (GC)所組成。上拉電路能多快地由斷路轉成通路、同時下拉電路由通路變成斷路,則決定了此緩沖器上升時的瞬態表現。下降波形的形成也是同樣一的道理、只是開關的極性方向相反。由於PC, GC電路操作在反向偏壓區間,其漏電電流一般很小。

 

RttTerm

 

另一種常見的狀況則如上圖所示。。。一般是用在動態記憶體裡。這裡因為有晶片上的阻斷電路(On die termination)…由兩個電阻組成一分壓器(voltage divider), 所以即便是緩沖器是在高阻抗無輸出的狀態之下,由分壓器所導致的輸入電流也遠比之前所提的漏電電流來得大而不能加以忽略。

由這兩種常見的操作情況,吾人可合理地將一緩沖器在輸出阻抗及其瞬態反應(以信號斜率及上升、下降需時來表示)的相關參數用做比較用的效能參數。再詳述於下:

IBIS輸出阻抗:

若緩沖器的輸出阻抗和立即接到其輸出端點元件的輸入阻抗不相匹配,則信號在一開始之初就會形成相當的反射而來回振盪;一般而言,緩沖器的輸出即是封裝部份穿過各腳位的拉出傳輸線(特性阻抗一般是50歐姆);而解決這種不能匹配的問題一般則是再加上一個串聯的電阻以便使總阻抗能達到50歐姆左右。下圖為一輸出不匹配而造成巨大振盪的例子:
ZMismatch

 

由於IBIS緩沖器有上拉及下拉的電路, 兩者的輸出阻抗在參考電壓(一般是高位電壓的一半)間的輸出阻抗未必一樣;工程師一般得取這兩者的中間值來做為還要再加上多少串聯電阻的依據。

IBIS的時域參數:

為能有較佳的信號整合性,一般來說我們需要用的緩沖器輸出的信號速度只要夠快就好。。在夠快的條件下愈快其實愈不好。為說明這原因,我們可以常見的對一方波解構的各個諧波為例,如下所示:最上面的是一純Sin的波形、其頻率和方波同(稱基本頻率或基頻);其下則是此Sin及其二倍頻的組合,依此類推;我們可以看到:隨著更高頻Sin Wave的加入,所組合出來的波形就愈來愈像一方波。也就是說:一個信號上升下降速度很快、趨近無窮快、的方波,是由很豐富的頻率信號所組成。
Harmonics

 

又:不同頻率的信號在同一介質中的傳播速度並不相同,故會造成信號的失真。這種傳輸速度隨頻率而異的現象一般稱作“色散”;若一信號速度慢又和緩(在夠快了的前題下,相較於更像方波的快速上升/下降),則其色散的情況會較輕微而傳送的速度也就較不易為高頻部份所影響而形成信號失真。

效能參數:

綜上所述,吾人可建議並定出下列的效能參數以作為IBIS緩沖器模形間的比較之用:

  • PVT: 也就是快/中/慢,供應電壓及環境溫度等的資料。這些值都已在模型裡清楚定義。使用這模形的工程師必需確保應用範圍在這些值的區間內,則仿真出來的模形效能才具有實際上的意義;
  • C_Comp: 也是已在模形裡定義的,總結連到pad的電容負載;
  • Z_PU: 即上拉電路在參考電壓值時的輸出阻抗;
  • Z_PD: 即下拉電路在參考電壓值時的輸出阻抗;
  • Z_PU_MM in %: 即上拉電路在距參考電壓值之下及之下相同的距離(比如說100mv)時輸出阻抗的變化程度;這可視為阻抗線性變化程度的參考;
  • Z_PD_MM in %: 即下拉電路在距參考電壓值之下及之下相同的距離(比如說100mv)時輸出阻抗的變化程度;這可視為阻抗線性變化程度的參考;
  • Z_RTT: 當有之前所述的晶片上阻斷電路時(ODT, on-die termination),緩沖器的輸出阻抗;
  • RT: 輸出自 20%~80% 的上升振幅所需時間;
  • FT: 輸出自 20%~80% 的下降振幅所需時間;
  • FREQ: 在不被超頻的情況下此緩沖器可運作的最高速率。

除此之外,有些時候傳播遲延, 即數位信號輸入到一緩沖器到其輸出跨過參考電壓所需的時間Tco, 也被拿來做為參考數據之一。我們認為這其實是沒太大意義的。原因在於同之前的文章所述,為保存大部份的瞬態反應又容許模型在高頻下操作,建模工程師或是使用的仿真器就常會把一開始平穩的穩態波形點所刪除,在這種操作之下,所量得的Tco也就不準了。其次,信號整合性工程師常看的眼圖(eye plot)本身即由一連串的時脈波形相疊而成,不論Tco的真實與否,因其整個波形被順勢位移了,故在眼圖裡並不會看到任何影響。也就是說, Tco實際上不會對眼圖有任何的改變。

由以上所建議的數項性能參數,則吾人可利用如我們SPISim BPro模組裡的功能,將一個或多個IBIS模形裡的性能製出一表總結以供參考選擇緩沖器之用,並能因使用適當的模型而提高系統的信號完整性。

參數模形:

利用這些參數,我們也可更進一步地建出一假設的IBIS模形;抑或是對其中的數個參數進行掃描以產生多個可能的模形進行比較分析。當有了以仿真結果做依據的分析後,建模或完整性工程師便可以此建議晶片上緩沖器設計師應設計出的效能。也就是說:完整性工程師可坐在一個主導的地位來導引緩沖器所應被設計出的效能。現時的緩沖器設計一般有數個腳位可供微調速度及輸出強度之用,有了建議的效能值,晶片設計師便可試著不同的腳位開關組合或甚至是改變場效體通道的寬度來滿足所需。

 

SPISim BPro's Spec. model generation

SPISim BPro 的參數建模流程

我們SPISim使必信技的 BPro 便在此考量之下加入了參數模形產生的功能。這是完全不需要做任何的仿真的。用戶只要填入適當的效能參數,含兩組上升、下降波形表在內的IBIS模形就會即刻產生。用戶也可進一步利用如下所示的手動微調功能來為一些點或波形做改變,這些人工產生的(非由仿真結果產生的)IBIS模形在前期分析及甚致是外部模形的釋出上都有其實際上的用處及意義。

BPro generated spec model will have smooth transitions.

BPro 建出的參數模形均有平順的變化曲線

 

IBIS模型: IBIS模型的除錯及效能調校

我們將在此文談到如何對IBIS模型資料進行除錯及超頻調校;如之前文章所述,IBIS建模程序中首先的驗證程序即是以Golden Parser為模型進行檢查,若模型資料有問題,則一般會看到下列的錯誤訊息:

  • DC mismatch: 即VT及IV穩態資料間相衝突;
  • Non-monotonic data points in I/V curve;
  • Extreme currents in IV data。

我們將在以下為這些錯誤訊息詳做解釋。至於效能調校部份,我們將談談IBIS模型的超頻及其可能衍生的精確性顧慮;為確保您產生的模型可在預定的時脈速度下運作,確保其工作頻率的準確性是很重要的課題。最後,我們也將簡單談談我們使必信科技發展出來的工具裡是如何來克服這些技術上的挑戰。

DC mismatch:
IBIS建模程序中最麻煩的莫過於碰到下面的錯誤訊息:
DCMismatchMsg

當發生這種誤差(mismatch)時,建模者所會看到的是在VT的穩態部份電壓和自原緩沖器設計(Transistor)跑出來的結果位準不同。一般的解決方式是回頭去檢查穩態分析部份(IV:PU/PD/PC/GC)設定偏壓是否正確,而後重新仿真、產生模型後再測一次。最後不得已的手段則是手動地去改資料點,以便能減輕這種誤差的程度至可接受的範圍、或是讓其完全消失。不論何種方式,我們都得先對這個誤差的成因做一了解才不會如瞎子摸象不知從何修起。

VT 波型資料的起迄點均為穩態

VT 波型資料的起迄點均為穩態

VT 波型資料的起迄點均被視為已達穩態;也就是說,不論時間點(橫軸)的變化,這兩點的電壓均不再變化。Golden Parser即取這兩點的值來算出由VT所顯現出的負載電流。

DC mismatch 係起因於IV/VT穩態資訊的不相容

DC mismatch 係起因於IV/VT穩態資訊的不相容

上圖中, 我們在左下方簡單表示了緩沖器的負載情形,輸出電流I取決於端點電壓及其輸出的負載,也就是說,當VT達到穩態時,吾人可由模型裡的負載組合來做下列的試算:

  • I_LoadLine = (V_Pad – V_Fixture) / R_Fixture

其中Fixture部份即測試負載、而PAD即緩沖器的輸出端口。從電路來上來看,當緩沖器輸出為高態時,大部份的電流都是由上拉電路PU所貢獻;下拉電路PD此時可看作是完全地斷路而不提供任何電流的。若我們以V_Pad為值,減去Vcc(因為PU的X值是相對應於Vcc的, 即Vcc relative),則可用PU的IV資料表來找出相對應的輸出電流。然後,由於靜電保護電路PC/GC均在反向偏壓的狀態,我們也可用同樣的方式及值(PC也是Vcc relative)來找出相對應的電流。總結而言,由IV資訊所顯示出的應有的電流輸出即是I_Out=I_PU-I_PC-I_GC;所謂的DC Mismatch即表示這由IV所算出的輸出電流I_Out和由VT資料所算出的應有的負載電流I_LoadLine並不相同。

我們剛剛提到的只是輸出高態的部份,輸出為低態的情況也是一樣,只不過在低態時,上拉電路可視為完全斷路。故大部份的電流都是由下拉電路PD所提供。

由於一個IBIS模型裡可以有好幾組VT表,每個表產生時的測試負載均不相同,所以這個DC Mismatch的問題一旦產生,常是每個VT表的兩個靜態值都會有錯誤而顯得錯誤很多。

由上所述:mismatch的成因在於IV及VT所提供的資料對算出來的輸出電流不相符合,則修正之道即在於改變IV或VT以使再算出來的資料能相符。通當建模者需回頭檢視當初在做穩態仿真時偏壓是否正確,或是在“偽穩態分析”時輸入的電壓是否改變過快而使量得的電流並不真是像穩態時的值。一般來說,VT的瞬態仿真一般是較沒問題的。因為若VT有問題的話,在其仿真結果上就可很直接的發現出錯誤。

 

Non-Monotonic Points in I/V data:

這訊息意謂資料表裡的值為非單調性增加或減少;也就是其一階導數有正負性變化的問題。一般而言這類的警示是可被忽略的。唯有在非單調性增加/減少情況較嚴重時,仿真器會在這部份的範圍有不收歛的可能,因其一階導數(找牛頓解用)之不穩定變化之故。

這些資料表裡的問題點常是在緩沖器的非工作區間,故解決之道之一是也可以用人工的方式去消去一些點或增加一些點使得其看起來更平滑些。要注意的是有些緩沖器的設計在先天上就會有這些非單調性存在。故若使用模型的人對這類的緩沖器有所了解,則事後人為的改變資料反而會使的建出來的模型看起來像是假造的而有精確上的顧慮。

Extreme current in IV data:
ExtremeIError

這類的警示或錯誤訊息常發生在代表靜電保護電路(ESD)的PC/GC資料上。另一種情況是上拉下拉電路的穩態仿真結果不對。因為PC/GC的逆向雷流無所不在,故在建模過程中,當將由PC/GC的電流自PU/PD電流做減去的運算是便使得PU/PD也顯示出了如PC/GC般的崩潰區曲線而形成大電流的通過。

PowerGndClamp

如上所示,一般在正常工作區間,PC/GC兩者都是反向偏壓的。。。在很大的範圍內都是平線且值很小(即漏電電流很小);唯有在崩潰區才有如指數般的電流成長。惟由於IBIS規格中,為將遠端之全反射列入考慮而有的-Vcc ~ 2Vcc掃描區間的要求,故ESD電路便可能在這些很少可能才發生的時候顯出高電流。解決之道一般是在開始進入崩潰區的一伏特後對在那之後的電壓做線性外插。如此一來電流在模型裡將不再是指數性、而是變線性的改變。於此同時當ESD發生作用時也會有足夠的崩潰電流在仿真時保護連接到緩沖器輸出端的電路。

 

超頻(Overclocking):

每一組瞬態的上升/下降時態曲線加起來可表示出此一緩沖器模型運作的最小週期T。而這模型可運作的最高頻率即為此週期的倒數FMax = 1 / T; 也就是說:週期愈短,模型在不被仿真器更改資料的前題下可運作的工作頻率也就愈高。

若在真實運作時(如在通信渠道裡全仿真時),若操作頻率超過了如前所述的FMax, 這個模型便是在被超頻。一個被超頻運作的模型將有精確性及效能一致性上的顅慮產生。
Tolerance上圖中,有很長的一段時間緩沖器的輸出都是在穩態的情況下。若建模時能將這些部分、外加上一些容許範圍、地被移走;則最後留下的VT部份將維時甚短, 這表示雖然大部份的上升/下降時的變化情形仍在建出模型中,但這個新模型將可以更快的頻率來運作。

一般而言,業界裡常用的仿真器都可透過參數來進行如此的調校。問題在於在IBIS規格裡並未對一仿真器應如何消去這些穩態資訊來定義。其結果便是兩家仿真器對同一模型在超頻時所產生的結果可能不同。作為一個建模工程師,您不應對將有可能使用您產生模型的用戶為他們做仿真器使用上的限制。所以較理想之道應是您在建模之初便能將這些穩態資料點適做處理,並在模型表頭的部分明列這模形可操作的最高工作頻率。

MIN曲線有很長的時間延遲

MIN曲線有很長的時間延遲

上面的圖表則列出了另一種可能形成超頻的原因。圖中MIN曲線的延遲遠比其它兩者(TYP/MAX)來得多。由於IBIS規格裡要求三者在模型裡均由同一橫行、即時間點、來表示;上面的圖形將可能形成超長的MIN曲線的起始穩態值而很可能地自動變超頻。有些時候甚至還沒法及時將MIN曲線的資料完全含括在欲建的IBIS模型中。

為了解決這些技術上的問題,我們使必信科技BPro模組裡的解決方式是該建模者有更大多的操作選項可以來移除這些穩態資料。移除之後再由我們的工具自動地計算並優化以避免造成之前所述的DC Mismatch的問題。最後,我們也在同一模組中提供了直覺的工具供建模者可以手動地為現在模型資料做調整。

 

Tuning

SPISim BPro 的手動調整工具

 

最後要再加以註解的是:以上所述僅限於電壓部份的資料除錯及調校。對於IBIS 5.0後的模型、因其亦含有輸入電流的資訊、故要考慮的面向也就更多了。舉例而言:這些輸入的電流因也含有前級部份切換電路的部份,故很有可能在緩沖器輸出的電壓還仍在穩態時(還沒開始上升或下降)就有很大的波動性。因為VT和Composite Current 的IT在時間上是連動的,故吾人就不能隨意地將一開始時的穩態資料做移除,因為這麼一來輸入電流部份的時間點就不對了。凡此種種,將再在日後的文章中另作討論。