fpga如何約束走線 FPGA如何從入門到高手?

2021-10-13 13:44:05 字數 1324 閱讀 6043

1 fpga入門基礎知識熟練掌握

掌握fpga必備的基礎,熟練掌握verilog程式語言,熟練掌握fpga開發工具,ise,vivado,quartus,modelsim等。熟悉fpga的開發流程,編寫約束檔案。

圖1 vivado 17.4

圖2 quartus16.0

2 fpga ip核使用

常用的fpga ip核的使用,包括fifo,ram,加減乘除,浮點ip核,除錯ip核等等

圖3 vivado下的ip核介面

3 常見通訊介面

常用的通訊介面,包括uart串列埠,spi 匯流排,i2c匯流排,emif匯流排(與dsp,mcu通訊),i2s,15535b匯流排,pcie匯流排等。

4 高速介面

高速介面包括mig 7 series(ddr3 介面),7系列fpga晶元支援ddr3速率最大到1866m,gtx高速通道,高速io,10g乙太網,pcie匯流排,srio(高速序列通訊介面)等。

5 時序約束,非同步時鐘域的約束,及常見的跨時鐘域解決辦法

時序約束是fpga中的難點,對於乙個fpga大的工程來說,必須保證時序滿足訊號的建立時間和保持時間。

圖4 建立時間和保持時間的位置

圖5 資料建立需要時間

5.3 資料建立需要時間,如圖5

5.3.1 tclk2,不同於上述的tclk1,這個延時是時鐘從起點(一般是pll或者時鐘輸入引腳)到鎖存觸發器之間的延時;如上圖所示,reg2實際感受到的時鐘來自於其本身的clk引腳,而不是源時鐘clk,他們之間存在乙個延時,即tclk2;所以reg2實際感受到的時鐘,實際上是上圖的reg2.clk;

5.3.2 tsu:每乙個資料被鎖存都要滿足建立時間和保持時間,tsu就是建立時間,也就是在reg2實際感受到latch edge時,資料如果需要被正確鎖存,就必須提前tsu的時間來到reg2的d;

5.3.3 綜合時鐘走線延時tclk2以及tsu,我們得到了資料建立時間drtsu:

drtsu=鎖存沿 tclk2-tsu。也就是說在drtsu時刻之前,資料必須已經有效且穩定。

圖6 資料保持需要時間

5.4 資料保持需要時間,如圖6

資料保持需要時間=鎖存沿 tclk2 th;也就是說,資料在drth時間之前必須保持住不變。

5.5 常見的非同步時鐘訊號,一是在工程中對訊號進行非同步處理,二是在xdc檔案中設定非同步時鐘組。

5.6 跨時鐘域常見的解決辦法:一,使用非同步fifo,二,使用非同步暫存器快取兩拍。

6 fpga系統架構設計

乙個工作經驗fpga工程師,都是從底層開發到系統設計,系統設計需要從fpga專案的總體考慮,分析專案需求,分解成fpga模組,設計專案開發方案,換句話說就是搭建fpga的總體架構。

fpga如何約束走線 FPGA時序約束的幾種方法

對自己的設計的實現方式越了解,對自己的設計的時序要求越了解,對目標器件的資源分布和結構越了解,對eda工具執行約束的效果越了解,那麼對設計的時序約束目標就會越清晰,相應地,設計的時序收斂過程就會更可控。從最近一段時間工作和學習的成果中,我總結了如下幾種進行時序約束的方法。按照從易到難的順序排列如下 ...

fpga如何約束走線 FPGA時序約束的6種方法

fpga 時序約束的 種方法對自己的設計的實現方式越了解,對自己的設計的時序要求越了解,對目標器件的資源分布和結構越了解,對 eda工具執行約束的效果越了解,那麼對設計的時序約束目標就會越清晰,相應地,設計的時序收斂過程就會更 可控。下文總結了幾種進行時序約束的方法。按照從易到難的順序排列如下 0....

fpga如何約束走線 FPGA時序約束的幾種方法

對自己的設計的實現方式越了解,對自己的設計的時序要求越了解,對目標器件的資源分布和結構越了解,對eda工具執行約束的效果越了解,那麼對設計的時序約束目標就會越清晰,相應地,設計的時序收斂過程就會更可控。從最近一段時間工作和學習的成果中,我總結了如下幾種進行時序約束的方法。按照從易到難的順序排列如下 ...