嵌入式乘法器可以配置成一个 18 × 18 乘法器,或者配置成两个 9 × 9 乘法器。对于那些大于18 × 18 的乘法运算 ,Quartus II 软件会将多个嵌入式乘法器模块级联在一起。虽然没有乘法器数据位宽的限制,但数据位宽越大,乘法运算就会越慢。
除了 Cyclone IV 器件中的嵌入式乘法器,通过将 M9K 存储器模块用作查找表 (LUT) 可以实现软乘法器。
根据乘法器的操作模式,您可以将每个乘法器输入信号连接到输入寄存器,您可以单独地设置乘法器的每个输入是否使用输入寄存器。
根据乘法器的数据宽度或者操作模式,单一嵌入式乘法器能够同时执行一个或者两个乘法运算
signa与signb信号控制乘法器的输入,并决定值是有符号的还是无符号的。如果signa信号为高电平,则 Data A操作数是一个有符号数值。反之,Data A操作数便是一个无符号数值。如果任何一个操作数为有符号数,则乘积的结果为有符号数。
如果嵌入式乘法器有两个 9 × 9 乘法器,那么这两个乘法器的 Data A输入与Data B输入将分别共享同一个signa信号和同一个signb信号。您可以在运行时动态改变signa和signb信号,以修改输入操作数的符号表示。您可以通过专用的输入寄存器发送signa以及signb。不管符号表示如何,乘法器都会支持全精度。
当signa与signb信号未使用时,Quartus II 软件会将乘法器默认设置成执行无符号乘法运算。
Cyclone IV 器件的嵌入式乘法器,可以实现乘法加法器和乘法累加器功能,这一功能的乘法器部分由嵌入式乘法器来实现,而加法器或者累加器功能则在逻辑单元 (LE) 中实现。
另外,您也可以动态修改signa与signb信号,并且通过专用的输入寄存器发送这些信号。
用于驱动同一嵌入式乘法器的所有Data A输入数据必须要有相同的符号表示。同样,用于驱动同一嵌入式乘法器的所有Data B输入数据也必须要有相同的符号表示。