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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、实验目

1、学习和掌握半加器全加器工作原理和设计办法。

2、熟悉EDA工具Quartus II使用,可以纯熟运用Vrilog HDL语言在

Quartus II下进行工程开发、调试和仿真。

3、掌握组合逻辑电路在Quartus Ⅱ中图形输入办法及文本输入办法,

掌握层次化设计办法。

4、掌握半加器、全加器采用不同描述办法。

二、实验内容

1、完毕半加器全加器设计,涉及原理图输入,编译、综合、适配、仿真等。并将半加器电路设

置成一种硬件符号入库

2、建立更高层次原理图设计,运用1位半加器构成1位全加器,并完毕编译、综合、适配、仿真

并硬件测试

3、采用图形输入法设计1位加法器分别采用图形输入和文本输入办法,设计全加器

4、实验报告:详细论述1位全加法器设计流程,给出各层次原理图及其相应仿真波形图,给出加

法器上时序分析状况,最后给出硬件测试流程和成果。

三、实验环节

1、建立一种Project。

2、编辑一种VHDL程序,规定用VHDL构造描述办法设计一种半加器

3、对该VHDL程序进行编译,修改错误。

4、建立一种波形文献。(依照真值表)

5、对该VHDL程序进行功能仿真和时序仿真

四、实验现象

任务1:半加器真值表描述办法 代码如下:

半加器是只考虑两个加数自身,而不考虑来自低位进位逻辑电路 S=A B+A B 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 IS

Signal abc:STD_LOGIC_vector(1 downto 0); Begin

abc<=a&b ; --并 Process(abc) --进程 begin case abc is

逻辑图

半加器真值表

A i

B i S i

C i 0 0 0 1 1 0 1 1

0 0 1 0 1 0 0 1

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 IS

BEGIN

PROCESS(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 IS

Begin

so<=a XOR b ;

co<=a AND b;

END ARCHITECTURE FH1;

成果如下:

任务4:用基本单元电路与或非描述半加器代码如下:

library IEEE;

use IEEE.STD_LOGIC_1164.all;

entity h_adder4 is

port(a:in STD_LOGIC;

b:in STD_LOGIC;

sum:out STD_LOGIC;

co:out STD_LOGIC );

end h_adder4;

architecture ch4 of h_adder4 is

signal c,d:std_logic;

begin

c<=a or b;

d<=a nand b;

co<=not d;

sum<=c and d;

end architecture ch4;

成果如下:

任务5 :构造描述

代码如下:

--h_adder5

LIBRARY 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;

相关文档
最新文档