天天看點

timing paths

Timing paths:

       1, input - to - register timing path

timing paths

       2, register – to – register timing path

timing paths

       3, register – to – output timing path

timing paths

       4, Combinational Paths

              Input 輸入後沒有經過時序,純組合邏輯到output輸出。

timing paths

Input delay

timing paths

      依據原則就是,将其補成一個register – to – register path

       是以外圍模拟計算input delay時clk用的時input 的clk 。T input delay <=> Tc-q + 到達in之前的路徑延遲

Output delay

timing paths

       依據原則同樣是,将其補成一個register – to – register path

       是以外圍模拟計算output delay時clk與前一個觸發器的用同一個時鐘源。T output delay <=> 從out之後到外圍下一個觸發器之前的路徑延遲 + Tsetup

Constraining Combinational Paths by Virtual Clock

timing paths

     在某些情況下,有必要建立一個存在于系統中但不在設計中的時鐘。

     如果未指定源對象,則使用虛拟時鐘,該時鐘在設計中實際上不存在。

     源對象表示設計中時鐘的位置。 源對象可以是設計的輸入端口或設計内的引腳虛拟時鐘沒有來源。

     它存在于記憶體中,但不是設計的一部分。

     虛拟時鐘指定相對于時鐘的輸入和輸出延遲

     虛拟時鐘未連接配接到目前設計中的任何端口或引腳。  

同步時鐘 :

       從同一個時鐘源出來的 可以經過pll分頻成不同的頻率 但其相位關系已知  故同步

       從不同時鐘源出來的,即使頻率相同 也不同步

       即: 同源同頻 <=> 同步  ,同源不同頻 <=> 同步 ,同頻不同源 <=> 不同步

靜态時序分析:

timing paths

      在一個時鐘驅動下資料在時鐘上升沿從FFI出來 經過組合邏輯運算之後

      在下一個時鐘上升沿來臨前至少setup時間 到達FF2讓其寄存住資料

   (附加:在流水線中,其中一步是比較大的組合邏輯,運算時間比較久,而下一級計算比較簡單,根據上圖可以得到啟示,向下一級借時間。具體做法是:比如上圖FF1,FF2之間為本級運算,那麼可以在FF2的CLK前加一些buff,使其向後偏移一定時間,則該級擁有了比之前長的計算時間,但是由于下一級的時鐘沿(FF3)到達時間不變,則相當于縮短了下一級的計算時間)

timing paths

如果slack為正則說明有時間裕量,時序要求滿足。

繼續閱讀