当前位置:首页 > 电子/通信 > 综合/其它 > 半加器全加器的工作原理和设计方法实验报告
一、实验目的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=AB+ABCO=AB代码如下:LIBRARYIEEE;--行为描述半加器USEIEEE.STD_LOGIC_1164.ALL;ENTITYh_adderISPORT(a,b:INSTD_LOGIC;so,co:OUTSTD_LOGIC);ENDh_adder;ArchitectureFH1OFh_adderISSignalabc:STD_LOGIC_vector(1downto0);Beginabc=a&b;--并Process(abc)--进程begincaseabcisWHEN00=SO='0';CO='0';WHEN01=SO='1';CO='0';WHEN10=SO='1';CO='0';WHEN11=SO='0';CO='1';WHENOTHERS=NULL;ENDCASE;ENDPROCESS;ENDARCHITECTUREFH1;结果如下:逻辑图半加器真值表AiBiSiCi0001101100101001任务2:二进制加法运算规则描述代码如下:LIBRARYIEEE;--行为描述(抽象描述结构体的功能)USEIEEE.STD_LOGIC_1164.ALL;ENTITYh_adder2is--半加器PORT(A,B:INSTD_LOGIC;S,C0:OUTSTD_LOGIC);ENDh_adder2;ARCHITECTUREbe_half_adderOFh_adder2ISBEGINPROCESS(A,B)BEGINIF(A='0'ANDB='0')THENS='0';C0='0';ELSIF(A='0'ANDB='1')THENS='1';C0='0';ELSIF(A='1'ANDB='0')THENS='1';C0='0';ELSES='0';C0='1';ENDIF;ENDPROCESS;ENDbe_half_adder;结果如下:任务3:按逻辑表达式设计代码如下:LIBRARYIEEE;--行为描述半加器(按逻辑表达式)USEIEEE.STD_LOGIC_1164.ALL;ENTITYh_adder3ISPORT(a,b:INSTD_LOGIC;so,co:OUTSTD_LOGIC);ENDh_adder3;ArchitectureFH1OFh_adder3ISBeginso=aXORb;co=aANDb;ENDARCHITECTUREFH1;结果如下:任务4:用基本单元电路与或非描述半加器代码如下:libraryIEEE;useIEEE.STD_LOGIC_1164.all;entityh_adder4isport(a:inSTD_LOGIC;b:inSTD_LOGIC;sum:outSTD_LOGIC;co:outSTD_LOGIC);endh_adder4;architecturech4ofh_adder4issignalc,d:std_logic;beginc=aorb;d=anandb;co=notd;sum=candd;endarchitecturech4;结果如下:任务5:结构描述代码如下:--h_adder5LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYh_adder5ISPORT(A,B:INSTD_LOGIC;co,s:OUTSTD_LOGIC);ENDENTITYh_adder5;ARCHITECTUREmixOFh_adder5ISCOMPONENTxor21ISPORT(i0,i1:INSTD_LOGIC;q:OUTSTD_LOGIC);ENDCOMPONENT;BEGINco=AANDB;u1:xor21PORTMAP(i0=A,i1=B,q=s);--例化ENDARCHITECTUREmix;--xor21--half_adder半加器,结构描述LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYxor21ISPORT(i0,i1:INSTD_LOGIC;q:OUTSTD_LOGIC);ENDENTITYxor21;ARCHITECTUREbehavOFxor21ISBEGINq=i0XORi1;ENDARCHITECTUREbehav;结果如下:五、实验体会通过这次实验,复习了VHDL语言的应用,通过五种不同的方式,进行半加器的设计,加深了对半加器的理解,及对五种方法的运用,真值表描述方法、二进制加法运算规则描述、按逻辑表达式设计、用基本单元电路与或非描述半加器、结构描述。尤其在结构描述,元件例化部分,有了更好的理解和掌握。
本文标题:半加器全加器的工作原理和设计方法实验报告
链接地址:https://www.777doc.com/doc-2642599 .html