Labview设计计算机--加法器(1)

首先,需要说明电路中常用的两个概念–组合逻辑电路和时序逻辑电路;

组合逻辑电路的输出仅与输入有关,当输入发生变化时,输出几乎立刻发生变化;
时序逻辑电路的输出不仅与当前输入有关,还与电路过去的状态有关,具有一定的记忆能力,通常由一个时钟驱动;

加法器是一个简单的运算部件;
加法器的结构由简单到复杂分别为:半加器→全加器→8位加法器→32位加法器;
现在,通过LabView按从简单到复杂来构造一个32位的加法器;
本篇主要构造半加器与全加器;

半加器

半加器的真值表如下图所示,其中iA、iB为输入;oS为和,oCarry为进位输出;

iAiBoSoCarry
0000
0110
1010
1101

逻辑表达式为:
oS=iA⊕iB;其中⊕为异或运算符;
oCarry=iA·iB;
Labview的程序框图为:
半加器程序框图
注:上图两个运算符为:
这里写图片描述

前面板的运算结果有:
这里写图片描述
表示iA为0,iB为1,则oS为1,oC为0;
将该半加器做成一个子函数,记为HalfAdd,输入为iA、iB,输出为oS、oC;

全加器

全加器与半加器的主要区别是全加器多了一个输入iCarry,代表低位进位;
全加器的真值表如下图所示,其中iA、iB为输入,iCarry为进位;oS为和,oCarry为本级进位;

iAiBiCarryoSoCarry
00000
00110
01010
01101
10010
10101
11001
11111

用逻辑表达式表示为:
oS=(iA⊕iB)⊕iCarry;该表达式称为和表达式;

oCarry=iA·iB+(iA⊕iB)·iCarry;
其中可将iA·iB记为G,称为本地进位函数,将iA⊕iB记为P,称为进位传递函数

iA⊕iB为半加器的oS,iA·iB为半加器的oCarry;
Labview的程序框图为:
这里写图片描述
图中的两个自定义函数即为半加器函数;
其前面板的结果有:
这里写图片描述
表示当iA、iCarry为1,iB为0时,oS=0、oCarry=1;
也可将该全加器做成一个子函数,即为FullAdd,输入为iA、iB和iCarry,输出为oS、oCarry;

现在,通过Labview的逻辑运算符完成了半加器与全加器的构建,后续的8位加法器,16位加法器等都是以全加器为基础构建而成;

另外说明,Labview是一种G语言,是一种积木式的很好玩的语言,适合直观的构建计算机系统部件,与HDL中的网表类似,但比那个好玩,故选择用Labview来进行计算机组成实验;

后续的内容有组成一个最简单的计算机,在其上覆盖一个多道操作系统;并完成一个类C编译器;如果能坚持完成上述几个“小目标”,完成部分TCP/IP协议栈;

由于能力有限,该系列文章是主要是用于对自己学习的总结以及以后的复习,其中有许多的观点可能有错,望大牛指正,不胜感激!!!
也希望有共同爱好的同学一起学习;

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值