在給fpga做邏輯綜合和布局佈線時,需要在工具中設定時序的約束。通常,在fpga設計工具中都fpga中包含有4種路徑:從輸入埠到暫存器,從暫存器到暫存器,從暫存器到輸出,從輸入到輸出的純組合邏輯。通常,需要對這幾種路徑分別進行約束,以便使設計工具能夠得到最優化的結果。下面對這幾種路徑分別進行討論。
1. 從輸入埠到暫存器:
這種路徑的約束是為了讓fpga設計工具能夠盡可能的優化從輸入埠到第一級暫存器之間的路徑延遲,使其能夠保證系統時鐘可靠的採到從外部晶元到fpga的訊號。
約束名稱:input delay。
約束條件的影響主要有4個因素:外部晶元的tco,電路板上訊號延遲tpd,fpga的tsu, 時鐘延遲tclk. tco的引數通常需要查外部晶元的資料手冊。計算公式:input delay = tco+tpd+tsu-tclk。fpga的tsu也需要查fpga晶元的手冊。 fpga速度等級不同,這個引數也不同。tpd和tclk需要根據電路板實際的引數來計算。通常,每10cm的線長可以按照1ns來計算。例如:系統時鐘100mhz,電路板上最大延遲2ns,時鐘最大延遲1.7ns,tco 3ns,fpga的tsu為0.2ns。那麼輸入延遲的值:max input delay = 2+3+0.2-1.7=3.5ns. 這個引數的含義是指讓fpga的設計工具把fpga的輸入埠到第一級暫存器之間的路徑延遲(包括門延遲和線延遲)控制在10ns-3.5ns=6.5ns 以內。
2. 暫存器到暫存器:
這種路徑的約束是為了讓fpga設計工具能夠優化fpga內暫存器到暫存器之間的路徑,使其延遲時間必須小於時鐘週期,這樣才能確保訊號被可靠的傳遞。 由於這種路徑只存在於fpga內部,通常通過設定時鐘頻率的方式就可以對其進行約束。對於更深入的優化方法,還可以採用對暫存器的輸入和暫存器的輸出加入適當的約束,來使邏輯綜合器和佈線器能夠對某條路徑進行特別的優化。還可以通過設定最大扇出數來迫使工具對其進行邏輯複製,減少扇出數量,提高效能。
3. 暫存器到輸出:
這種路徑的約束是為了讓fpga設計工具能夠優化fpga內部從最後一級暫存器到輸出埠的路徑,確保其輸出的訊號能夠被下一級晶元正確的採到。
約束的名稱: output delay。
約束條件的影響主要有3個因素:外部晶元的tsu,電路板上訊號延遲tpd,時鐘延遲tclk。tsu的引數通常需要查外部晶元的資料手冊。計算公式:output delay = tsu+tpd-tclk。例如:系統時鐘100mhz,電路板上最大延遲2ns,時鐘最大延遲 1.7ns,tsu 1ns,輸出延遲的值:max output delay = 1+2-1.7=1.3ns。這個引數的含義是指讓fpga的設計工具把最後一級暫存器到輸出埠之間的路徑延遲(包括門延遲和線延遲)控制在 10ns-1.3ns=8.7ns 以內。
4. 從輸入埠到輸出埠:
這種路徑是指組合邏輯的延遲,指訊號從輸入到輸出沒有經過任何暫存器。給這種路徑加約束條件,需要虛擬乙個時鐘,然後通過約束來指定哪些路徑是要受該虛擬時鐘的約束。在synplifypro和precision中都有相應的約束來處理這種路徑。
如何實現複雜FPGA設計的時序收斂
為什麼fpga設計類似 打鼴鼠 在fpga設計中 除驗證外 最主要的時間陷阱 time sink 是時序收斂。時序收斂常常是乙個不斷反覆的過程,以確保設計中的每個路徑都滿足時序要求。在相對較小 速度較慢的設計中,時序收斂比較容易,而且是自動收斂的,因此對fpga器件或實現工具的要求不高。然而,實際中...
如何在PCB設計中加強防干擾能力
如何在pcb設計中加強防干擾能力 如何在pcb設計中加強防干擾能力 印製電路板 pcb 是電子產品中電路元件和器件的支撐件。它提供電路元件和器件之間的電氣連線。隨著電子技術的飛速發展,pcb的密度越來越高。pcb設計的好壞對抗干擾能力影響很大。實踐證明,即使電路原理圖設計正確,印製電路板設計不當,也...
FPGA時序約束設計經驗總結
1 本節目錄 2 本節引言 3 fpga簡介 4 fpga時序約束設計經驗總結 5 結束語。不積跬步,無以至千里 不積小流,無以成江海。就是說 不積累一步半步的行程,就沒有辦法達到千里之遠 不積累細小的流水,就沒有辦法匯成江河大海。fpga field programmable gate array...