IBIS-AMI: 模型中之出雙入對暨無三不成禮

我們”使必信”公司除了銷售累積多年經驗所開發的EDA軟體之外, 也常利用自己的軟體為客戶做建模的服務(畢竟, 要有魚吃除了有好魚竿還是不夠的,有的公司跟本沒人或沒意願來親自釣魚);一般來說, 會找我們做案子的多是IC/IP商,他們的客戶…多是用其IC元件的系統廠…會要求他們提供模型以便設計或分析;雖然這些IC廠的元件多只是TX或RX端, 但常常做到最後會會發現很多情況下, 常至少需要成對的模型才能完成原所建模型之驗證。在這篇貼文, 我們就對這幾種IBIS-AMI中所謂”出雙入對“的使用場景做經驗上分享, 以便有興趣的讀者日後在有建模需要時(未必是找我們),能預先有個心理準備及相對應的考量。

Tx 及 Rx:

上示的原理圖大概是做通道分析中最常見的情況; 在TX及RX端,用戶或許會被要求提供對應的IBIS模型資料,但不可或缺的必是其AMI的模型及參數設定; 就中間的Interconnect而言, 這裡所示的是廣意的方塊”S”, 其大可是Tx封裝, 傳輸線/過孔/連接器, Rx封裝等各自以不同的模型表之;也或可是透過串接的方式全部連起來而成一S參數;這Interconnect在通道分析中的假設是passive且線性非時變(LTI), 其目的是為提供一突波響應(impulse response)以便其它的TX及RX AMI模型可在Statistical 或 Bit-by-bit模式下運作;至於運作的步驟則在IBIS規格的10.2章中有詳細描述。看過其內容的讀者可發現, 之中所有的描述、甚或是如下面KeySight提供的網上資訊教程中也都是一樣地..所有的TX及RX AMI 模型皆是成雙成對地出現而缺一不可:

也就是說, 第一個”成雙成對”的現象最常出現於一般分析時之所需。不同的通道仿真器或許要求不同, 有的即便是不要求用戶提供所缺的TX或RX端AMI模型,其內部也可會有內定(default)的模型供使用;但一般而言, 為了符合IBIS規格中所述的分析流程需求, 兩個模型都要有大概是跑不掉的。從這點來看, 和一般傳統spice仿真對Driver/Receiver端的要求就很不同。在後者的情況下, Driver/Receiver各不論是以傳統的IBIS模型、transistor model, 甚或是Verilog-A或線性化的行為模型都是可以用的。

那如果訂購模型的廠家只有TX或RX端AMI 的需求的話要怎麼辦呢? 通常本司都是如”買一送一”般會再加給一個”Pass-thru”的dummy模型;這個模型可放在TX端或RX端而只是把傳入的資訊再送出而不做任何的更改。當再配合一樣pass-thru的interconnect時, 要為所建/訂購的AMI模型做驗證就很直接了, 因為算出來的結果或BER圖就純是這個模型所造成的結果, 一旦其符合EQ規格所需, 再加上實際情況下的interconnect及其它廠家的TX或RX AMI模型就可做真實的分析了。

(所謂的pass-thru模型不過是在AMI_Init或AMI_GetWave中對那些透過傳址呼叫傳進來的資料不做任何更動而已, 如此相同的資料會被再度送出到下級而完成僅僅是pass-through的目的)

Repeater:

IBIS6.0的規格裡加入了對mid-channel repeater的支援, 其來龍去脈可詳見於BIRD156.3文件;而Repeater的運用常見於諸入PCIe或HDMI等含較長的SERDES通道中;而Repeater實又可再細分為以下兩類:

  • Redriver: 其主要目的及功用是要透過EQ而為在上游通道及擾動所造成的信號損失來做補償, “放大後”的”類比”信號則再度被傳到下游通道。
  • Retimer: 除了像Redriver的功用之外,CDR也包含在其中以便透過這時脈對原激勵做”數位”的重建, 再度傳送到下游的正是這重建後的數位信號。

由於一個repeater先要有接收器且再度傳送, 其AMI之”出雙入對”是顯而易見的:

上示意圖中, repeater裡的前端正是接收器RX用以接收上游的信號, 處理過後的資料則再透過後端的發送器TX以傳到下游, 所以兩者可說是缺一不可的。正由於這兩個AMI模型的加入(只有在RX端的.AMI檔裡才能加入Repeater_Type關鍵字的敍述), 所以要為含有一repeater的通道做分析等於是至少要有四個AMI模型才能開始運作; 實際上因為一個通道允許含有一個以上的repeater, 所以有六個、八個或更多的AMI參與其中也都是可能的。至於含有Repeater的通道分析流程, 在IBIS規格的10.7章裡有更詳細的描述。

若僅就做為單一電氣元件的Repeater而言, 其內部RX/TX間的信號情況為何可能毋需為人所知;但在其它的情況下, 都如為光連結(Optical link)以Repeater模式建模的情況下..諸如下圖所示, 則應用情況便變得複雜得多:

本司最近就做了一個像這樣的案子…我們把這實為optical link(可以很長, 因是透過光纖走線)的兩端光發送/接收模組以Repeater的模式來建模; 第一個碰到的不同點是在對”光”信號的描述中(如上圖所示), TX又再置於前端而光接收器RX在Repeater的後端; 所以這裡就很容易在Review時為光模組廠及其用戶系統廠之間搞混, 其次有下列兩種情況要考量:

  1. 因為Repeater內的TX/RX之間很長, 所以可能會有需要對此信號做量測, 再者, 因為其實為光的發送能量為如mili-watt, 所以與一般認知的差分電氣信號不同。
  2. 此一光模組的系統用戶可能只是在上游通道端、只是在下游通道端、或者兩端皆有來做設計, 所以所提供的模型需能適用於各種情況。

