集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 3618|回复: 7

FPGA中关于乘法器的设计

[复制链接]
老怪甲 该用户已被删除
老怪甲 发表于 2010-10-28 09:23:32 | 显示全部楼层 |阅读模式
乘法算是基本运算之一,广泛应用在数字信号处理中,滤波器中乘法运算必不可少,实现乘法器的方法很多,各有各的优缺点,常见的有移位相加法,加法树法,查表法,混合法……
在我们用语言设计电路时,初学时在实现乘法运算时通常很简单的用*号操作,但是这种方法谈不上设计乘法器,其最终的硬件实现要根据综合器综合的结果,好的综合器可以综合出想要的结果,但是实际上这种粗放的设计通常得到的都是劣等的乘法运算,无法满足对乘法速率的要求,在滤波电路中要求数据串行进入接着进行大量的乘法运算,当所设计的乘法器其的速度小于数据进入的速度的时候就会导致结果错……
1,以为相加乘法器其,对两个二进制数进行相乘运算,运用列式求法我们可以得知,乘法最终就是由加法和移位运算构成的,由此可以用高速度的加法和移位实现乘法操作,具体代码如下:
begin
  dout=0;
  for(i=0;i<WIGTH;i=i+1)
   dout=dout+((din_a_buf[i]==1)?(din_b_buf<<i):0);//移位相加逻辑
end
2,上面的设计中,由于产生了大量的组合逻辑,这就带来了大量的延迟从而使乘法器的速率受到限制,为了提高速度,可以采用流水线的方法,将组合逻辑分割成一个一个小的组合逻辑,中间加上触发器用来锁存数据,这样就可以大大提高频率,引入触发器仅仅是带来了延迟而已,具体代码实现如下
begin//流水线实现
   din_a_buf<=din_a;
   din_b_buf<=din_b;
   buf0<=din_b_buf[0]?din_a_buf:0;
   buf1<=din_b_buf[1]?din_a_buf<<1:0;
   buf2<=din_b_buf[2]?din_a_buf<<2:0;
   buf3<=din_b_buf[3]?din_a_buf<<3:0;
   buf4<=din_b_buf[4]?din_a_buf<<4:0;
   buf5<=din_b_buf[5]?din_a_buf<<5:0;
   buf6<=din_b_buf[6]?din_a_buf<<6:0;
   buf7<=din_b_buf[7]?din_a_buf<<7:0;
  
   buf01<=buf0+buf1;
   buf23<=buf2+buf3;
   buf45<=buf4+buf5;
   buf67<=buf6+buf7;
  
   buf02<=buf01+buf23;
   buf46<=buf45+buf67;
  
   dout<=buf02+buf46;
  end
此种乘法器叫做加法树式乘法器,此方法被广泛使用……
3,查表法,就是建一个表,里面存放了所有的乘法结果,乘数和被乘数用来作为地址去里面的乘积,此种方法可以大大提高乘法的速率,但是当乘法位数很大时会要求产生很大的表格,所以此种方法适合位数较小的乘法,特别适合有一个乘数为固定的乘法,如滤波器中的乘法就可以采用此种方法设计……
4,混合,顾名思义就是结合以上各种方法的乘法器……
baihan1987 发表于 2010-12-11 21:56:25 | 显示全部楼层
写得很好呀!受教了,谢谢
syh20102011 发表于 2010-12-25 02:37:27 | 显示全部楼层
拜读 受教 谢谢
hng1123 发表于 2011-4-4 22:32:19 | 显示全部楼层
分享了!!!!!!!!!!!!!
marskira 发表于 2011-4-25 18:02:27 | 显示全部楼层
写的真好,多谢赐教!
waitinga 发表于 2011-4-26 20:53:02 | 显示全部楼层
真的很好的东西
sfe555 发表于 2012-6-9 11:17:58 | 显示全部楼层
谢谢!写得好
fpga_feixiang 发表于 2022-4-19 19:01:28 | 显示全部楼层
66666666666666666
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-6-16 04:00 , Processed in 0.089173 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表