• <b id="enxgz"><menuitem id="enxgz"></menuitem></b>
    <del id="enxgz"></del><del id="enxgz"><form id="enxgz"></form></del>
      1. <code id="enxgz"><abbr id="enxgz"></abbr></code>

        <th id="enxgz"></th>

        
        
        從PCB制造到組裝一站式服務

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

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

        Tflightmax一般被稱為 Final settle delay

         Tflightmin 也稱為 First switch delay

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

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

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

        有兩種可能:

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

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

         

        幾點疑問:

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

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

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

         

        the end