怎样测量加法器的速度?器件延迟的时间长度!

电子说

1.3w人已加入

描述

S分段C覆盖并行加法器

第一章:设计

经过学习,行波进位加法器RCA和超前进位加法器CLA后。

自己动手设计一个八位二进制加法器。

经过分析,二进制加法,可以分成三种情况。

Proteus

A:最特殊情况,两个八位二进制数的相同位,不同时为1,这样就不会产生进位。

B:特殊情况,两个数相加,产生进位C,但是更高一位的S是0。

Ω:普通情况,产生进位后,需要继续进位的情况。

对于A:8个半加器就可以输出正确答案。

对于B:8个半加器输出S和C,用Cn和Sn+1异或,就可以输出正确答案。

对于Ω:就需要发现规律。

当低位C向高位S进位时,有两种情况。

S=0,则直接进位。

S=1,则本位异或为0,进位C向更高位,继续进位,直到遇见S=0。

所以需要一种灵活的电路,当S=1时,能够把低位C搬运到高位去。

把S组成的0111结构称为段,C=0时,异或出结果0111。C=1时,异或出结果1000。进位将是向段进位的。

下图就是最终电路设计。使用八个串联的传输门,由各位的S控制通断,灵活分配进位C。

Proteus

由于低位C为1,向高位进位,S为0时,N逻辑传输门截止,P逻辑传输门导通,本位C可以通过P逻辑传输门进入到下级异或门参与运算得到运算结果;当S为1时,N逻辑传输门导通,P逻辑传输门截止,此时本位C无法参与下级异或门运算,低位C则可以通过N逻辑传输门进入下级异或门参与运算,直到遇到S=0时停止。低位C和段内S异或运算,得到计算结果。依次从低位到高位看S的值,从S为1开始到S为0,称之为一段,此段内的所有C都会被低位C(本级S为1的上一级C)“覆盖”,结果为新C。当S出现极端情况0111...0结构的段时,最低位的C覆盖所有高位C参与运算。

计算机是如何计算的(视频有利于理解设计)

1探索篇

2设计篇

3优化篇

第二章:proteus验证。示波器测延迟

经过Proteus 7.8的验证,设计的加法器,能够计算出正确结果。

使用虚拟示波器测出RCA和SCA(本设计)的延迟时间:

加法器延迟 4位 8位 16位 32位
RCA 1.3微秒 1.64微秒 2.4微秒 3.8微秒
SCA 1.4微秒 1.4微秒 1.4微秒 1.4微秒

RCA:

Proteus

ProteusProteusProteus

SCA:

ProteusProteusProteusProteus

以上是,Proteus7.8的测试结果

第三章:multisim验证。示波器测延迟

使用multisim 14的虚拟示波器测出RCA和SCA(本设计)的延迟时间:

加法器延迟 4位 8位 16位
RCA 723纳秒 1439纳秒 2879纳秒
SCA 454纳秒 454纳秒 454纳秒

RCA:

ProteusProteusProteus

SCA:

ProteusProteusProteus

以上是,multisim 14的测试结果

第四章:PCB实物验证延迟

由于模拟软件的延迟测试,仅仅只能参考。

计划利用74HC系列芯片,制作出RCA和SCA(本设计)的PCB电路板。使用示波器对两种加法器进行对比。

SCA-4示波器测延迟:

Proteus

RCA-4示波器测延迟:

Proteus

实物图:

Proteus

中间两行是输入开关,为A1-4,B1-4D的输入,SW9为Cin。

上半部分的5颗芯片,组成RCA-4,

下半部分的6颗芯片,组成SCA-4。LED输出结果。

开关向右波动为3V,开关向左波动为0V。

图中A为1111,B为0000。输出LED显示1111。

结果正确。

已经试过所有的4位加法,全部正确。

  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分