我知道,我對與電子有關的所有事情都很著迷,但不論從哪個角度看,今天的現場可編程門陣列(FPGA),都顯得“鶴立雞群”,真是非常棒的器件。如果在這個智能時代,在這個領域,想擁有一技之長的你還沒有關注FPGA,那么世界將拋棄你,時代將拋棄你。
學習FPGA,總結如下:
看邏輯,建模型。
只有在腦海中建立了一個個邏輯模型,理解FPGA內部邏輯結構實現的基礎,才能明白為什么寫Verilog和寫C整體思路是不一樣的,才能理解順序執(zhí)行語言和并行執(zhí)行語言的設計方法上的差異。在看到一段簡單邏輯的時候應該想到是什么樣的功能電路。
用數學思維來簡化設計邏輯。
學習FPGA不僅邏輯思維很重要,好的數學思維也能讓你的設計化繁為簡,所以,看見高數就頭疼的同學需要重視一下這門課。舉個簡單的例子,比如有兩個32bit的數據X[31:0]與Y[31:0]相乘。當然,無論Altera還是Xilinx都有現成的乘法器IP核可以調用,這也是最簡單的方法,但是兩個32bit的乘法器將耗費大量的資源。那么有沒有節(jié)省資源,又不太復雜的方式來實現呢?我們可以稍做修改:
將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;則X與Y的相乘可以轉化為X1和X2 分別與Y1和Y2相乘,這樣一個32bit*32bit的乘法運算轉換成了四個16bit*16bit的乘法運算和三個32bit的加法運算。轉換后的占用資源將會減少很多,有興趣的讀者,不妨綜合一下看看,看看兩者差多少。
-
FPGA
+關注
關注
1626文章
21678瀏覽量
602043 -
邏輯
+關注
關注
2文章
832瀏覽量
29453 -
模型
+關注
關注
1文章
3178瀏覽量
48731
原文標題:建立模型,化簡邏輯
文章出處:【微信號:ALIFPGA,微信公眾號:FPGA極客空間】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論