文档详情

半加器全加器的工作原理和设计方法实验报告.doc

公****
实名认证
店铺
DOC
125.50KB
约6页
文档ID:395266850
半加器全加器的工作原理和设计方法实验报告.doc_第1页
1/6

一、实验目的 1、学习和掌握半加器全加器的工作原理和设计方法 2、熟悉EDA工具Quartus II的使用,能够熟练运用Vrilog HDL语言在 Quartus II下进行工程开发、调试和仿真 3、掌握组合逻辑电路在Quartus Ⅱ中的图形输入方法及文本输入方法, 掌握层次化设计方法 4、掌握半加器、全加器采用不同的描述方法二、实验内容 1、完成半加器全加器的设计,包括原理图输入,编译、综合、适配、仿真等并将半加器电路设置成一个硬件符号入库2、建立更高层次的原理图设计,利用1位半加器构成1位全加器,并完成编译、综合、适配、仿真并硬件测试3、采用图形输入法设计1位加法器分别采用图形输入和文本输入方法,设计全加器4、实验报告:详细叙述1位全加法器的设计流程,给出各层次的原理图及其对应的仿真波形图,给出加法器的上时序分析情况,最后给出硬件测试流程和结果三、实验步骤1、建立一个Project2、编辑一个VHDL程序,要求用VHDL结构描述的方法设计一个半加器3、对该VHDL程序进行编译,修改错误 4、建立一个波形文件根据真值表)5、对该VHDL程序进行功能仿真和时序仿真四、实验现象任务1:半加器真值表描述方法代码如下:半加器是只考虑两个加数本身,而不考虑来自低位进位的逻辑电路S=B+A CO=AB逻辑图代码如下:LIBRARY IEEE; --行为描述半加器USE IEEE.STD_LOGIC_1164.ALL;ENTITY h_adder IS PORT(a,b:IN STD_LOGIC;so,co:OUT STD_LOGIC); END h_adder; Architecture FH1 OF h_adder ISSignal abc:STD_LOGIC_vector(1 downto 0); Begin abc<=a&b; --并Process(abc) --进程begin case abc is WHEN "00"=>SO<='0';CO<='0'; WHEN "01"=>SO<='1';CO<='0'; WHEN "10"=>SO<='1';CO<='0'; WHEN "11"=>SO<='0';CO<='1'; WHEN OTHERS =>NULL;END CASE;END PROCESS;END ARCHITECTURE FH1;结果如下:任务2:二进制加法运算规则描述代码如下:LIBRARY IEEE;--行为描述(抽象描述结构体的功能)USE IEEE.STD_LOGIC_1164.ALL;ENTITY h_adder2 is --半加器PORT(A,B:IN STD_LOGIC; S,C0:OUT STD_LOGIC);END h_adder2;ARCHITECTURE be_half_adder OF h_adder2 ISBEGINPROCESS(A,B)BEGIN IF(A='0' AND B='0') THEN S<='0';C0<='0';ELSIF(A='0' AND B='1') THEN S<='1';C0<='0';ELSIF(A='1' AND B='0') THEN S<='1';C0<='0';ELSE S<='0';C0<='1';END IF;END PROCESS;END be_half_adder;结果如下:任务3: 按逻辑表达式设计代码如下:LIBRARY IEEE; --行为描述半加器(按逻辑表达式)USE IEEE.STD_LOGIC_1164.ALL;ENTITY h_adder3 IS PORT(a,b:IN STD_LOGIC; so,co:OUT STD_LOGIC); END h_adder3; Architecture FH1 OF h_adder3 ISBegin so<=a XOR b ; co<=a AND b; END ARCHITECTURE FH1;结果如下:任务4:用基本单元电路与或非描述半加器代码如下:library IEEE;use IEEE.STD_LOGIC_1164.all;entity h_adder4 isport(a:in STD_LOGIC; b:in STD_LOGIC; sum:out STD_LOGIC; co:out STD_LOGIC );end h_adder4;architecture ch4 of h_adder4 issignal c,d:std_logic;beginc<=a or b;d<=a nand b;co<=not d;sum<=c and d;end architecture ch4;结果如下:任务5 :结构描述代码如下:--h_adder5LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY h_adder5 IS PORT(A,B:IN STD_LOGIC; co,s: OUT STD_LOGIC);END ENTITY h_adder5;ARCHITECTURE mix OF h_adder5 IS COMPONENT xor21 IS PORT(i0,i1:IN STD_LOGIC; q:OUT STD_LOGIC); END COMPONENT; BEGIN co<=A AND B; u1: xor21 PORT MAP(i0=>A,i1=>B,q=>s); --例化 END ARCHITECTURE mix;--xor21--half_adder半加器,结构描述LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY xor21 IS PORT(i0,i1:IN STD_LOGIC; q: OUT STD_LOGIC);END ENTITY xor21;ARCHITECTURE behav OF xor21 IS BEGIN q<=i0 XOR i1; END ARCHITECTURE behav;结果如下:五、实验体会通过这次实验,复习了VHDL语言的应用,通过五种不同的方式,进行半加器的设计,加深了对半加器的理解,及对五种方法的运用,真值表描述方法、二进制加法运算规则描述、按逻辑表达式设计、用基本单元电路与或非描述半加器、结构描述。

尤其在结构描述,元件例化部分,有了更好的理解和掌握。

下载提示
相似文档
正为您匹配相似的精品文档