靜態時序分析

2021-09-13 08:59:41 字數 2310 閱讀 5366

常用的靜態時序分析結構圖:

時序圖如下:

紅色虛線之間的是建立時間和保持時間,在這段時間內資料應保持穩定不變。

其中clk1是前一級觸發器的時鐘,clk2是後一級觸發器的時鐘。clk2相對於clk1存在一定的偏斜tclk_skew。

我們在在後一級觸發器的第乙個時鐘上公升沿分析保持時間,在後一級觸發器的第二個時鐘上公升沿分析建立時間。首先來分析建立時間。

事件1到事件2之間的時間為tcko,即d觸發器開始取樣瞬間到d觸發器取樣的資料開始輸出的時間。

事件2到事件3之間的時間為tlogic,即兩級觸發器之間組合邏輯的延時。

事件3到事件4之間的時間為tnet,即走線的延時。

事件5到事件6即clk2的第二個時鐘上公升沿之間的時間為tsetup,即觸發器的建立時間。

事件1到事件6之間的時間為乙個時鐘週期tperiod+兩級時鐘之間的偏斜tclk_skew。

事件1到事件6之間剩下的時間即事件4到事件5之間的時間為建立時間餘量tslack,setup。

事件4其實就是資料改變所發生的時刻。

因而暫存器建立時間餘量公式為:tslack,setup = tperiod - (tcko + tlogic + tnet + tsetup - tclk_skew)。

當建立時間餘量小於零時,說明資料的改變會發生在建立時間之後,可能會導致亞穩態現象。當然如果延遲特別大,發生在保持時間之後,則會漏採資料。

接下來分析保持時間。

由上分析,資料會在事件4發生改變,因而,事件7到事件4之間的時間即為保持時間餘量tslack,hold。

暫存器保持時間餘量公式為:tslack,hold = tcko + tlogic + tnet - thold - tclk_skew。

當保持時間餘量小於零時,說明資料的改變會發生在保持時間之前,可能會導致亞穩態現象。(有時候我們會看到保持時間餘量小於零是正常現象的情況,那是因為分析的東西不同,把其他一些東西也包含進去了)。

將建立時間餘量和保持時間餘量公式作個轉換,如下:

tperiod > tcko + tlogic + tnet + tsetup - tclk_skew

tcko + tlogic + tnet > thold + tclk_skew

以上兩個公式是比較全面的公式。由於tnet和tclk_skew通常較小,可以暫且忽略,如下為簡化的公式:

tperiod > tcko + tlogic + tsetup

tcko + tlogic > thold

第乙個公式可以理解為,資料從第乙個觸發器取樣時刻傳到第二個觸發器取樣時刻,不能超過乙個時鐘週期,假如資料傳輸超過乙個時鐘週期,那麼就會導致第二個觸發器開始取樣的時候,想要的資料還沒有傳過來。對於第二個公式,我們可以在不等式兩邊同時加上tsetup,如下:

tcko + tlogic + tsetup > thold + tsetup

再結合之前的公式:

thold + tsetup < tcko + tlogic + tsetup < tperiod

tcko + tlogic + tsetup是指資料從第一級觸發器取樣瞬間開始,傳輸到第二級觸發器並被取樣的傳輸延時。我們簡稱為資料傳輸延時。

tcko + tlogic + tsetup <  tperiod :約定資料傳輸延時不能太大,如果太大(超過乙個時鐘週期),那麼第二級觸發器就會在取樣的時刻發現資料還沒有到來。

thold + tsetup  < tcko + tlogic + tsetup:約定資料傳輸延時不能太小。thold+tsetup是乙個觸發器的取樣視窗時間,我們知道,d觸發器並不是絕對的瞬間取樣,它不可能那麼理想。在d觸發器取樣的瞬間,在這瞬間之前tsetup時間之內,或者這瞬間之後thold時間之內,如果輸入埠發生變化,那麼d觸發器就會處於亞穩態。所以取樣是有視窗的,我們把thold + tsetup的時間寬度叫做觸發器的取樣視窗,在視窗期內,d觸發器是脆弱的,對毛刺沒有免疫力的。假如資料傳輸延時特別小,那麼就會發現,當第二級觸發器開始取樣的時候,第一級觸發器的視窗期還沒有結束!也就是說,如果這個時候輸入端資料有變化,那麼不僅第一級觸發器處於亞穩態,第二級觸發器也將處於亞穩態!(即第二級觸發器的第乙個沿就採第一級觸發器第乙個沿產生的資料)

綜上,我們就可以知道,資料傳輸延時既不能太大以至於超過乙個時鐘週期,也不能太小以至於小於觸發器取樣視窗的寬度。這就是靜態時序分析的終極內涵

參考:

靜態時序分析 Timing borrow

timing borrow技術又稱為cycle stealing技術,主要是利用latch的電平敏感特性,通過有效電平獲取資料,通過無效電平保持被鎖存的資料,主要用於解決路徑時序不滿足電路要求的情況。通過timingborrow可以對電路進行加速,當路徑延遲較大時,可以通過借用latch的部分時間實...

靜態時序分析SAT

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

靜態時序分析初步認識

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