实验目的与要求
实验名称:全加器与广义译码器实验
实验原理
- 全加器
一位全加器是对两个1位二进制数进行相加并考虑来自低位的进位,求得和及向高位进位的逻辑电路,是算术运算电路的基本逻辑单元。
其逻辑真值表如表2-1所示。其中Ai、Bi是加数,
Ci-1是低位的进位数,Si是本位和值,Ci是向高位的进位数。
根据真值表,可以得到输入函数逻辑表达式如下:
实现一位全加器有很多种方法,例如可以由半加器组成。
表2-1 一位全加器的真值表
1.1半加器的设计
能对两个1位二进制数进行相加求和,并向高位进位的逻辑电路称为半加器。半加器只考虑两个1位二进制数的相加,而不考虑来自低位进位数据的运算电路。半加器真值表如表2-2所示,得到半加器的输出逻辑函数表达式如下,其中A、B是加数,so是本位相加和值,CO是向高位的进位数。
表2-2 一位半加器的真值表
1.2. 完成全加器的电路设计
根据全加器的真值表,输出逻辑表达式可以写为:
由此可见,全加器可以由两个半加器和一个或门组成,连接好电路并保存。
实验内容
包括:
- 使用门电路,设计一位半加器。使用Quartus II创建工程,编辑原理图,编译,编辑波形文件仿真,测试其功能,记录波形并说明仿真结果。
- 调用上述半加器元件,设计一位全加器。使用Quartus II创建工程,编辑原理图,编译,编辑波形文件仿真,测试其功能,记录波形并说明仿真结果。。
- 用HDL语言设计一个一位全加器,使用Quartus II 创建工程,用Verilog HDL语言设计电路,编译,编辑波形文件仿真,测试其功能,记录波形并说明仿真结果。
实验步骤、
1、设计半加器:在Quartus II中新建工程后,选择菜单File--New。在New窗口的Design Files页中选择Block Diagram/Schematic File原理图编辑窗口。
在弹出的原理图编辑窗连好如图2-1所示的电路图。
2、将半加器的原理图转化为电路元件:在完成了图2-1的文件编辑和存盘后,就要将其变成一个电路元件以备调用。方法如图2-2所示,选择菜单File—Create/Update——Creat Symbol Files…。这时Quartus首先对文件进行检查,如果没有错误,就会将其转化为一个元件,放在当前工程库中,即放在文件夹d:\MY_PROJECT中
3、完成全加器的电路设计:新建一个原理图编辑窗口,双击原理图编辑窗的任何空白位置,即能打开元件调用窗。单击左上Libraries栏的Project里面将出现已转换好的元件的元件名add(图2-3)。按OK按钮,将此元件调入原理图。
根据全加器的真值表,输出逻辑表达式可以写为:
由此可见,全加器可以由两个半加器和一个或门组成,如图2-4所示。连接好电路并保存。
4、用HDL表述:在Quartus II中新建工程后,选择菜单File--New。在New窗口的Design Files页中选择Verilog HDL File的HDL文本编辑器。
在弹出的文本编辑窗中键入如图2-5所示的程序,并以DECD38文件名存盘。该程序实际上就是译码器真值表的一种表述。事实上,如果有了真值表,就可以模仿图2-5右栏的格式,将对应的数据填入到图2-5所示的“表”中。此“表”的其他表述可以基本保持不变。
关键设计原理图、
仿真波形、
实验结果分析:
图一半加器的波形符合真值表,ab输入全为0则输出全为0,ab中有有一个为1,则CO为0,S为1,AB都为1,则CO出1,S为0
图二符合全加器的逻辑:
总结与体会
对这一次实验的学习总结、对实验的建议、实验体会。
这次学习了半加器与全加器的设计,明白了如何将已经设计好的电路进行封装,封装成为元器件,同时学习了HDL表述,通过代码来设计电路,收获巨大。
完整的实验代码我已经上传到百度网盘,可以点此链接下载:
链接: https://pan.baidu.com/s/1RaVSUhfOxdoN0AsGobBceA 提取码: tkkf 复制这段内容后打开百度网盘手机App,操作更方便哦