找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1343|回复: 21
打印 上一主题 下一主题
收起左侧

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

[复制链接]
跳转到指定楼层
楼主
第一章:设计

        经过学习,行波进位加法器RCA和超前进位加法器CLA后。
        自己动手设计一个八位二进制加法器。
        经过分析,二进制加法,可以分成三种情况。
        
        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。
        
        由于低位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:
        
        


        SCA:
        



        以上是,Proteus7.8的测试结果
        第三章:multisim验证。示波器测延迟
        使用multisim 14的虚拟示波器测出RCA和SCA(本设计)的延迟时间:
加法器延迟
4位
8位
16位
RCA
723纳秒
1439纳秒
2879纳秒
SCA
454纳秒
454纳秒
454纳秒
        RCA:
        


        SCA:
        


        以上是,multisim 14的测试结果
        第四章:PCB实物验证延迟
        由于模拟软件的延迟测试,仅仅只能参考。
        计划利用74HC系列芯片,制作出RCA和SCA(本设计)的PCB电路板。使用示波器对两种加法器进行对比。
        SCA-4示波器测延迟:
        
        RCA-4示波器测延迟:
        
        实物图:
        
        中间两行是输入开关,为A1-4,B1-4D的输入,SW9为Cin。
        上半部分的5颗芯片,组成RCA-4,
        下半部分的6颗芯片,组成SCA-4。LED输出结果。
        开关向右波动为3V,开关向左波动为0V。
        图中A为1111,B为0000。输出LED显示1111。
        结果正确。
        已经试过所有的4位加法,全部正确。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1027215 发表于 2022-10-31 18:29 | 只看该作者
虽然通过protues7.8和multisim14的虚拟示波器测试了加法器速度。
但还是做出来pcb板,用真实的示波器测延迟了,但用的不好!也不会读数!
我接下来该怎么办(准确测量加法器速度的快慢)?
是使用Verilog时序仿真,还是怎么搞? 希望大家给点建议!谢谢了!
回复

使用道具 举报

板凳
ID:883242 发表于 2022-10-31 21:48 | 只看该作者
我觉得你的做法真没什么实际意义,跟74系列小规模集成电路搭建CPU一样无聊。

弄一个FPGA开发板,就算你不会Verilog也没问题,FPGA设计软件都是支持原理图的,也就是说你在仿真软件里面画的那些图,在FPGA软件里面一样可以画,下载后,一样可以用万用表来验证。

我觉得你实在是跑偏了,周围就没有懂点的人告诉你么?大学里面思路宽广的人太多了,你是毕业了吧?
回复

使用道具 举报

地板
ID:879348 发表于 2022-11-1 07:54 | 只看该作者
你这只是理论而已
回复

使用道具 举报

5#
ID:123289 发表于 2022-11-1 11:12 | 只看该作者
速度 = 距离/时间。
对于命题而言实际上是时间长短,而不存在距。
时间的长短认定,必须有起点和终点。
1、时间起始点在何处?
2、时间终止点在何处?
方案:
起点认定,需要你加一个信号,即认为输入数据稳定了,被确认的信号,建议用A、B栓锁信号认定。当A、B全部被确定后(栓锁),作为开始信号。
终止认定:应当是计算结果正确且稳定后,才能认定的终止。
应该取8位输出全部稳定(不再变化)的时刻作为终止点。这需要你对各种输入计算结果进行对比。取最不利的结果作为最终结果。
回复

使用道具 举报

6#
ID:1007932 发表于 2022-11-1 13:15 | 只看该作者
不太懂,据我所知,单纯的Verilog好像看不出来实际延时,要结合用的器件才行,直接用电路搭的外部因素很多,和FPGA内部也不一样,设计时应该是让一次数据处理的时间在一个时钟周期内完成,用流水线提高时钟频率,所有的运算都可以砍成几个步骤。
这么看来,只要提高时钟频率直到输出错误,应该就可以算出延时。
回复

使用道具 举报

7#
ID:1027215 发表于 2022-11-1 13:50 | 只看该作者
Hephaestus 发表于 2022-10-31 21:48
我觉得你的做法真没什么实际意义,跟74系列小规模集成电路搭建CPU一样无聊。

