問題思考 單一的全局約束可以覆蓋多延時路徑 如果箭頭是待約束路徑,那么什么是路徑終點呢? 所有的寄存器是否有一些共同點呢? 問題解答 什么是路徑終點呢? ——FLOP1,FLOP2,FLOP3,FLOP4,FLOP5。 所有的寄存器是否有一些共同點呢? ——它們共享一個時鐘信號,約束這個網絡的時序可以同時覆蓋約束這些相關寄存器間的延時路徑。 周期約束 周期約束覆蓋由參考網絡鐘控的的同步單元之間的路徑延時。 周期約束不覆蓋的路徑有:input pads到output pads之間的路徑(純組合邏輯路徑),input pads到同步單元之間的路徑,同步單元到output pads之間的路徑。 周期約束特性 周期約束使用最準確的時序信息,使其能夠自動的計算: 1. 源寄存器和目的寄存器之間的時鐘偏斜(Clock Skew) 2. 負沿鐘控的同步單元 3. 不等同占空比的時鐘 4. 時鐘的輸入抖動(jitter) 假設: 1. CLK信號占空比為50% 2. 周期約束為10ns 3. 由于FF2將在CLK的下降沿觸發,兩個觸發器之間的路徑實際上將被約束為10ns的50%即5ns 時鐘輸入抖動(Clock Input Jitter) 時鐘輸入抖動是源時鐘的不確定性(clock uncertainty)之一 時鐘的不確定時間必須從以下路徑扣除: ——周期約束建立時間路徑 ——OFFSET IN約束的建立時間路徑 時鐘的不確定時間必須添加到以下路徑中: ——周期約束保持時間路徑 ——OFFSET IN約束保持時間路徑 ——OFFSET OUT約束路徑 Pad-to-Pad約束 ——不包含任何同步單元的純組合邏輯電路 ——純組合邏輯延時路徑開始并結束于I/O pads,所以通常會被我們遺漏而未約束 |