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

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

引言

在软件设计里两个数的相乘可以直接“*”,但是在FPGA的设计里面,如果直接将两个数相乘,不仅会占用大量的cell单元,而且会大大减慢硬件的运算速度。而在越来越多的FPGA设计应用领域,乘法器都被广泛应用到。本文设计的便是一款计数精度高,计数速度快,节省电路资源的乘法器。通过移位相加的原理来实现乘法器的设计实现。

乘法器原理介绍

基于FPGA的乘法器原理介绍及设计实现_第1张图片

乘法器的设计实现

首先介绍乘法器的设计端口:
基于FPGA的乘法器原理介绍及设计实现_第2张图片
接下来介绍乘法器的设计核心:
基于FPGA的乘法器原理介绍及设计实现_第3张图片

乘法器的仿真验证

乘法器的仿真testbench设计如下:
基于FPGA的乘法器原理介绍及设计实现_第4张图片
按照上面的testbench仿真设计所示,乘数1:mul_data1= 21;乘数2:mul_data2=31;
那么仿真结果应该为muliplicator=25*31=775;
如下图所示,mul_en使能开启后,进入乘法运算,muliplicator=775,乘法完成信号mul_done=1同时拉高。
基于FPGA的乘法器原理介绍及设计实现_第5张图片

设计总结

乘法器具有以下优点:
1:通过移位相加的操作代替乘法,具有节省电路资源的优点;
2:计数精度与预期的一致,且计数速度快,所消耗的时钟不多。

你可能感兴趣的:(基于FPGA的乘法器原理介绍及设计实现)