基於FPGA的乘法器原理介紹及設計實現

凌雲望遠發表於2019-09-26

基於FPGA的乘法器原理介紹及設計實現

引言

在軟體設計裡兩個數的相乘可以直接“*”,但是在FPGA的設計裡面,如果直接將兩個數相乘,不僅會佔用大量的cell單元,而且會大大減慢硬體的運算速度。而在越來越多的FPGA設計應用領域,乘法器都被廣泛應用到。本文設計的便是一款計數精度高,計數速度快,節省電路資源的乘法器。通過移位相加的原理來實現乘法器的設計實現。

乘法器原理介紹

乘法器原理介紹圖

乘法器的設計實現

首先介紹乘法器的設計埠:
乘法器的設計埠
接下來介紹乘法器的設計核心:
乘法器的設計核心圖

乘法器的模擬驗證

乘法器的模擬testbench設計如下:
testbench的模擬設計圖
按照上面的testbench模擬設計所示,乘數1:mul_data1= 21;乘數2:mul_data2=31;
那麼模擬結果應該為muliplicator=25*31=775;
如下圖所示,mul_en使能開啟後,進入乘法運算,muliplicator=775,乘法完成訊號mul_done=1同時拉高。
功能模擬波形圖

設計總結

乘法器具有以下優點:
1:通過移位相加的操作代替乘法,具有節省電路資源的優點;
2:計數精度與預期的一致,且計數速度快,所消耗的時鐘不多。

相關文章