微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > Booth2乘法器编码

Booth2乘法器编码

时间:10-02 整理:3721RD 点击:
为什么Booth2乘法器在运算无符号乘法时,会多一个部分积,比如16位乘法器,会有9个部分积

以下是我个人给出的解释,正确与否仅供参考:
当16位的MSB为1时将产生9个部分积,当MSB的值为0时,则只有8个部分积。
原因是基四booth的核心思想是将乘数从每位权重为2的数按照booth编码表转换成每位权重为4的新数,对于16位的乘数,如果MSB为1,则最后一组取值必为负数即新乘数的最高位为 (- k)*4^8,k=1 or 2 和原来的乘数不是等效变换,所以要在MSB前加两个0来,得到新的一位编码,即001所对应的booth编码值1,相当于向高位借一位,于是多产生了一位编码就多对应一个部分积,就有9个了

    乍看下不太理解,我回去慢慢想想



    对于16位,鉴于编程时的简便,如果MSB是0,你也可以认为有9个部分积,但最后一个产生的部分积一定是0

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top