基於FPGA的乘法器原理介紹及設計實現
引言
在軟件設計裏兩個數的相乘可以直接“*”,但是在FPGA的設計裏面,如果直接將兩個數相乘,不僅會佔用大量的cell單元,而且會大大減慢硬件的運算速度。而在越來越多的FPGA設計應用領域,乘法器都被廣泛應用到。本文設計的便是一款計數精度高,計數速度快,節省電路資源的乘法器。通過移位相加的原理來實現乘法器的設計實現。
乘法器原理介紹
乘法器的設計實現
首先介紹乘法器的設計端口:
接下來介紹乘法器的設計核心:
乘法器的仿真驗證
乘法器的仿真testbench設計如下:
按照上面的testbench仿真設計所示,乘數1:mul_data1= 21;乘數2:mul_data2=31;
那麼仿真結果應該爲muliplicator=25*31=775;
如下圖所示,mul_en使能開啓後,進入乘法運算,muliplicator=775,乘法完成信號mul_done=1同時拉高。
設計總結
乘法器具有以下優點:
1:通過移位相加的操作代替乘法,具有節省電路資源的優點;
2:計數精度與預期的一致,且計數速度快,所消耗的時鐘不多。