乘法器的设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Copyright©2009©2009版本管理修改记录审核记录版本号.作者描述修改日期V01陈和炯创建2012-12-07版本号.职务签名修改日期Copyright©2009内容组成实验介绍设计原理注意事项Copyright©2009实验介绍乘法器设计直接使用“*”作为乘法,这种方法谈不上设计乘法器,其最终的硬件实现要根据综合工具综合的结果。好的综合工具可以综合出想要的结果,但是通常得到的都是劣等的乘法运算实现乘法器的方法很多,各有各的优缺点,常见的有移位相加法,加法树法,查表法,混合法等等。Copyright©2009内容组成实验介绍设计原理注意事项Copyright©2009设计原理电路设计中常采用移位相加的方式实现乘法的功能移位相加法和加法树(二叉树)法都属于此类当然如查表法等另辟蹊径,在某些条件下可能更有效Copyright©2009移位相加法移位相加的原理从被乘数的最低位开始判断,若为1,则乘数左移i(i=0,1...(WIDTH-1))位后,与上一次和相加;若为0,则乘数左移i位后,以0相加。直至被乘数的最高位。乘法最终就是由加法和移位运算构成的,由此可以用高速度的加法和移位实现乘法操作。Copyright©2009移位相加法移位相加关键代码实现i=0;r_dout=0;……if(iWIDTH)beginr_dout=r_dout+((din_a[i]==1)?(din_bi):0);i=i+1;endCopyright©2009移位相加法这种算法对被乘数的判断是从低到高按顺序执行的,即串行的方式优点:占用的资源较少,在低速信号处理中有广泛的应用缺点:串行乘法器的速度比较慢,一个结果输出需要花费多个时钟周期在高位宽乘法运算中尤为明显Copyright©2009加法树法加法树法的设计原理本质上依然是移位相加,不同的是采用了流水线的方法将组合逻辑分割成一个一个小的组合逻辑,中间加上触发器用来锁存数据,这样可以大大提高效率Copyright©2009加法树法加法树法关键代码实现对被乘数各个位并行判断begin:piple_line//level1outputbuf0=din_a[0]?(din_b0):0;buf1=din_a[1]?(din_b1):0;buf2=din_a[2]?(din_b2):0;buf3=din_a[3]?(din_b3):0;buf4=din_a[4]?(din_b4):0;buf5=din_a[5]?(din_b5):0;buf6=din_a[6]?(din_b6):0;buf7=din_a[7]?(din_b7):0;//level2outputbuf01=buf0+buf1;buf23=buf2+buf3;buf45=buf4+buf5;buf67=buf6+buf7;//level3outputbuf02=buf01+buf23;buf46=buf45+buf67;//level4outputdout=buf02+buf46;endCopyright©2009加法树法加法树法采用多级流水线结构,是一种并行的方式,将相邻的两个部分的结果再加到最终的输出乘积上,即排列成一个二叉树形式的结构流水线乘法器处理速度比串行加法器快很多以8-bit输入为例,只需要4个时钟周期即可输出结果其缺点是消耗的资源较多Copyright©2009其他方法查表法采用的是建立一个表,里面存放了所有的乘法结果,乘数和被乘数用来作为地址去查找里面的乘积。可以大大提高乘法的速率,但是当乘法位数很大时会要求产生很大的表格适合位数较小的乘法,特别适合有一个乘数为固定的乘法混合法根据多种方式设计出来的乘法器。Copyright©2009内容组成实验介绍设计原理注意事项Copyright©2009注意事项本设计需要注意以下事项:两种方法的乘法器设计中,使用的中间(变量)寄存器(如r_dout,buf等)的位宽定义要满足要求,否则结果有误。参考答案给出的串行乘法器使用的是状态机,用户需注意对输入赋值的时间,其结果可在仿真上看出。

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功