半加器
预备知识 半加器是与门和异或门的组合电路
异或门
1 异或门定义
异或门是实现异或运算的数字单元电路,所谓异或运算是指在只有两个输入变量A、B的电路中,当A 和B取值不同时输出为1,否则输出为0。
2 异或门逻辑函数表达式
其中表示异或,+表示与
3 异或门可以用与门,非门和或门的组合来实现,
其组合逻辑电路 见图1.0
图1.0
其中 表示或门 表示非门 表示与门
4 异或门真值表
异或门真值表
5 异或门的逻辑符号
为数字逻辑中的符号 为软件中的符号
二 半加器知识介绍
1.半加器定义
半加器能实现两个一位二进制数的算术加法及向高位进位,而不考虑低位进位的逻辑电路。它有两个输入端,两个输出端。半加器用异或门及与门来实现。
2. 真值表
两个一位二进制半加器的运算类似于十进制运算,区别是二进制半加器是逢2向高位进一,十进制是逢十向高位进一。两个一位二进制半加器的运算法则为 0+0=0;1+0=1;0+1=1;1+1=0,同时向高位进1.
根据两个一位二进制半加器的运算法则,我们得出其真值表,如下:
半加器的真值表中两个输入是加数A和B,输出有一个是和数C,另一个是进位数D。
被加数A | 加数B | 和数C | 进位数D |
0 | 0 | 0 | 0 |
0 | 如何快速减肚子 1 | 1 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
| | | |
3. 输出逻辑表达式
通过观测真值表很容易看出:12月1号是什么星座A,B相异时,输出和数C为1;A,B相同时,输出和数C为0;A,B都为1时,输出进位数D为1;否则输出进位数D为0.据此我们得出如下:
C=AB,D=A•B 注 :表示异或,•表示与
4.半加器的逻辑电路图
图2.0
其中 为异或符号 为与符号
5功能仿真图
功能仿真又叫逻辑仿真,是指在不考虑器件延时和布线延时的理想情况下对源代码进行逻辑功能的验证。
图3.0
加数A为1,被加数B为0时,输出和数C为1,进位数D为0;加数A为1,被加数B为1时,输出和数C为难忘的一节课作文0,进位数D为1;加数A为0,被加数全国翻译资格考试1为0时,输出和数C为1,进位数D为0;加数A为0,被加数B为0时,输出和数C为0,进位数D为0;
6 时序仿真图
时序仿真是在将设计适配到芯片后的仿真验证方式。时序仿真在严格的仿真时间模-x#s:^,~_[181670型下,模拟芯片的实际运作。仿真时间模型将最基本的门级时延计算在内,从而可有_Y_k9d1W;n_r;I_v I/m181670效地分析出设计中的竞争和冒险。经过时序仿真验证后的设计基本上与实际电路是一致历史揭秘
T_x_Me+n
?0m!X_g181670的。
三 实验步骤(本实验用VHDL文本语言实现半加器,当然也可用Quartus的图形输入法实现如图2.0的半加器功能)
1. 下面我们建立一个半加器的VHDL工程
1)选择 开始 > 程序 > Altera > QuartusII5.1,运行QUARTUSII软件。或者双击桌面上的QUARTUSII的图标运行QUARTUSII软件,出现如图1-3所示。
朱祁镇朱祁钰
图1-3 QUARTUSII软件运行界面
2)选择软件中的菜单File > New Project Wizard,新建一个工程。如图1-4所示。
图1-4 新建工程对话框
3)点击图1-4中的NEXT进入工作目录,工程名的设定对话框如图哈尔滨文庙1-5所示。第一个输入框为工程目录输入框,用户可以输入如e:/eda等工作路径来设定工程的目录,设定好后,所有的生成文件将放入这个工作目录。第二个输入框为工程名称输入框,第三个输入框为顶层实体名称输入框。用户可以设定如EXP1秋天的作文,一般情况下工程名称与实体名称相同。使用者
也可以根据自已的实际情况来设定工程名和顶层文件名。注:本处的顶层文件名必须和程序的实体名一致,否则编译会出错。
图1-5 指定工程名称及工作目录