<menuitem id="qecsf"></menuitem>

<strong id="qecsf"><acronym id="qecsf"></acronym></strong>

<td id="qecsf"><font id="qecsf"><object id="qecsf"></object></font></td>
<dfn id="qecsf"></dfn>
    從PCB制造到組裝一站式服務(wù)

    SpecctraQuest仿真的時序計算

    2013
    05/02
    本篇文章來自
    捷多邦

    通常我們在計算時序問題時,一般重點遵循以下兩個條件以保證足夠的Timing Margin

    1. Tflightmax + Driver(Tcomax) + Skew + Jitter + Crosstalk + Receiver(Setup)< Clock Period

    2. Tflightmin + Driver(Tcomin) - Receiver(Hold) - Skew - Crosstalk > 0

     

    其中DriverTco一般可以從器件的Datasheet上查到。

    Tco其實包括器件的內(nèi)部邏輯延時和I/O緩沖延時(Buffer delay),一般通過加一個測試負載(通常為50ohm)來測量,即時鐘信號到Driver開始至測量點信號上升到測量電平(Vms)的時延。[器件datasheet上查到的Tco就是這個值]

    我們通常想通過仿真工具,是得到最大/最小 Flight time. Cadence SpecctraQuest里面:

    Tflightmax一般被稱為 Final settle delay

     Tflightmin 也稱為 First switch delay

    分別指器件經(jīng)過Buffer的輸出波形達到Vms開始到接收端到達最大/小閾值電壓的時間。

    盡管Cadence也是這樣定義的,但是在實際仿真中,如果默認仿真參數(shù)Buffer delayFrom library的話,通常計算出的Final settle delay/First switch delay是從零時刻開始到接收端到達最大/小閾值電壓的時間,也就是說里面已經(jīng)包含了緩沖延時(是Tco的一部分),這樣,如果我們再使用上面提到的公式1,2來計算時許的時候就會造成Tco中的Buffer delay被重復計算。

    解決的方法就是要修正仿真出來的TflightmaxTflightmin,減去一個Buffer delay.

    有兩種可能:

    1.如果IBIS的測試負載和器件手冊上注明的Tco的測試負載相同的話,我們可以通過Cadence工具直接計算出來,只要將Buffer delay設(shè)置為On-the-Fly模式下,這時仿真結(jié)果會自動計算出減去Buffer delay后的真正的最大/最小Flight Time,也可以在其模型編輯器直接看器件的上升波形,測量其上升到Vms的時間,就可以大致確定Buffer Delay的時間,經(jīng)過試驗,發(fā)現(xiàn)兩者計算出來的偏差在0.01ns左右。

    2.如果IBIS的測試負載和器件手冊上注明的Tco的測試負載不同的話,則可以用Cadence模型編輯器修改IBIS的端接負載和測量Tco的一致,然后從仿真出來的波形中得出Tco中的測量Buffer delay。

     

    幾點疑問:

    1.        選用On-the-fly模式除了在計算buffer delay上,其他方面和選From Library有何不同?好像對仿真結(jié)果沒有什么影響(除了Help文檔上說的On-the-flyDriver只能加Pulse激勵)。

    2.       如果IBIS模型中沒有提供Vms Cadence將如何計算?其默認值是多少?

    3.       上面對時序以及Cadence工具的理解是否有誤?

     

    the end