我知道,我對與電子有關(guān)的所有事情都很著迷,但不論從哪個角度看,今天的現(xiàn)場可編程門陣列(FPGA),都顯得“鶴立雞群”,真是非常棒的器件。如果在這個智能時代,在這個領(lǐng)域,想擁有一技之長的你還沒有關(guān)注FPGA,那么世界將拋棄你,時代將拋棄你。
學(xué)習(xí)FPGA,總結(jié)如下:
看邏輯,建模型。
只有在腦海中建立了一個個邏輯模型,理解FPGA內(nèi)部邏輯結(jié)構(gòu)實現(xiàn)的基礎(chǔ),才能明白為什么寫Verilog和寫C整體思路是不一樣的,才能理解順序執(zhí)行語言和并行執(zhí)行語言的設(shè)計方法上的差異。在看到一段簡單邏輯的時候應(yīng)該想到是什么樣的功能電路。
用數(shù)學(xué)思維來簡化設(shè)計邏輯。
學(xué)習(xí)FPGA不僅邏輯思維很重要,好的數(shù)學(xué)思維也能讓你的設(shè)計化繁為簡,所以,看見高數(shù)就頭疼的同學(xué)需要重視一下這門課。舉個簡單的例子,比如有兩個32bit的數(shù)據(jù)X[31:0]與Y[31:0]相乘。當(dāng)然,無論Altera還是Xilinx都有現(xiàn)成的乘法器IP核可以調(diào)用,這也是最簡單的方法,但是兩個32bit的乘法器將耗費大量的資源。那么有沒有節(jié)省資源,又不太復(fù)雜的方式來實現(xiàn)呢?我們可以稍做修改:
將X[31:0]拆成兩部分X1[15:0]和X2[15:0],令X1[15:0]=X[31:16],X2[15:0]=X[15:0],則X1左移16位后與X2相加可以得到X;同樣將Y[31:0]拆成兩部分Y1[15:0]和Y2[15:0],令 Y1[15:0]=Y[31:16],Y2[15:0]=Y[15:0],則Y1左移16位后與Y2相加可以得到Y(jié);則X與Y的相乘可以轉(zhuǎn)化為X1和X2 分別與Y1和Y2相乘,這樣一個32bit*32bit的乘法運算轉(zhuǎn)換成了四個16bit*16bit的乘法運算和三個32bit的加法運算。轉(zhuǎn)換后的占用資源將會減少很多,有興趣的讀者,不妨綜合一下看看,看看兩者差多少。
-
FPGA
+關(guān)注
關(guān)注
1643文章
21967瀏覽量
614232 -
邏輯
+關(guān)注
關(guān)注
2文章
834瀏覽量
29700 -
模型
+關(guān)注
關(guān)注
1文章
3488瀏覽量
49999
原文標(biāo)題:建立模型,化簡邏輯
文章出處:【微信號:ALIFPGA,微信公眾號:FPGA極客空間】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
再談如何學(xué)習(xí)FPGA
【 很好的FPGA入門教材 】《 HELLO FPGA 》系列書籍免費下載
怎么學(xué)習(xí)FPGA,為什么要學(xué)習(xí)FPGA,FPGA是什么,FPGA以后的發(fā)展前景
初學(xué)者如何去學(xué)習(xí)FPGA才能提高自己的競爭力呢?
為什么要學(xué)習(xí)FPGA?如何學(xué)習(xí)FPGA?
如何學(xué)習(xí)FPGA?學(xué)習(xí)FPGA的五大忌有哪些?
如何學(xué)習(xí)FPGA學(xué)習(xí)FPGA的詳細經(jīng)驗有哪些階段
FPGA在深度學(xué)習(xí)領(lǐng)域的應(yīng)用
FPGA學(xué)習(xí)要面對什么問題
Altera FPGA CPLD學(xué)習(xí)筆記

評論