Home > ANSYS Designer 教學 > Eye Analysis for Differential Pair Part II

更 新 日 期:

本文始於2009年,筆者以Ansoft Designer v4.1來比較各家DDR2 IBIS的差動訊號眼圖特性,並探討cross point偏移現象。2011年重新以Designer v6.0撰寫本文, 更新部份內容,並附上範例檔供學習參考。

  1. 方法一
    -- Elpida(爾必達)、Hynix(海力士)、Micron(美光)、Nanya(南亞)、Samsung(三星)

  2. 方法二
    -- Elpida、Hynix

  3. 方法三 (good)
    -- Micron、Elpida、Hynix

  4. 問題與討論

    4.1 方法三與方法一、二有差別嗎??

    4.2 Cross point偏離VDD/2,是什麼原因? 有何改善方法?

    4.3 為何input singal的Tr, Tf也會影響output signal的cross point?

    4.4 實測各家的IBIS model,為何方法一、二與三的模擬結果不完全相同?

本文將延續AN 003的內容,進一步以模擬DDRII_800的DQS differential pair為例,列舉幾家大廠的模擬結果,並就其中的cross point level問題討論。方法一、二是在AN 003介紹過的,本 文將再介紹一種新的方法三。

先在Design/Nexxim中建一組ideal differential clk,其cross point is VDD=0.9V,and duty=50%

下載DDR2 IBIS model:Elpida(爾必達)Hynix(海力士)Micron(美光)Nanya(南亞)Samsung(三星)

常見DQ、DQS使用同一套IBIS model

  1. 方法一:DP/DM用同一種IO IBIS model,在輸入端灌理想的差動波形(相位差180度),觀察輸出波形是否為理想 

1.1 Micron DDRII_800 simulation result

1.1.1 If input signal Tr=300ps, cross point level is 1.26V, and it is too high

1.1.2 If input signal Tr=10ps, cross point level is 1.0V, and it is a little high

1.2 Elpida DDRII_800 simulation result

1.2.1 If input signal Tr=300ps, cross point level is 1.28V, and it is too high

1.2.2 If input signal Tr=10ps, cross point level is 0.85V, and it is near 0.9V

1.3 Hynix DDRII_800 simulation result

If input signal Tr=10ps, cross point level is 0.78V, and it is a little low

1.4 Samsung DDRII_800 simulation result

If input signal Tr=10ps, cross point level is 1.0V, and it is a little high

方法一的模擬結果,負載C=1pF時,Hynix的cross point偏低一些,Micron與Samsung的cross point偏高 一些

方法二:DP/DM用同一種IO IBIS model,但其中一個的Polarity Type改成"Inverting",觀察輸出波形是否為理想    

2.1 Elpida DDRII_800 simulation result

2.2 Hynix DDRII_800 simulation result

方法一、二的模擬結果完全相同

  1. 方法三:DP/DM直接用Differential IBIS model,觀察輸出波形是否為理想 

3.1 Micron DDRII_800 simulation result

與step 1.1.2比較,模擬結果在眼圖中間段差一些。

做這個例子時要特別注意,原Micron IBIS是以NU_DQS#來表示A8 pin的signal name,而這"#"會導致Designer v4.0~6.0發生錯誤,做完模擬關機存檔後,檔案將無法再度開啟。為了解此問題,站長手動把signal name改成NU_DQSB

3.2 Elpida DDRII_800 simulation result

與step 1.2.2比較,模擬結果有差,ripple較大,why? 詳見問題與討論

3.3 Hynix DDRII_800 simulation result

與step 1.3比較,模擬結果有差,ripple較大,why? 詳見問題與討論

  1. 問題與討論

4.1 方法三與方法一、二有差別嗎?? 

筆者覺得理應一樣,原因是:

並 非所有的IBIS model都可以抓出differential mode IO,必須在IBIS中有看到如下的differential宣告,才可以抓出differential IBIS model。

又查閱IBIS spec. v4.2對[Diff Pin]的定義,它其實就是兩個pin用同一個IBIS model,但一個用non-inverting type,一個用inverting type,也就是我們的方法二。

4.2 Cross point偏離VDD/2,是什麼原因? 有何改善方法? 

是IO pad的上升/下降時間(推力)沒有設計的100%完全對稱造成。對此,JESD79-2E有定義一個OCD (Off-Chip Driver) calibration

4.3 為何input signnal的Tr, Tf也會影響output signal的cross point? 

輸入訊號的Tr、Tf不同,通過IO buffer的傳遞延遲時間與輸出訊號的Ton時間(duty)會不同。以Micron IBIS來說,Tr=Tf=300ps時,輸出訊號的Ton時間,比Tr=Tf=10ps時的輸出訊號的Ton時間長。也就是說,Tr=Tf=300ps時,輸出訊號從high拉low的發生時間較晚。

但cross point偏離中間的真正原因其實不是Tr, Tf,而是Designer的模擬引擎(Nexxim),如同HSPICE,在處理Digital IO simulation的behavior時,是以0與1V作為low/high的判斷,所以output buffer的輸入訊號如果high level電壓設成1V(而不是1.5V或1.8V),這樣輸出訊號的cross point的level就不會隨著Tr, Tf大小而變。

從Designer v8開始,新的IO symbol內已經不需要對output buffer的輸入訊號電壓準位設定。

4.4 實測各家的IBIS model,為何方法一、二與三的模擬結果不完全相同? 

在方法三Import IBIS時,是從Designer的Import IBIS\Pin Import引入model的,此時模擬會考慮各pin不同的寄生RLC效應。而方法一、二Import IBIS時,是從Designer的Import IBIS\Bbuffer Import引入model的,此時模擬不考慮寄生的RLC效應。

下圖是以Micron的DDR2 IBIS為例,讀者可以試著把R_pin、L_pin、C_pin的值都改成0,就會發現方法一、二、三跑出的眼圖結果是一模一樣 的。