弄一个FPGA开发板,就算你 ...

我不认识电子专业的人。
做pcb是为了证明实际可以实现加法器功能,想用示波器测加法器的速度。
回复

使用道具 举报

8#
ID:1027215 发表于 2022-11-1 13:52 | 只看该作者
wufa1986 发表于 2022-11-1 07:54
你这只是理论而已

两个仿真软件和PCB,都证明了,加法器的功能是没有问题的。

仿真软件的虚拟示波器,测试出的数据,也呈现出与理论相同的增长比,就是不知道怎么更加精确的测量出加法器速度。
回复

使用道具 举报

9#
ID:1027215 发表于 2022-11-1 13:57 | 只看该作者
yzwzfyz 发表于 2022-11-1 11:12
速度 = 距离/时间。
对于命题而言实际上是时间长短,而不存在距。
时间的长短认定,必须有起点和终点。

【对各种输入计算结果进行对比】8位+8位,有256*256种加法,速度是不相同的。
但是一般可以分析出最大路径的那个,就能代表其他了。

我现在是不会用示波器,也没有一个精度很高的示波器。
回复

使用道具 举报

10#
ID:1050047 发表于 2022-11-1 14:23 | 只看该作者
速度 = 距离/时间。 对于命题而言实际上是时间长短,而不存在距。 时间的长短认定,必须有起点和终点。 1、时间起始点在何处? 2、时间终止点在何处? 方案: 起点认定,需要你加一个信号,即认为输入数据稳定了,被确认的信号,建议用A、B栓锁信号认定。当A、B全部被确定后(栓锁),作为开始信号。 终止认定:应当是计算结果正确且稳定后,才能认定的终止。 应该取8位输出全部稳定(不再变化)的时刻作为终止点。这需要你对各种输入计算结果进行对比。取最不利的结果作为最终结果。
回复

使用道具 举报

11#
ID:1027215 发表于 2022-11-1 14:40 | 只看该作者
1951387254 发表于 2022-11-1 14:23
速度 = 距离/时间。 对于命题而言实际上是时间长短,而不存在距。 时间的长短认定,必须有起点和终点。 1、 ...

【取最不利的结果作为最终结果。】
加法器里面有,最长路径的,这个是最慢的。只用测量这个的速度,就好了!
回复

使用道具 举报

12#
ID:401564 发表于 2022-11-1 15:14 | 只看该作者
你是做什么的?或者是说你要做什么?为什么对"加法器速度"如此的执着?
我个人认为,这种古怪的问题是由于新手刚刚学习某些专业,基础还没有打好,然后就自己想当然的去觉得应该这么这么的,然后就冒出一个问题来了
你仿真的时候,用的是理想元件,实际PCB的时候却并不是理想元件,误差肯定有的了
而且,你不会告诉我说,你用示波器不会看时间差吧?
而且,你这一堆操作的意义何在?是要看加法器的延时?还是说问题,本来就不是这个问题,"加法器延时"只是你自己觉得应该要看的?
回复

使用道具 举报

13#
ID:1027215 发表于 2022-11-1 17:04 | 只看该作者
Y_G_G 发表于 2022-11-1 15:14
你是做什么的?或者是说你要做什么?为什么对"加法器速度"如此的执着?
我个人认为,这种古怪的问题是由于新手 ...

我要做:一个拓扑结构和RCA一样简单的,晶体管数量少的,速度比CLA快的加法器。

只需要简单的并联,就能拼出32位,拼出64位的加法器,速度还要快过CLA【超前进位加法器】
回复

使用道具 举报

14#
ID:401564 发表于 2022-11-1 19:24 | 只看该作者
Ele_insect 发表于 2022-11-1 17:04
我要做:一个拓扑结构和RCA一样简单的,晶体管数量少的,速度比CLA快的加法器。

只需要简单的并联,就 ...

你的专业是什么?
FPGA还是嵌入式?
回复

使用道具 举报

15#
ID:1027215 发表于 2022-11-1 19:46 | 只看该作者
Y_G_G 发表于 2022-11-1 19:24
你的专业是什么?
FPGA还是嵌入式?

