FPGA編程語(yǔ)言為何叫硬件描述語(yǔ)言?硬件即FPGA硬件,硬件描述語(yǔ)言,也就自然地告訴我們可以通過(guò)語(yǔ)言來(lái)描述FPGA內(nèi)部硬件。如:用y=a&b來(lái)描述一個(gè)2輸入的與門(mén),用PLL來(lái)描述類似外部時(shí)鐘管理芯片。因此,要想學(xué)好FPGA,你得用硬件的思維方式來(lái)編寫(xiě)代碼,注重FPGA的系統(tǒng)結(jié)構(gòu)設(shè)計(jì),好的系統(tǒng)結(jié)構(gòu)設(shè)計(jì)會(huì)帶來(lái)質(zhì)的飛躍,這就告訴我們RTL Coding其實(shí)是硬件結(jié)構(gòu)設(shè)計(jì),而非基于處理器架構(gòu)的C語(yǔ)言程序開(kāi)發(fā),好的RTL Coding就是好的硬件結(jié)構(gòu)。2.FPGA設(shè)計(jì)是做串并操作的時(shí)序設(shè)計(jì)?FPGA內(nèi)部硬件之間的通信為多對(duì)多節(jié)點(diǎn)通信,不僅存在無(wú)先后順序的并行邏輯,而且還存在先后順序的串行邏輯,這和CPU基于指令的順序執(zhí)行邏輯完全不同,我們需要嚴(yán)格控制設(shè)計(jì)中各個(gè)信號(hào)之間的時(shí)間關(guān)系,以滿足最終的時(shí)間上的需求,即時(shí)序要求。
因此,F(xiàn)PGA設(shè)計(jì)就是針對(duì)既有串行操作,又有并行操作的時(shí)序設(shè)計(jì),即FPGA串并操作的時(shí)序設(shè)計(jì)。3.FPGA串并操作,該如何理解?a.執(zhí)行完A后再執(zhí)行B;b.A和B之間并行執(zhí)行,且沒(méi)有關(guān)聯(lián);c.A和B之間并行執(zhí)行,且開(kāi)始時(shí)有先后順序,即串行邏輯;d.FPGA的復(fù)雜系統(tǒng)包含上述多種靈活組合,設(shè)計(jì)時(shí)需多多琢磨思考,合理設(shè)計(jì)。4.FPGA內(nèi)部最基本硬件結(jié)構(gòu)LUT,你理解嗎?LUT的原理很簡(jiǎn)單,就是把各種可能的結(jié)果存起來(lái)標(biāo)個(gè)號(hào),每次根據(jù)輸入的號(hào)來(lái)輸出結(jié)果。如:一位加法器有4種可能輸入對(duì)應(yīng)3種結(jié)果,就只需要做一張表格,把所有的輸入和輸出一一對(duì)應(yīng)即可。

圖1 LUT實(shí)現(xiàn)方式
理解了LUT原理,我們可以用相同的思想來(lái)實(shí)現(xiàn)DDS、簡(jiǎn)單乘法、簡(jiǎn)單三角函數(shù)等,有時(shí)可以大大省資源,因?yàn)楫吘笷PGA最終都是有多個(gè)LUT級(jí)聯(lián)+Reg+其它 來(lái)實(shí)現(xiàn)各種復(fù)雜的硬件電路。
5.FPGA設(shè)計(jì)關(guān)鍵在于結(jié)構(gòu)的設(shè)計(jì),你同意嗎?a.首先,清楚FPGA的內(nèi)部結(jié)構(gòu),基本結(jié)構(gòu)為L(zhǎng)UT;
b.然后,按照功能、時(shí)鐘域、串并操作、數(shù)據(jù)流和控制流來(lái)綜合考慮系統(tǒng)的結(jié)構(gòu);
c.最后,根據(jù)面積、速度和功耗來(lái)不斷優(yōu)化系統(tǒng)結(jié)構(gòu),設(shè)計(jì)出最合理的系統(tǒng)結(jié)構(gòu)。
-
FPGA
+關(guān)注
關(guān)注
1650文章
22217瀏覽量
628021 -
硬件
+關(guān)注
關(guān)注
11文章
3537瀏覽量
68524 -
時(shí)序
+關(guān)注
關(guān)注
5文章
401瀏覽量
38559
原文標(biāo)題:FPGA的幾點(diǎn)總結(jié),你同意嗎?
文章出處:【微信號(hào):FPGAer_Club,微信公眾號(hào):FPGAer俱樂(lè)部】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
fpga時(shí)序分析案例 調(diào)試FPGA經(jīng)驗(yàn)總結(jié)
FPGA學(xué)習(xí)總結(jié)[經(jīng)典推薦]
FPGA的幾點(diǎn)總結(jié),你同意嗎?
對(duì)于PCB設(shè)計(jì)重要線信號(hào)處理,應(yīng)該注意哪幾點(diǎn)?
為什么大量的人會(huì)覺(jué)得FPGA難學(xué)?精選資料推薦
增量型拉線位移傳感器的幾點(diǎn)注意事
FPGA學(xué)習(xí)總結(jié)[經(jīng)典推薦]
學(xué)習(xí)FPGA需要注意的幾個(gè)重要問(wèn)題
LabVIEW FPGA 的重要性及應(yīng)用
Xilinx 7 系列FPGA中的Serdes總結(jié)
ACTEL-FPGA獨(dú)特的幾點(diǎn)優(yōu)勢(shì)
總結(jié)SMT貼片加工中有幾點(diǎn)最容易發(fā)生問(wèn)題的封裝
采用FPGA實(shí)現(xiàn)醫(yī)療成像總結(jié)

FPGA的幾點(diǎn)重要總結(jié)
評(píng)論