FPGA中的時序分析(一)


  談及此部分,多多少少有一定的難度,筆者寫下這篇文章,差不多是在學習FPGA一年之后的成果,盡管當時也是看過類似的文章,但是都沒有引起筆者注意,筆者現在再對此知識進行梳理,也發現了有很多不少的收獲。筆者根據網上現有的資源,作進一步的總結,希望能夠有所幫助。

  一個不錯的網站,類似於一個手冊,隨時可以去查詢如何去定義各個時序約束指令怎么用。http://quartushelp.altera.com/current/mergedProjects/tafs/tafs/tcl_pkg_sdc_ver_1.5.htm

  靜態時序分析(STA,static timing analysis),對於STA的理解,可以想象在FPGA的內部好比一塊PCB,FPGA的邏輯陣列好比PCB板上的一些分立元器件,PCB通過導線將具有相關電氣特性的信號相連接,FPGA也需要通過內部連線將相關的邏輯節點導通,PCB上的信號通過任何一個元器件都會產生一定的延時,FPGA的信號通過內部邏輯門傳輸也有一定的延時,PCB信號走線也有延時,FPGA信號走線也有延時,這就帶來了一系列的問題,一個信號從FPGA的一端輸入,經過一定的邏輯處理后從FPGA的另一端輸出,這期間會產生多大的延時呢?有多個總線信號從FPGA的一端輸入,這條總線的各個信號經過邏輯處理之后從FPGA的另一端輸出,這條總線的各個信號的延時一致嗎?之所以關心這些問題,是因為過長的延時或者一條總線多個信號傳輸延時的不一致,不僅會影響FPGA本身會給FPGA之外的電路或者系統帶來諸多的問題。

  所以針對上面的一系列問題,設計者需要提出一些特定的時序要求,針對現有的電路給出時序約束,

  分析時序,本質上是節點對節點之間的時序分析,如果沒有節點,時序也就無從談起。在FPGA中,我們可以把節點當作是寄存器與寄存器之間的時序分析,寄存器與寄存器之間可能還有一些組合邏輯充斥着。所以時序路徑通常有四大類:

(1)寄存器到寄存器類型,即reg2reg;

(2)輸入引腳到寄存器類型,即pin2reg;

(3)寄存器到輸出引腳類型,即reg2pin;

(4)輸入引腳到輸出引腳類型,即pin2pin;

  針對上述四種基本時序路徑,最關心的就是數據信號和時鍾鎖存沿之間的建立時間和保持時間的關系。

  對於四種延時路徑可以用圖1所示,對於signal in,是外部IC到FPGA的輸入信號引腳,一般情況下芯片手冊都會給出各引腳關於時序方面的說明,如Tco、TSU、Th、等信息,這個是在分析時序時會用到。Reg1到reg2之間的時序路徑是相當於在FPGA內部的寄存器到寄存器之間的延時路徑,signal out是相當於FPGA的輸出信號到外部IC之間的引腳信息。

wps1EF2.tmp

圖1 時序路徑分析

  這里只分析FPGA內部的時序路徑,外部IC的時序路徑需要結合具體的IC數據手冊,然后結合FPGA輸入引腳部分的大概延時進行推測一個值,之后具體再分析。

  所以從寄存器1到寄存器2之間的延遲時間的分析。

wps1F22.tmp

圖16.2 寄存器到寄存器延時

  上圖是考慮各種延遲之后的從輸入數據到輸出數據的時間延遲。

  所以我們引入第一個概念:數據抵達時間(官方視頻上面的概念),也就是實際到達時間,

wps1F23.tmp,     而啟動沿時間往往是按0處理,只考慮后三者。

  引入第二個概念:數據要求時間

wps1F44.tmp

圖16.3 數據要求時間分析

  由於有寄存器建立時間的參與,所以會使得數據鎖存時間由下面的公式決定,但是在應用時Tsu按照負值代入公式,這樣計算的才正確,可能是官方的bug,所以按照負值計算即可。

wps1F54.tmp

建立余量

  為了說明怎么計算得到建立余量,特舉例如下所示。

wps1F65.tmp

wps1F75.tmp

wps1F86.tmp

wps1F97.tmp

  對於公式上面的鎖存沿時間,其實就是啟動沿和鎖存沿之間的差值,也就是建立時間關系,建立時間關系是理想狀態下,啟動沿與鎖存沿之間的距離,如下圖2所示,這個建立時間關系 = 時鍾周期,所以在計算的時候,可以先計算出建立時間關系值,然后也就確定了鎖存沿時間。

wps1FA7.tmp

圖2 建立時間和時鍾周期的關系

保持余量

wps1FC8.tmp

  還是用我們的經典的圖來說明保持余量,那么數據從寄存器1到寄存器2要經過的時間為

wps1FD8.tmp

wps1FE9.tmp

wps1FF9.tmp

  其中數據周期時間,是以時鍾周期為計算值。

  根據上圖,用一些數字來計算,如下圖

wps200A.tmp

wps202A.tmp

  由此得到了保持余量值。

//=======================================================================

更多詳細的資料下載可以登錄筆者百度網盤:

網址:http://pan.baidu.com/s/1bnwLaqF

密碼:fgtb

//=======================================================================


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM