清霜一梦

笔记之Cyclone IV第一卷第四章Cyclone IV器件中的嵌入式乘法器

0
阅读(1357)

嵌入式乘法器可以配置成一个 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输入数据也必须要有相同的符号表示。