3) 乘加器(Sum of multiplication)
乘加模式乘法器的运算结果就是一系列输入数据(乘数)乘以一系列被乘数所产生的部份积的和。
这种乘加结构易于实现MAC(乘-累加)函数,乘累加运算在FIR滤波器等应用中非常常见。乘法器
的每个输入数据(乘数)被乘到一个特定的系数(或者叫被乘数),然后把所有乘积项相加后得到最
终的乘法结果。
在乘加器模式下,每个输入总线每个时钟周期送一位到存储器的地址端口,低位先送。如果乘法器块有
四个输入总线(分别是A、B、C和D),那么第一个时钟送入的四个输入的最低位形成一个4位的 RAM
块地址。下一个时钟,送入四个输入总线的次低位形成RAM块的第二个4位地址值,依此类推。所以对
于一组n位宽度的输入总线,需要n个时钟来送入运算所需要的数据。在每个时钟周期,RAM块依次输
出该特定位和被乘数相乘运算的结果。
图14是用RAM LUT实现四个4位输入数据以及高达16位常系数的例子。根据不同的权位,移位累加每
个时钟从RAM块得到的部份积,总共需要花费6个时钟周期(四个时钟加载输入数据到RAM块,两个时
钟用于流水延时)来完成这种常系数乘法操作。部份积的每次移位累加增加一个进位位。当第四个部份
积累加完成后,乘法器产生一个22位的输出。输入数据的位宽决定了乘法器的输出位宽