FPGA的靜態時序分析詳細講解分析

資料大小: 0.10 MB

所需積分: 0

下載次數:

用户評論: 0條評論,查看

上傳日期: 2021-01-12

上 傳 者: 易水寒他上傳的所有資料

資料介紹

標籤:時序(185)觸發器(888)fpga(12343)

任何學FPGA的人都跑不掉的一個問題就是進行靜態時序分析。靜態時序分析的公式,老實説很晦澀,而且總能看到不同的版本,內容又不那麼一致,為了徹底解決這個問題,我研究了一天,終於找到了一種很簡單的解讀辦法,可以看透它的本質,而且不需要再記複雜的公式了。

我們的分析從下圖開始,下圖是常用的靜態分析結構圖,一開始看不懂公式不要緊,因為我會在後面給以非常簡單的解釋:

這兩個公式是一個非常全面的,準確的關於建立時間和保持時間的公式。其中Tperiod為時鐘週期;Tcko為D觸發器開始採樣瞬間到D觸發器採樣的數據開始輸出的時間;Tlogic為中間的組合邏輯的延時;Tnet為走線的延時;Tsetup為D觸發器的建立時間;Tclk_skew為時鐘偏移,偏移的原因是因為時鐘到達前後兩個D觸發器的路線不是一樣長。

這裏我們來做如下轉化:

因為對於有意義的時序約束,建立時間餘量Tslack,setup和保持時間餘量Thold都要大於0才行,所以對於時序約束的要求其實等價於:

Tperiod》Tcko+Tlogic+Tnet+Tsetup-Tclk_skew(1)

Tcko+Tlogic+Tnet》Thold+Tclk_skew(2)

之前説了,這兩個公式是最全面的,而實際上,大部分教材沒講這麼深,他們對於一些不那麼重要的延時沒有考慮,所以就導致不同的教材説法不一。這裏,為了得到更加簡單的理解,我們按照常規,忽略兩項Tnet和Tclk_skew。原因在於Tnet通常太小,而Tclk_skew比較不那麼初級。簡化後如下:

Tperiod》Tcko+Tlogic+Tsetup(3)

Tcko+Tlogic》Thold(4)

簡單多了吧!但是你能看出這兩個公式的含義嗎?其實(3)式比較好理解,意思是數據從第一個觸發器採樣時刻傳到第二個觸發器採樣時刻,不能超過一個時鐘週期啊!假如數據傳輸超過一個時鐘週期,那麼就會導致第二個觸發器開始採樣的時候,想要的數據還沒有傳過來呢!那麼(4)式又如何理解呢?老實説,一般人一眼看不出來。

用户評論

查看全部 條評論

發表評論請先 , 還沒有賬號?免費註冊

發表評論

用户評論
技術交流、我要發言! 發表評論可獲取積分! 請遵守相關規定。
上傳電子資料