实验一 1位二进制全加器的设计

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

龙岩学院实验报告

班级学号姓名同组人

实验日期室温大气压成绩

实验题目:基于原理图输入法的1位二进制全加器的设计

一、实验目的

1、学习、掌握QuartusⅡ开发平台的基本使用。

2、学习基于原理图输入设计法设计数字电路的方法,能用原理图输入设计法

设计1位二进制半加器、1位二进制全加器。

3、学习EDA-V型实验系统的基本使用方法。

二、实验仪器

装有QuartusⅡ软件的计算机一台、EDA系统实验箱、导线若干

三、实验原理

半加器只考虑两个1位二进制数相加,而不考虑低位进位数相加。半加器的逻辑函数

式中A和B是两个相加的二进制数,S是半加和,C是向高位的进位数。表1为半加器真值表。

表1

A B C S

0 0 0 0

0 1 0 1

1 0 0 1

1 1 1 0

显然,异或门具有半加器求和的功能,与门具有进位功能。

其逻辑图跟逻辑符号如下图:

全加器除了两个1位二进制数相加以外,还与低位向本位的进位数相加。表2为全加器的真值表。

表2

A i B

i

C

I-1

C

i

S

0 0 0 0 0

0 0 1 0 1

0 1 0 0 1

0 1 1 1 0

1 0 0 0 1

1 0 1 1 0

1 1 0 1 0

1 1 1 1 1 由真值表可得出逻辑函数式

式中,A

i 和B

i

是两个相加的1为二进制数,C

i-1

是由相邻低位送来的进位数,

S I 是本位的全加和,C

I

是向相邻高位送出的进位数。其逻辑图跟逻辑符号如下图所示:

四、实验内容

1、根据1位二进制半加器、1位二进制全加器的真值表,设计并画出1位二进制半加器的原理框图,由半加器及门电路设计并画出1位二进制全加器的原理框图(最终设计的是1位二进制全加器)。

2、用QuartusⅡ原理图输入输入法输入1位二进制半加器的原理框图,并进行编译。如有输入错误,修改后再进行编译。

4、根据1位二进制半加器的工作原理,选择输入合适的输入信号和波形及其

输出信号,进行仿真,得到器件的输入与输出波形,验证设计是否正确。

5、创建1位二进制半加器的的元件图形符号。

6、用QuartusⅡ原理图输入输入法输入1位二进制半加器的原理框图(要求

用半加器及门电路设计),并进行编译,仿真。

7、确定实验箱电源关闭的情况下,连接好下载线,然后打开实验箱电源,对器件进行编程下载。

8、编程下载成功后,关闭实验箱电源,拆除下载线,按器件引脚设定及功能要求,连接好各测试线,进行硬件测试验证。

五、实验步骤

1、半加器的设计

(1)、原理图

(2)一位半加器的仿真结果如下图所示:

(3)建立一位半加器half_adder工程

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY HALF_ADDER IS

PORT(A,B: IN STD_LOGIC;

S,Co: OUT STD_LOGIC);

END ENTITY HALF_ADDER;

ARCHITECTURE RTL OF HALF_ADDER IS

--SIGNAL ABC:STD_LOGIC_VECTOR(1 DOWNTO 0);

BEGIN

S <= NOT(A XOR(NOT B));

Co <= A AND B;

END ARCHITECTURE HD;

2、全加器的设计

(1)将半加器设置为部件

执行菜单【File】->【Create/Update】->【Create symbol file for current file】

(2)完成部件连接

(3)全加器的VHDL语言

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY FULL_ADDER IS

PORT(A,B,Ci: IN STD_LOGIC;

S,Co: OUT STD_LOGIC);

END FULL_ADDER;

ARCHITECTURE FD1 OF FULL_ADDER IS COMPONENT HALF_ADDER

PORT(A,B: IN STD_LOGIC;

S,CO: OUT STD_LOGIC);

END COMPONENT;

SIGNAL T1,T2,T3: STD_LOGIC;

BEGIN

U1: HALFADD PORT MAP( A=>A,B=>B,S=>T1,CO=>T2); U2: HALFADDPORT MAP( A=>CI,B=>T1,S=>S,CO=>T3);

相关文档
最新文档