Timing paths:
1, input - to - register timing path
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNvwVZ2x2bzNXak9CX90TQNNkRrFlQKBTSvwFbslmZvwFMwQzLcVmepNHdu9mZvwFVywUNMZTY18CX052bm9CX1sGRPJTWq50MNpHW3BjMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2LcRHelR3LcJzLctmch1mclRXY39TMwIzN1ITN3EzMwgDM4EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
2, register – to – register timing path
3, register – to – output timing path
4, Combinational Paths
Input 輸入後沒有經過時序,純組合邏輯到output輸出。
Input delay
依據原則就是,将其補成一個register – to – register path
是以外圍模拟計算input delay時clk用的時input 的clk 。T input delay <=> Tc-q + 到達in之前的路徑延遲
Output delay
依據原則同樣是,将其補成一個register – to – register path
是以外圍模拟計算output delay時clk與前一個觸發器的用同一個時鐘源。T output delay <=> 從out之後到外圍下一個觸發器之前的路徑延遲 + Tsetup
Constraining Combinational Paths by Virtual Clock
在某些情況下,有必要建立一個存在于系統中但不在設計中的時鐘。
如果未指定源對象,則使用虛拟時鐘,該時鐘在設計中實際上不存在。
源對象表示設計中時鐘的位置。 源對象可以是設計的輸入端口或設計内的引腳虛拟時鐘沒有來源。
它存在于記憶體中,但不是設計的一部分。
虛拟時鐘指定相對于時鐘的輸入和輸出延遲
虛拟時鐘未連接配接到目前設計中的任何端口或引腳。
同步時鐘 :
從同一個時鐘源出來的 可以經過pll分頻成不同的頻率 但其相位關系已知 故同步
從不同時鐘源出來的,即使頻率相同 也不同步
即: 同源同頻 <=> 同步 ,同源不同頻 <=> 同步 ,同頻不同源 <=> 不同步
靜态時序分析:
在一個時鐘驅動下資料在時鐘上升沿從FFI出來 經過組合邏輯運算之後
在下一個時鐘上升沿來臨前至少setup時間 到達FF2讓其寄存住資料
(附加:在流水線中,其中一步是比較大的組合邏輯,運算時間比較久,而下一級計算比較簡單,根據上圖可以得到啟示,向下一級借時間。具體做法是:比如上圖FF1,FF2之間為本級運算,那麼可以在FF2的CLK前加一些buff,使其向後偏移一定時間,則該級擁有了比之前長的計算時間,但是由于下一級的時鐘沿(FF3)到達時間不變,則相當于縮短了下一級的計算時間)
如果slack為正則說明有時間裕量,時序要求滿足。