半加器全加器的工作原理和设计方法实验报告.docx
- 文档编号:24332510
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:8
- 大小:62.88KB
半加器全加器的工作原理和设计方法实验报告.docx
《半加器全加器的工作原理和设计方法实验报告.docx》由会员分享,可在线阅读,更多相关《半加器全加器的工作原理和设计方法实验报告.docx(8页珍藏版)》请在冰豆网上搜索。
半加器全加器的工作原理和设计方法实验报告
半加器全加器的工作原理和设计方法实验报告
一、实验目的
1、学习和掌握半加器全加器的工作原理和设计方法。
2、熟悉EDA工具QuartusII的使用,能够熟练运用VrilogHDL语言在
QuartusII下进行工程开发、调试和仿真。
3、掌握组合逻辑电路在QuartusⅡ中的图形输入方法及文本输入方法,
掌握层次化设计方法。
4、掌握半加器、全加器采用不同的描述方法。
二、实验内容
1、完成半加器全加器的设计,包括原理图输入,编译、综合、适配、仿真等。
并将半加器电路设
置成一个硬件符号入库
2、建立更高层次的原理图设计,利用1位半加器构成1位全加器,并完成编译、综合、适配、仿真并硬件测试
3、采用图形输入法设计1位加法器分别采用图形输入和文本输入方法,设计全加器
4、实验报告:
详细叙述1位全加法器的设计流程,给出各层次的原理图及其对应的仿真波形图,给出加法器的上时序分析情况,最后给出硬件测试流程和结果。
三、实验步骤
1、建立一个Project。
2、编辑一个VHDL程序,要求用VHDL结构描述的方法设计一个半加器
3、对该VHDL程序进行编译,修改错误。
4、建立一个波形文件。
(根据真值表)
5、对该VHDL程序进行功能仿真和时序仿真
四、实验现象
任务1:
半加器真值表描述方法
代码如下:
半加器是只考虑两个加数本身,而不考虑来自低位进位的逻辑电路
S=
B+A
CO=AB
代码如下:
LIBRARYIEEE;--行为描述半加器
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYh_adderIS
PORT(a,b:
INSTD_LOGIC;
so,co:
OUTSTD_LOGIC);
ENDh_adder;
ArchitectureFH1OFh_adderIS
Signalabc:
STD_LOGIC_vector(1downto0);
Begin
abc<=a&b;--并
Process(abc)--进程
begin
caseabcis
WHEN"00"=>SO<='0';CO<='0';
WHEN"01"=>SO<='1';CO<='0';
WHEN"10"=>SO<='1';CO<='0';
WHEN"11"=>SO<='0';CO<='1';
WHENOTHERS=>NULL;
ENDCASE;
ENDPROCESS;
ENDARCHITECTUREFH1;
结果如下:
任务2:
二进制加法运算规则描述
代码如下:
LIBRARYIEEE;--行为描述(抽象描述结构体的功能)
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYh_adder2is--半加器
PORT(A,B:
INSTD_LOGIC;
S,C0:
OUTSTD_LOGIC);
ENDh_adder2;
ARCHITECTUREbe_half_adderOFh_adder2IS
BEGIN
PROCESS(A,B)
BEGIN
IF(A='0'ANDB='0')THENS<='0';C0<='0';
ELSIF(A='0'ANDB='1')THEN
S<='1';C0<='0';
ELSIF(A='1'ANDB='0')THENS<='1';C0<='0';
ELSE
S<='0';C0<='1';
ENDIF;
ENDPROCESS;
ENDbe_half_adder;
结果如下:
任务3:
按逻辑表达式设计
代码如下:
LIBRARYIEEE;--行为描述半加器(按逻辑表达式)
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYh_adder3IS
PORT(a,b:
INSTD_LOGIC;
so,co:
OUTSTD_LOGIC);
ENDh_adder3;
ArchitectureFH1OFh_adder3IS
Begin
so<=aXORb;
co<=aANDb;
ENDARCHITECTUREFH1;
结果如下:
任务4:
用基本单元电路与或非描述半加器
代码如下:
libraryIEEE;
useIEEE.STD_LOGIC_1164.all;
entityh_adder4is
port(a:
inSTD_LOGIC;
b:
inSTD_LOGIC;
sum:
outSTD_LOGIC;
co:
outSTD_LOGIC);
endh_adder4;
architecturech4ofh_adder4is
signalc,d:
std_logic;
begin
c<=aorb;
d<=anandb;
co<=notd;
sum<=candd;
endarchitecturech4;
结果如下:
任务5:
结构描述
代码如下:
--h_adder5
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYh_adder5IS
PORT(A,B:
INSTD_LOGIC;
co,s:
OUTSTD_LOGIC);
ENDENTITYh_adder5;
ARCHITECTUREmixOFh_adder5IS
COMPONENTxor21IS
PORT(i0,i1:
INSTD_LOGIC;
q:
OUTSTD_LOGIC);
ENDCOMPONENT;
BEGIN
co<=AANDB;
u1:
xor21PORTMAP(i0=>A,i1=>B,q=>s);--例化
ENDARCHITECTUREmix;
--xor21
--half_adder半加器,结构描述
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYxor21IS
PORT(i0,i1:
INSTD_LOGIC;
q:
OUTSTD_LOGIC);
ENDENTITYxor21;
ARCHITECTUREbehavOFxor21IS
BEGIN
q<=i0XORi1;
ENDARCHITECTUREbehav;
结果如下:
五、实验体会
通过这次实验,复习了VHDL语言的应用,通过五种不同的方式,进行半加器的设计,加深了对半加器的理解,及对五种方法的运用,真值表描述方法、二进制加法运算规则描述、按逻辑表达式设计、用基本单元电路与或非描述半加器、结构描述。
尤其在结构描述,元件例化部分,有了更好的理解和掌握。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 半加器 全加器 工作 原理 设计 方法 实验 报告