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
