乘法器简介,除法引入

之前说过一点加法器的内容,大致讲了几个简单的类型的加法器,好像没有说加法器可以同时做减法的,做减法的思路其实就是变成加上一个负数,比如说sum=a-b就变成了sum=a+(~b)+1;主要是运用了一点点逻辑上的转换。

今天简单介绍一点乘法器的内容,乘法器其实根本上也是运用了加法器的原理,只是不过是算每一个值的时候,采用移位的方式来实现单个bit相乘,然后再采用加法器来实现最终结果。比如说Mul=4’ba1a2a3a4 * 4’bb1b2b3b4这个值,Mul=a1*b4 + a2*b4 + a3*b4 + a4*b4+a1*b2+a2*b2+a3*b3+a4*b4+a1*b3+a2*b3+a3*b3+a4*b3+a1*b4++a2*b4+a3*b4+a4*b4,这样就相当于16个值加起来,然后比如说a1*b4这一项可以先把a1向左移动3个单位,可以用{a1,3’b0}的方式来移位。然后根据乘法器两个乘机项是否是有符号数来决定高位补全时采用补0或者符号位扩展的方式来添加项(wallance tree的思想)。首先介绍一个boothencode,第一种是采用radix-2的方式,比如说110这个值,可以用radix-2先在最低位补0,变成01100(有符号扩展符号位,无符号扩展0),然后采用radix-2编码00=>0,10=>-1,11=.>0,01=>1,整个数相当于变成了1000-0010这个值,类似的radix4的编码于此类似,可以百度或者google上查询,下次把那本经典的数字集成电路分享部分经典内容出来。然后wallance tree,是简化加法层数,提高乘法器速度的方式,比如说两个4-bit的a和,b相乘,最终除了四层数字,还有一组常数值,这一行可以添加到具体的wallance tree中来减少一层加法器数目,这样就是4层加起来,当然可以采用之前介绍的CRA来实现,不过会慢一些。Wallance tree简化层数的效果,比如说9层:9*2/3=6 第一层,;6*2/3=4第二层;4*2/3+1=3第三层;3*2/3=2第四层;1+1=result第五层,这样本来9层的结果变成了5层,当层数很多的时候效果会很明显。

除法一般有两种,restoring和non-restoring,具体的话,下次再写。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 按照用途分类出以下统计函数: AVEDEV 用途:返回一组数据与其平均值的绝对偏差的平均值,该函数可以评测数据(例...
    四方院祭司阅读 2,920评论 0 3
  • 一、项目介绍: 方法包括以下步骤S1:将个体表现数据输入到数据库;S2:建立学习者的学习表现数据库和性格特征数据库...
    哈尔的移动枕头阅读 9,332评论 0 1
  • 实验目的 掌握组合逻辑电路的基本分析和设计方法 理解半加器和全加器的工作原理并掌握利用全加器构成不同字长加法器的各...
    越今朝阅读 456评论 0 1
  • 完美洗牌算法 题目描述: 有个长度为2n的数组 {a1, a2, a3, ..., an, b1, b2, b3,...
    MinoyJet阅读 3,886评论 0 2
  • 题外话 我一般把存储方式(app中)分为三种 in memory一般对象持有,对象销毁,数据跟着消失 (肯定有人要...
    ColeX阅读 1,389评论 0 21