首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
20×18位符号定点乘法器的FPGA实现
来源:本站整理  作者:佚名  2009-06-16 11:39:50



1.1 Booth编码与部分积的设计
    在此采用的是基4-Booth编码方式。在补码表示的二进制数据中,扩展其最高位,并无影响。乘数A位宽为N,若N为奇数将A作符号扩展为A',使其位宽为偶数。设定:经过处理以后,乘数A'宽度为H,H为偶数且不得小于N。则乘数A'可表示为:

   
    其值如表1所示:

    可以看到:基4布思编码一次考虑了3位:本位、相邻高位、相邻低位;处理了2位,确定运算量0,1B,2B,形成(H/2)项编码项、乘积项。对于2B的实现,只需要将B左移1位。因此,不管从那方面来说,基4算法方便又快捷。而基2算法1次只考虑2位、处理1位,形成N项编码项、乘积项,只是方便而已。SMIC提供的O.18 vm标准单元库中,布思编码逻辑表达式为:

    
    以M2指示相邻高位,以M1指示本位,以M0指示相邻低位。S为0时正,为1时负;A为0时操作数为0,为1时操作数为B;X2为O时操作数为0,为1时操作数为28。对于0,B,2B都比较好实现,2B=(B<<1);对于(-2B)实现如下:一2B=2×(-B)=[~(B<<1)]+1在硬件实现中,相邻部分积之间的权相差4,也就是部分积之间错开两位,把加1拿出来;对于所有As为1时,把所有的加1拿出来单独做部分积,这样可以省去多个加法器,节省器件。对与一个18 b的乘数,可以产生9个部分积,改进此Booth编码,再加上一个补1的数,一共产生10个加数。
1.2 4-2压缩逻辑实现
    4-2压缩原理图如图2所示。它有5个输入端:A,B,C,D,ICI;三个输出端:S,CO,ICO。将5-3编码器并成1行,即为5-3计数行;若将相邻低位之ICO接入本位之ICI,则成为4-2压缩器。这样可以减少2个操作数。5-3计数器代数运算式如下:
    S+CO×2+ICO×2=A+B+C+D+ICI
    即:I0,I1,I2,I3,Ci,D权值为1;C,C0权值为2。

上一页  [1] [2] [3] [4] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:63,664.06000 毫秒