机械。。。加法器功能,我已经实现了。就缺最大延迟的测量了
回复

使用道具 举报

16#
ID:123289 发表于 2022-11-2 10:22 | 只看该作者
【加法器里面有,最长路径的,这个是最慢的。只用测量这个的速度,就好了!】
1、电速如光速,最长路径能比其它路径多几何哉!如何证明它是最慢的。
2、即使是最短的路径,如果其分布电容、电感大,也可能响应是最慢的。
3、如果不做对比,你如何知道8个位,哪个位最慢。况且数字不同,结果不同,不可能每次都是某位最慢。
比如,第3位,本次计算结果与上次不相同,而其它位本次计算结果与上次相同(即没有延时)!你能说第3位最慢吗?
4、许多变化还与邻近的线路相关,当相邻的线路稳定时,它不受干扰,而相邻线路波动时,它就被干扰了。也即不同的数据相加,某位受到的干扰不同,延时也会不同。要认定哪一位延时最多,是需要做整体数据验证的。不是你所想像地线路最长。
回复

使用道具 举报

17#
ID:1027215 发表于 2022-11-2 12:17 | 只看该作者
yzwzfyz 发表于 2022-11-2 10:22
【加法器里面有,最长路径的,这个是最慢的。只用测量这个的速度,就好了!】
1、电速如光速,最长路径能 ...

关于第一点:最长路径指的是门延迟最多的一条线,线延迟相对于门延迟要小很多!

关于第三点:不是8位对比的,8种情况。而是256*256=65536种情况(0到255分别加0到255),穷举法测量,那就太多了,只能靠FPGA写出加法器,再通过程序进行全面的测量时序了。

大致同意您的意见!
我现在应该买一块FPGA,然后写入我的设计,之后用程序测量吗?(FPGA测出的数据符合现实吗?)
这个好学吗?我就只用这一部分的东西,比较简单的!
回复

使用道具 举报

18#
ID:1027215 发表于 2022-11-3 10:47 | 只看该作者
本帖最后由 Ele_insect 于 2022-11-3 11:19 编辑

文章中,Multisim 的SCA-4图片错了!


回复

使用道具 举报

19#
ID:1042784 发表于 2022-11-6 21:01 | 只看该作者
加法器的速度翻倍,ALU的计算能力会不会翻倍?cpu的性能,能不能翻倍?

51单片机换上这个加法器,性能会翻倍吗?
回复

使用道具 举报

20#
ID:1027215 发表于 2022-11-7 10:44 | 只看该作者
风吹过后 发表于 2022-11-6 21:01
加法器的速度翻倍,ALU的计算能力会不会翻倍?cpu的性能,能不能翻倍?

51单片机换上这个加法器,性能会 ...

在微处理器芯片中,加法器是进行数字信号处理的核心,同时也是微处理器中进行数据处理的关键部件。
加法器完成一次操作的周期,基本上决定了微处理器的主频。加法器的速度和面积优化对于整个CPU的性能来说是非常重要的。为了加快加法器的执行速度,减少加法器的面积,有必要对加法器的算法、结构及电路的具体实现做深入的研究。
我现在就搞了一个晶体管数量少的,速度快的,S分段C覆盖并行加法器。
回复

使用道具 举报

21#
ID:1027215 发表于 2022-11-16 09:34 | 只看该作者
Ele_insect 发表于 2022-11-7 10:44
在微处理器芯片中,加法器是进行数字信号处理的核心,同时也是微处理器中进行数据处理的关键部件。
加法 ...

我自己觉得,这个加法器挺好的,能加快ALU的计算速度,提升CPU性能!
回复

使用道具 举报

22#
ID:1027215 发表于 2023-5-8 09:40 | 只看该作者
Ele_insect 发表于 2022-11-16 09:34
我自己觉得,这个加法器挺好的,能加快ALU的计算速度,提升CPU性能!

其实GPU的流处理器数量更多!我的2070显卡,就有2300个流处理器,也就是说,一个显卡里面可能会使用近万个加法器!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表