一、面積與速度的平衡互換原則
這里的面積指的是 FPGA 的芯片資源,包括邏輯資源和 I/O 資源等;這里的速度指的是 FPGA 工作的最高頻率(和 DSP 或者 ARM 不同,F(xiàn)PGA 設(shè)計(jì)的工作頻率是不固定的,而是和設(shè)計(jì)本身的延遲緊密相連)。 在實(shí)際設(shè)計(jì)中,使用最小的面積設(shè)計(jì)出最高的速度是每一個(gè)開發(fā)者追求的目標(biāo),但是“魚和熊掌不可兼得”,取舍之間展示了一個(gè)開發(fā)者的智慧。
1. 速度換面積
速度優(yōu)勢(shì)可以換取面積的節(jié)約。面積越小,就意味著可以用更低的成本來實(shí)現(xiàn)產(chǎn)品的功能。速度換面積的原則在一些較復(fù)雜的算法設(shè)計(jì)中常常會(huì)用到。在這些算法設(shè)計(jì)中,流水線設(shè)計(jì)常常是必須用到的技術(shù)。在流水線的設(shè)計(jì)中,這些被重復(fù)使用但是使用次數(shù)不同的模塊將會(huì)占用大量的 FPGA 資源。對(duì) FPGA 的設(shè)計(jì)技術(shù)進(jìn)行改造,將被重復(fù)使用的算法模塊提煉出最小的復(fù)用單元,并利用這個(gè)最小的高速代替原設(shè)計(jì)中被重復(fù)使用但次數(shù)不同的模塊。當(dāng)然,在改造的過程中必然會(huì)增加一些其他的資源來實(shí)現(xiàn)這個(gè)代替的過程。但是只要速度具有優(yōu)勢(shì),那么增加的這部分邏輯依然能夠?qū)崿F(xiàn)降低面積提高速度的目的。
可以看到,速度換面積的關(guān)鍵是高速基本單元的復(fù)用。
2、面積換速度
在這種方法中面積的復(fù)制可以換取速度的提高。支持的速度越高,就意味著可以實(shí)現(xiàn)更高的產(chǎn)品性能。一些注重產(chǎn)品性能的應(yīng)用領(lǐng)域可以采用并行處理技術(shù),實(shí)現(xiàn)面積換速度。
二。硬件可實(shí)現(xiàn)原則
FPGA 設(shè)計(jì)通常會(huì)使用 HDL 語言,比如 Verilog HDL 或者 VHDL。當(dāng)采用 HDL 語言來描述一個(gè)硬件電路功能的時(shí)候,一定要確保代碼描述的電路是硬件可實(shí)現(xiàn)的。
Verilog HDL 語言的語法與 C 語言很相似,但是它們之間有著本質(zhì)的區(qū)別。C 語言是基于過程的高級(jí)語言,編譯后可以在 CPU 上運(yùn)行。而 Verilog HDL 語言描述的本身就是硬件結(jié)構(gòu),編譯后是硬件電路。因此,有些語句在 C 語言的環(huán)境中應(yīng)用是沒有問題的,但是在 HDL 語言環(huán)境下就會(huì)導(dǎo)致結(jié)果不正確或者不理想。如:
for(i=0;i《16;i++)
DoSomething();
在 C 語言中運(yùn)行沒有任何問題,但是在 Verilog HDL 的環(huán)境下編譯就會(huì)導(dǎo)致綜合后的資源嚴(yán)重浪費(fèi)。
三、 同步設(shè)計(jì)原則
同步電路和異步電路是 FPGA 設(shè)計(jì)的兩種基本電路結(jié)構(gòu)形式。
異步電路的最大缺點(diǎn)是會(huì)產(chǎn)生毛刺。同步設(shè)計(jì)的核心電路是由各種觸發(fā)器構(gòu)成的。這類電路的任何輸出都是在某個(gè)時(shí)鐘的邊沿驅(qū)動(dòng)觸發(fā)器產(chǎn)生的。所以,同步設(shè)計(jì)可以很好地避免毛刺的產(chǎn)生。
審核編輯黃宇
-
FPGA
+關(guān)注
關(guān)注
1630文章
21803瀏覽量
606445 -
芯片
+關(guān)注
關(guān)注
457文章
51294瀏覽量
427869 -
電路
+關(guān)注
關(guān)注
173文章
5974瀏覽量
173058 -
同步
+關(guān)注
關(guān)注
0文章
89瀏覽量
19258
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論