上面中的第一點有點麻煩..主要是因為其”非差分”的信號性使然。截至目前為止, 如果看過IBIS規格中的AMI部份的人都會發現, 所有的描述都是針對差分信號。比如說, 激勵的信號區間是-0.5~0.5間等等;這當然是因為AMI至今大多用在SERDES上有關, 但就建模而言, 其實做差分或單端(single-ended)信號是沒什麼大差別的, 不同的地方在於各仿真器內部是怎麼用AMI模型傳回的信號做運算;而這…多是模型用戶無法窺見得知的。也就是說, 當我們提供一個Repeater時, 取決於仿真器的不同, 可能的運作及能對內部量測的程度也就不同。所幸的是, 由於DDR也要開始採用AMI模型做分析了,所以在可預見的將來,通道仿真器應就會很快地加入能支援單端信號的功能了。

而為因應不同光模組之系統用戶的不同使用場景, 我們也同樣利用了”pass-thru”的AMI模型提供下列不同的組合(全包在同樣一個IBIS檔裡)以做支援:

第一種情況中, 所建的TX/RX端就如實地在AMI裡呈現, 這裡的假設是用戶的通道仿真器可以充分支援TX/RX間的非差分信號,故而這樣的安排可以讓用戶對其間的效應做量測或做不同的安排(比如說不同長度的光纖走線)

第二種情況中,我們假設用戶的通道仿真器只支援差分信號,則我們就把原TX/RX端的AMI模型”合”在一塊而置於Repeater的前端, 至於後端則是無味的pass-thru模型。如此一來, 由於進入光模組及其輸出均為電氣性的差分信號,便可以滿足其所用仿真器所需而能適當運作。

第三種情況中,我們假設系統廠的設計及現有模型是針對下游通道的部份, 所以做法上是把TX/RX端的AMI模型”合”在一塊而設計其成一個TX的模樣, 如此一來, 即便用戶沒有上游部份的設計, 其也可像一般沒Repeater時一樣做單一通道的設計。

第四種情況和第三情況類似, 但用戶專注的部份是上游的部份, 所以所”合”在一起的模型是設置成RX的模樣當RX AMI模型來使用。

最後, 在Repeater的”出雙入對”使用場景中, 有兩點值得一提:

  • 除非DFE/CDR有用到,不然所謂的TX或RX AMI模型在使用及定義上其實是很模糊的, 當然一個Repeater只有在其RX端的.ami檔裡才能有Repeater_type的敍述, 但除此之外, 如FFE及CTLE都可能在TX或RX端出現且其多可被看為filter, 所以沒有什麼特別TX或RX的差別, 但若有JITTER的資訊則情況不同, 因為IBIS裡對TX或RX的jitter都有各自的描述而不能混在一起的。
  • 上面針對以Repeater來為光通訊模組建模的四種不同使用場景, 當然其目的是要為了滿足我們客戶所需以便希望來日能有續單, 但就實做上當然也不希望累死三軍來產生不同組合的AMI模型。就此來看, AMI模型不同模組間的架構設計就很重要了。這點我們在之前的貼文便有詳述。就本司而言, 正因為架構設計的得宜, 所以我們可以透過.ami檔便對所需的不同模型做不同的排列組合而完全不需要重寫C/C++ code或重新編譯。

IBIS-AMI及IBIS:

所謂”無三不成禮”…最後一個要提到的出雙入對便是AMI與其IBIS(傳統模型)之間的配對及運作。當我們因其技術門坎較高而專注於AMI建模之時, 不能忘記了其實其類比前端(analog front-end)也對通道分析的結果有舉足輕重的影響。

一般來遻, 在通道仿真的第一步做的是”link characterization”的分析; 常見的做法是透過spice仿真器在時域把所有的Tx, Rx analog frontend及其間的interconnect都連上, 而後在時域上做0至1的階波響應仿真,所得的pad-to-pad結果再以微分的方法得到突波響應而終為TX/RX端的AMI模型所用。也就是說, 不論是LTI的Statistical的convolution運算、抑或透NLTV的bit-by-bit的連續波型計算,這精確的時域突波或脈波響應都是重要的第一步。

上圖中, 同樣的AMI模型與不同情況下轉出的類比前端IBIS模型結合運作, 通道仿真器算出的眼圖就明顯不同, 由於AMI是從.ibs檔裡連出來的,所以可見IBIS模型裡的VT瞬態及IV靜態資料都足於影響眼圖的大小;所以這之間的”出雙入對”也就不能被忽略。

本司做為一個EDA或顧問公司, 規模上當然是比業界先進如Agilent, Cadence或Mathsoft (matlab)小得多, 這些公司在AMI建模的工具上都各自有獨到的見解及支援且要價比我們貴得多;但就傳統IBIS的建模流程上便甚少或多無著墨;其次, 由於AMI很多還是運用在SERDES通道上, 其中的TX/RX很多都運用到了current mode logic (CML)的設計。如果讀者有看過IBIS cookbook第四章中對差分模型的建模流程且親自走過, 應就知道其中牽涉到的計算及工序又比單端IBIS複雜得多, 則當我們要求全面仿真的精確性時, 就不可獨厚於AMI而忽略了IBIS的重要性並將其建模一同列入考量。一個IBIS不準的AMI模型可說是沒什麼太大用處的。關於差分IBIS的建模, 有興趣的讀者可參考我們之前的貼文及2016 Asian IBIS Summit發表的文章。

One thought on “IBIS-AMI: 模型中之出雙入對暨無三不成禮

  1. Pingback: IBIS-AMI: 完整的AMI建模流程 | SPISim[使必信科技]: 信號完整性、電源完整性暨電路擬真軟體

Leave a Reply

Your email address will not be published. Required fields are marked *