实验二 加法器.docx
《实验二 加法器.docx》由会员分享,可在线阅读,更多相关《实验二 加法器.docx(10页珍藏版)》请在冰豆网上搜索。
实验二加法器
本科学生综合性实验报告
学号114090317姓名李明旭
学院物电学院专业、班级11级电子班
实验课程名称电子设计自动化(EDA实验)
教师及职称罗永道(副教授)
开课学期2013至2014学年下学期
填报时间2014年05月09日
云南师范大学教务处编印
实验序号
2
实验名称
加法器
实验时间
2014年05月06日
实验室
同析3栋楼114
一.实验预习
1.实验目的:
(1)掌握半加器和全加器的工作原理;
(2)掌握VHDL编程语言的使用和设计方法;
(3)熟悉QuartusII软件的开发流程。
2.实验原理、实验流程或装置示意图:
2.1半加器
半加器(设此模块的器件名称是h_adder)的电路原理图如图1所示,半加器对应的逻辑真值表如图2所示。
此电路模块由两个基本逻辑门元件构成,即与门和异或门。
图中的a和b是是加数和被加数的数据输入端口;so是和值的数据输出端口;co则是进位数据的输出端口。
根据图1的电路结构,很容易获得半加器的逻辑表述是
;
图1半加器的电路结构
a
b
so
co
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
图2半加器的真值表
2.2全加器
全加器可以由两个半加器和一个或门连接而成,其经典的电路结构如图3所示。
此图右侧是全加器的实体模块,它显示了全加器的端口情况。
看来,设计全加器之前,必须首先设计好半加器和或门电路,把它们作为全加器的元件,再按照全加器的电路结构连接起来。
最后获得的全加器电路可称为顶层设计。
全加器所对应的真值表如图4所示。
图3全加器的电路结构
a
b
ci
so
co
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
图4全加器的真值表
3.实验设备及材料
电脑一台,QuartusII实验平台
4.实验方法步骤及注意事项
实验方法步骤:
(1)打开计算机;
(2)打开QuarturII软件,编写和调试实验代码,然后进行试验仿真。
注意事项:
实验过程中认真分析实验原理编写代码,防止书本、书包等物品与实验设备接触,以免造成不必要的麻烦。
二.实验内容
1.实验现象与结果
(1)半加器实验代码为:
libraryieee;
useieee.std_logic_1164.all;
entityh_adderis
port(a,b:
instd_logic;
co,so:
outstd_logic);
endentityh_adder;
architecturefh1ofh_adderis
begin
so<=not(axor(notb));co<=aandb;
endarchitecturefh1;
(2)半加器编译报告为:
(2)半加器仿真波形如下所示:
按照半加器的真值表输入a和b的值,运行仿真。
(4)半加器RTL图为:
(5)半加器符号图为:
(6)全加器实验VHDL代码为:
LIBRARYieee;
USEieee.std_logic_1164.all;
LIBRARYwork;
ENTITYf_adderIS
port
(
ain:
INSTD_LOGIC;
bin:
INSTD_LOGIC;
cin:
INSTD_LOGIC;
sun:
OUTSTD_LOGIC;
cout:
OUTSTD_LOGIC
);
ENDf_adder;
ARCHITECTUREbdf_typeOFf_adderIS
componenth_adder
PORT(a:
INSTD_LOGIC;
b:
INSTD_LOGIC;
co:
OUTSTD_LOGIC;
so:
OUTSTD_LOGIC
);
endcomponent;
signalSYNTHESIZED_WIRE_0:
STD_LOGIC;
signalSYNTHESIZED_WIRE_1:
STD_LOGIC;
signalSYNTHESIZED_WIRE_2:
STD_LOGIC;
BEGIN
b2v_inst:
h_adder
PORTMAP(a=>ain,
b=>bin,
co=>SYNTHESIZED_WIRE_2,
so=>SYNTHESIZED_WIRE_0);
b2v_inst1:
h_adder
PORTMAP(a=>SYNTHESIZED_WIRE_0,
b=>cin,
co=>SYNTHESIZED_WIRE_1,
so=>sun);
cout<=SYNTHESIZED_WIRE_1ORSYNTHESIZED_WIRE_2;
END;
(7)全加器编译报告为:
(8)全加器其仿真波形如下所示:
按照全加器的真值表输入a,b和c的值,运行仿真。
(9)全加器RTL图为:
(10)全加器符号图为:
2.对实验现象、实验结果的分析及其结论
在功能仿真文件中按照半加器和全加器的真值表分别输入对应的a,b和c值,运行仿真后,得出的c和o都与真值表完全对应。
则半加器和全加器的VHDL代码完全实现了加法器的设计。
在整个过程中自己也遇到了一些问题,比如文件名和顶层实体名不相同,造成无法编译,关键词的输入错误导致无法编译等问题在实验中都一一解决了。
教师评语及评分:
签名:
年月日