靜態時序分析 Timing borrow

2021-10-24 02:37:05 字數 1250 閱讀 7174

timing borrow技術又稱為cycle stealing技術,主要是利用latch的電平敏感特性,通過有效電平獲取資料,通過無效電平保持被鎖存的資料,主要用於解決路徑時序不滿足電路要求的情況。

通過timingborrow可以對電路進行加速,當路徑延遲較大時,可以通過借用latch的部分時間實現資料的鎖存從而可以提高設計執行的頻率。採用timingborrow設計時,一定要注意前級電路借用時間與后級電路剩餘時間之間的關係,某些情況下,timing borrow的錯誤理解會對綜合和後端實現產生嚴重的時序問題,需要正確理解和規範使用。

我們先從鎖存器說起:在乙個鎖存器中,時鐘的乙個沿之後,會使得鎖存器變得透明(即這個時鐘沿開啟了鎖存器,使得鎖存器的輸出與資料輸入相同),我們把這個沿叫做opening edge;時鐘的另乙個沿之後,會關閉鎖存器(即這個時候資料輸入即使有任何變化,鎖存器輸出也不會改變),我們把這個沿叫做closing edge

一般來說,鎖存器的輸入資料應該在時鐘有效沿之前準備好,但是由於鎖存器在時鐘有效電平時是透明的,因此,資料能在時鐘有效沿之後到達,可以向下個時鐘週期「借時間」(borrow time)。需要注意的是,一旦「借時間」,用於后級電路的時間會減少。

以上圖為例,如果輸入資料在b時刻到達,那麼相當於向下乙個時鐘借了tb時間。但是,這樣減少了鎖存器到下乙個暫存器uff2的時間,時間只剩下了ta。

對於timing borrow的情況,我們會依據下圖分為三種:

如果資料在negative slack到達,那麼timing borrow技術也失效了,會導致時序違背(violation)。

我們來看看在positive slack的時序報告:

這裡我們不需要進行time borrow。

靜態時序分析

常用的靜態時序分析結構圖 時序圖如下 紅色虛線之間的是建立時間和保持時間,在這段時間內資料應保持穩定不變。其中clk1是前一級觸發器的時鐘,clk2是後一級觸發器的時鐘。clk2相對於clk1存在一定的偏斜tclk skew。我們在在後一級觸發器的第乙個時鐘上公升沿分析保持時間,在後一級觸發器的第二...

靜態時序分析SAT

launch edge和latch edge分別是指一條路徑的起點和終點,只是乙個參考時間,本身沒有什麼意義,latch edge launch edge才有意義。1.背景 靜態時序分析的前提就是設計者先提出要求,然後時序分析工具才會根據特定的時序模型進行分析,給出正確是時序報告。進行靜態時序分析,...

靜態時序分析初步認識

靜態時序分析是學習fpga必須學習的乙個知識點,通過一段時間的學習,先將自己所學到的一點靜態時序分析的基礎稍作總結。這是一張再熟悉不過的圖形,以及兩個基礎公式 tperiod tcko tlogic tnet tsetup tclk skew 1 tcko tlogic tnet thold tcl...