FPGA系列5 時序分析(時序模型)

2021-10-02 03:27:37 字數 1856 閱讀 8781

該時序模型的要求為:

tclk ≥ tco + tlogic + trouting + tsetup – tskew

其中,tco為發端暫存器時鐘到輸出時間;tlogic為組合邏輯延遲;trouting為兩級暫存器之間的佈線延遲;tsetup為收端暫存器建立時間;tskew為兩級暫存器的時鐘歪斜,其值等於時鐘同邊沿到達兩個暫存器時鐘埠的時間差;tclk為系統所能達到的最小時鐘週期。通過建立時間可以分析出系統最高執行頻率。

上式可以簡單這麼理解,只要資料從上個暫存器傳到下個暫存器的總時間小於等於工作時鐘週期,資料就可以安全可靠地傳輸。(這個模型不針對兩個時鐘域的訊號)

這裡我們多說一下這個tskew,skew分為兩種,positive skew和negative skew,其中positive skew見下圖,這相當於增加了後一級暫存器的觸發時間。

但對於negative skew,則相當於減少了後一級暫存器的觸發時間,如下圖所示。

當系統穩定後,都會是positive skew的狀態,但即便是positive skew,綜合工具在計算時序時,也不會把多出來的tskew算進去。

用下面這個圖來表示時序關係就更加容易理解了。為什麼要減去tskew,下面這個圖也更加直觀

傳送端暫存器產生的資料,資料經過tco、tlogic、trouting後到達接收端,同時還要給接收端留出tsetup的時間。而時鐘延遲了tskew的時間,因此有:

tdata\_path + tsetup <= tskew + tclk

對於同步設計tskew可忽略(認為其值為0),因為fpga中的時鐘樹會盡量保證到每個暫存器的延遲相同。

公式中提到了建立時間,那保持時間在什麼地方體現呢?

保持時間比較難理解,它的意思是reg1的輸出不能太快到達reg2,這是為了防止採到的新資料太快而沖掉了原來的資料。保持時間約束的是同乙個時鐘邊沿,而不是對下乙個時鐘邊沿的約束。

reg2在邊沿2時刻剛剛捕獲reg1在邊沿1時刻發出的資料,若reg1在邊沿2時刻發出的資料過快到達reg2,則會沖掉前面的資料。因此保持時間約束的是同乙個邊沿

在時鐘沿到達之後,資料要保持thold的時間,因此,要滿足:

tdata\_path =  tco + tlogic + trouting ≥ tskew + thold

(tdata\_path為傳送端在時刻2傳送資料到接收端的時間,確保滿足保持時間)

這兩個公式是fpga的面試和筆試中經常問到的問題,因為這種問題能反映出應聘者對時序的理解。

在公式1中,tco跟tsu一樣,也取決於晶元工藝,因此,一旦晶元型號選定就只能通過tlogic和trouting來改善tclk。其中,tlogic和**風格有很大關係,trouting和布局佈線的策略有很大關係。

時序分析(2) 時序約束原理

一 基本概念 1 時序 時鐘和資料的對應關係 2 約束 告訴綜合工具,我們希望時序達到什麼樣的標準 3 違例 時序達不到需要的標準 4 收斂 通過調整布局佈線方案來達到這個標準 5 靜態時序分析 電路未跑起來時,延時等已知,以此分析時序 6 動態時序分析 電路跑起來,如modelsim軟體 理想狀態...

FPGA靜態時序分析2 傳輸模型

記錄學習,記錄成長 靜態時序分析,即是對資料在傳輸路徑所花費時間的分析。其目的是為了在單個時鐘的時間內,電路能夠完成邏輯功能並將資料正確儲存到暫存器中。這篇博文主要介紹傳輸模型的一些概念。目錄 1.資料傳輸模型 2.觸發器 3.組合邏輯 4.時間分配 5.fpga實現 靜態時序分析一般是對以兩個暫存...

8086時序控制

東北大學 計算機硬體技術基礎 8284a是8086 8088微處理器的乙個輔助器件。負責時鐘產生 reset同步 ready同步以及ttl電平的外圍裝置時鐘訊號 aen1和 aen2 address enable,位址允許 分別用來制約匯流排就緒訊號rdy1和rdy2,cpu給出的ready訊號受這...