基于FPGA的乘法器原理介绍及设计实现

基于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:计数精度与预期的一致,且计数速度快,所消耗的时钟不多。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章