FPGA系統設計三大黃金法則

2022-09-13 17:57:09 字數 1261 閱讀 1184

fpga系統設計三大**法則

一.面積與速度的平衡互換原則

這裡的面積指的是fpga的晶元資源,包括邏輯資源和i/o資源等;這裡的速度指的是fpga工作的最高頻率(和dsp或者arm不同,fpga設計的工 作頻率是不固定的,而是和設計本身的延遲緊密相連)。 在實際設計中,使用最小的面積設計出最高的速度是每乙個開發者追求的目標,但是「魚和熊掌不可兼得」,取捨之間展示了乙個開發者的智慧型。

1.速度換面積

速度優勢可以換取面積的節約。面積越小,就意味著可以用更低的成本來實現產品的功 能。速度換面積的原則在一些較複雜的演算法設計中常常會用到。在這些演算法設計中,流水線設計常常是必須用到的技術。在流水線的設計中,這些被重複使用但是使 用次數不同的模組將會占用大量的fpga資源。對fpga的設計技術進行改造,將被重複使用的演算法模組提煉出最小的復用單元,並利用這個最小的高速代替原 設計中被重複使用但次數不同的模組。當然,在改造的過程中必然會增加一些其他的資源來實現這個代替的過程。但是只要速度具有優勢,那麼增加的這部分邏輯依 然能夠實現降低面積提高速度的目的。

可以看到,速度換面積的關鍵是高速基本單元的復用。

2.面積換速度

在這種方法中面積的複製可以換取速度的提高。支援的速度越高,就意味著可以實現更高的產品效能。一些注重產品效能的應用領域可以採用並行處理技術,實現面積換速度。

二.硬體可實現原則

fpga設計通常會使用hdl語言,比如verilog hdl或者vhdl。當採用hdl語言來描述乙個硬體電路功能的時候,一定要確保**描述的電路是硬體可實現的。

verilog hdl語言的語法與c語言很相似,但是它們之間有著本質的區別。c語言是基於過程的高階語言,編譯後可以在cpu上執行。而verilog hdl語言描述的本身就是硬體結構,編譯後是硬體電路。因此,有些語句在c語言的環境中應用是沒有問題的,但是在hdl語言環境下就會導致結果不正確或者 不理想。如:

for(i=0;i<16;i++)

dosomething();

在c語言中執行沒有任何問題,但是在verilog hdl的環境下編譯就會導致綜合後的資源嚴重浪費。

三. 同步設計原則

同步電路和非同步電路是fpga設計的兩種基本電路結構形式。

非同步電路的最大缺點是會產生毛刺。同步設計的核心電路是由各種觸發器構成的。這類電路的任何輸出都是在某個時鐘的邊沿驅動觸發器產生的。所以,同步設計可以很好地避免毛刺的產生。

FPGA四大設計要點

fpga的用處比我們平時想象的用處更廣泛,原因在於其中整合的模組種類更多,而不僅僅是原來的簡單邏輯單元 le 早期的fpga相對比較簡單,所有的功能單元僅僅由管腳 內部buffer le ram構建而成,le由lut 查詢表 和d觸發器構成,ram也往往容量非常小。現在的fpga不僅包含以前的le,...

FPGA系統設計考慮因素

1 本節目錄 2 本節引言 3 fpga簡介 4 fpga系統設計考慮因素 5 結束語。不積跬步,無以至千里 不積小流,無以成江海。就是說 不積累一步半步的行程,就沒有辦法達到千里之遠 不積累細小的流水,就沒有辦法匯成江河大海。fpga field programmable gate array 是...

fpga如何約束走線 FPGA四大設計要點

fpga的用處比我們平時想象的用處更廣泛,原因在於其中整合的模組種類更多,而不僅僅是原來的簡單邏輯單元 le 早期的fpga相對比較簡單,所有的功能單元僅僅由管腳 內部buffer le ram構建而成,le由lut 查詢表 和d觸發器構成,ram也往往容量非常小。dsp 實際上就是乘加器,fpga...