本发明提出一种对FPGA(现场可编程门阵列)中DSP slice(数字信号处理)乘法器的复用算法,属于FPGA算法应用领域。
背景技术:
在通信与信号处理系统中,乘法器是数字运算的重要单元,高性能乘法器是完成高性能实时数据运算和处理的关键。随着FPGA技术的发展,FPGA以其高度的灵活性正在越来越多的替代ASIC和DSP用于信号处理的运算。乘法器作为必不可少的算术逻辑单元,并且往往处于关键延时路径中,乘法运算需要在一个时钟周期内完成,它完成一次乘法操作的周期基本上决定了微处理器的主频,因此高性能的乘法器是现代微处理器及高速数字信号处理中的重要部件。
FPGA中给用户提供了硬件乘法器DSP slice,可实现快速的乘法操作,比单纯使用查找表和触发器搭建的乘法器具有更好的时序特性,且不浪费逻辑资源,但是FPGA中提供的DSP slice资源有限,但是我们的工程设计中往往需要大量的乘法器,这时如何更有效的利用DSP中的乘法器资源就显得越来越重要。
一个DSP资源可以运算低于指定位宽的乘法,不同的FPGA中提供的DSP乘法器的位宽有所不同,目前人们在一个时钟周期内用一个DSP资源只能运算一次乘法,当这两个乘数的位宽较小时,就有大量的硬件逻辑资源被浪费,不得不使用更为昂贵更为高端的FPGA芯片,这无形中增加了产品的成本。
技术实现要素:
本发明的目的在于提供一种复用DSP slice乘法器的方案,一个时钟周期内使用1个DSP乘法器资源运算多组较小位宽的乘法,提高DSP的利用率,以减少不必要的电路逻辑资源的浪费,提高工程在电路设计中的性能。乘法运算的乘数的