FPGA中的時序分析(五)

2021-09-07 05:42:02 字數 2120 閱讀 1876

時序約束例項詳解

本篇部落格結合之前的內容,然後實打實的做乙個約束例項,通過本例項讀者應該會實用timequest去分析相關的例項。本例項以vga實驗為基礎,介紹如何去做時序約束。

首先vga這種情況屬於供源時鐘情況,不明白供源時鐘的可以參看之前部落格講解。首先檢視adv7123的資料手冊,檢視其時序圖。如下圖所示,是建立時間和保持時間要求。

下圖是時序圖,可見t1和t2在時鐘上公升沿的位置,資料在時鐘的上公升沿進行採集。

對於vga實驗來說,fpga是傳送端,adv7123是接收端,如果傳輸的速率比較高的話,資料和時鐘上公升沿的嚴格對齊就要依靠pll產生可調相位的時鐘訊號來保證,不過對於對於25mhz時鐘通過較好的時序約束和分析後,則不必動用pll。

接下來需要產生虛擬時鐘,對於reg2reg路徑的分析,其時鐘都是fpga內部,不用產生虛擬時鐘,但是對於pin2reg或者reg2pin這種情況,需要產生乙個虛擬時鐘,作為pin端的時鐘來分析時序。如下圖中的標註所示。

所以adv7123和fpga進行時鐘相關的訊號就是adv7123的驅動時鐘,明白這個訊號之後,需要設定其虛擬時鐘約束,如下圖所示。

開啟altium designer,然後檢視vga模組的走線長度如下圖1所示,長度大約是11.589mm。

圖1 vga模組走線長度

在fpga核心板(筆者設計的一款學習板)上面的lcd_dclk的走線長度如下圖2所示。長度大約是41.4mm。

圖2 核心板走線長度

根據上述的計算,所以lcd_dclk總得走線長度 = 52.989mm。

同樣的道理,資料走線長度如下圖3所示,此走線長度是vga模組上面的長度,長度大約在7.72~43.152mm,那麼對於核心板上面的走線模組長度如圖4所示,大概長度約為28.65 ~ 53.32mm,總的長度為36.37mm~96.472mm,根據0.17ns/25.4mm,lcd_clk走線延遲0.35ns,資料匯流排延遲0.24ns~0.646ns。

圖3 各訊號走線延遲

圖4 核心板各訊號走線延遲

若是不考慮時鐘偏移,那麼進行時序分析得到的餘量如圖5所示。

圖5 建立和保持餘量

上述是計算完了fpga到外部ic的延遲,但是還有時鐘偏斜沒有計算,那麼需要用到set max/min delay 命令,對於lcd_dclk先估計乙個範圍,如0~5ns即可,這個範圍肯定是滿足要求,但是可能會不能夠留有更多的餘量。然後在將有時鐘偏移的延遲時間代入set output delay的表示式中,此處利用公式將lcd_dclk 最大延遲設為3ns,lcd_dclk最小延遲設為1ns,那麼考慮時鐘偏斜的輸出最大值 = 0.646 + 0.2 -3 = -2.154ns;輸出最小值 = 0.24 - 1.5 - 1 = -2.26ns;

圖6是約束後的建立餘量和保持餘量,可以看到滿足時序要求,並保有很大的時序餘量。

圖6 建立餘量和保持餘量

**:密碼:fgtb

FPGA時序分析1 FPGA結構

記錄學習,記錄成長 介紹fpga的基本結構並說明fpga如何實現可程式設計功能。為什麼要了解fpga基本結構呢?了解這些後,在進行fpga設計時,可以大概知道電路在fpga上是如何實現的。在進行時序約束或者提高時鐘頻率時,知其然更知其所以然。目錄 1.fpga介紹 2.fpga組成三要素 2.1 c...

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

該時序模型的要求為 tclk tco tlogic trouting tsetup tskew 其中,tco為發端暫存器時鐘到輸出時間 tlogic為組合邏輯延遲 trouting為兩級暫存器之間的佈線延遲 tsetup為收端暫存器建立時間 tskew為兩級暫存器的時鐘歪斜,其值等於時鐘同邊沿到達兩...

FPGA時序分析的一些理解

2014 12 02 19 29 1048人閱讀收藏 舉報 fpga基礎知識 39 最開始看的一些資料,大家其實講得都差不多,但是我卻看得雲裡霧裡的,應該是還沒真正理解這個東西。今天心血來潮又把 七天玩轉altrea之時序篇 拿出來看了看,應該有些豁然開朗的感覺,在下實屬愚笨,想透徹理解乙個東西太慢...