Altera内部结构(四):Cyclone IV芯片结构之嵌入式乘法器

在我们进行高速大量的信号处理的时候,我们常用到乘法器,比如说做数字信号处理,常常会用到FFT等,这时候就需要用乘法器构建FFT。
当然是用逻辑资源也可以实现乘法运算,但是,当需要高速运算和大量数据运算时,乘法运算就会很慢,并且很浪费逻辑资源,使用乘法器会更好。

在Cyclone IV中,乘法器和LAB交错分布,一行LAB,就会有一个18 * 18的乘法器
在这里插入图片描述
嵌入式乘法器可以配置成一个18 * 18的乘法器或者两个9 * 9 的乘法器。对于那些大于18*18的乘法运算,Quartus II软件会将多个嵌入式乘法器模块级联在一起,虽然没有乘法器数据宽度的限制,但是数据位宽越大,乘法运算就会越大。

在这里插入图片描述
可以看到,在Cyclone IV EP4CE10E10中,乘法器数量有23个,可以配置成23个18*18的乘法器,也可以配置成46个9 * 9的乘法器。

当然,除了 Cyclone IV 器件中的嵌入式乘法器,可以通过将 M9K 存储器模块用作查找表 (LUT) 实现软乘法器。LUT 中存储了输入数据同系数乘积的部分结果,针对低成本、高性能的 DSP 应用,实现了可变深度与宽度的高性能软乘法器。软乘法器的可用性增加了器件中可用乘法器的数量。

在这里插入图片描述
在这里插入图片描述
可以看到,输入寄存器除了数据输入,还有时钟输入、时钟使能和异步清零
输出寄存器除了数据输出,还有时钟输入、时钟使能和异步清零

乘法器级就是中间那个 ×

控制信号的signasignb是控制输入数据Data A和Data B的符号位高电平代表有符号,低电平代表无符号

1、可以看到,乘法器输入有两条路径,一条是直接输入到乘法器,还有一条是通过寄存器打一拍输输入到乘法器, 具体怎么输入,可以配置输入寄存器后的多路选择器来设置

2、可以看到,乘法器输出也有两条路径,一条是1,直接输出,还有一条是2,通过寄存器打一拍输出,这个在配置有关乘法器IP的时候可以看到,如果配置了2,那么在IP核的可视化界面就会看到在IP核输出端口会多加一个寄存器。 具体怎么输出,可以配置输出寄存器后的多路选择器来设置

这两种配置就可以实现组合逻辑或者时序逻辑,与LE类似

在这里插入图片描述
乘法器的每一个操作数都是一个唯一的有符号或者无符号数。 signa 与 signb 信号控制乘法器的输入,并决定值是有符号的还是无符号的。如果 signa 信号为高电平,则Data A 操作数是一个有符号数值。反之, Data A 操作数便是一个无符号数值。

注意:每一个嵌入式乘法器模块只有一个 signa 信号和一个 signb 信号,用于控制模块输入数据的符号表示。如果嵌入式乘法器有两个 9 × 9 乘法器,那么这两个乘法器的Data A输入与Data B输入将分别共享同一个signa信号和同一个signb信号。可以在运行时动态改变 signa 和 signb 信号以修改输入操作数的符号表示

嵌入式乘法器有两种模式,18 * 18模式和两个9 * 9模式

18bit 乘法器模式
在这里插入图片描述
2*9bit 乘法器
在这里插入图片描述

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值