实验一 八位全加器的设计

  • 格式:pdf
  • 大小:301.89 KB
  • 文档页数:6

电子科技大学 电子工程 学院

标 准 实 验 报 告

(实验)课程名称 EDA技术与应用

**:**

学号:*************

****:**

电子科技大学教务处制表 实验一 八位全加器的设计

一、 预习内容

1. 结合教材中的介绍熟悉QuartusⅡ软件的使用及设计流程;

2. 八位全加器设计原理。

二、实验目的

1. 掌握图形设计方法;

2. 熟悉QuartusⅡ软件的使用及设计流程;

3. 掌握全加器原理,能进行多位加法器的设计。

三、实验器材

PC机一台、EDA教学实验系统一台、下载电缆一根(已接好)、导线若

四、实验要求

1、用VHDL设计一个四位并行全加器;

2、用图形方式构成一个八位全加器的顶层文件;

3、完成八位全加器的时序仿真。

五、实验原理与内容

1、原理:

加法器是数字系统中的基本逻辑器件。例如:为了节省资源,减法器

和硬件乘法器都可由加法器来构成。但宽位加法器的设计是很耗费资源的,

因此在实际的设计和相关系统的开发中需要注意资源的利用率和进位速度

等两方面的问题。多位加法器的构成有两种方式:并行进位和串行进位方

式。并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式

是将全加器级联构成多位加法器。通常,并行加法器比串行级联加法器占

用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法

器的资源占用差距也会越来越大。

实验表明,4 位二进制并行加法器和串行级联加法器占用几乎相同的

资源。这样,多位数加法器由4 位二进制并行加法器级联构成是较好的折

中选择。因此本实验中的8 位加法器采用两个4位二进制并行加法器级联而

成。 2、实现框图:

1)四位加法器

四位加法器可以采用四个一位全加器级连成串行进位加法器,实现框

图如下图所示,其中CSA为一位全加器。显然,对于这种方式,因高位运

算必须要等低位进位来到后才能进行,因此它的延迟非常可观,高速运算

肯定无法胜任。

通过对串行进位加法器研究可得:运算的延迟是由于进位的延迟。因

此,减小进位的延迟对提高运算速度非常有效。下图是减少了进位延迟的

一种实现方法。可见,将迭代关系去掉,则各位彼此独立,进位传播不复

存在。因此,总的延迟是两级门的延迟,其高速也就自不待言。

2)八位加法器

用两个并行四位加法器实现一个八位加法器的框图如下:

四位全加器Cin

DataInA[3:0]

DataINB[3:0]DataOut[3:0]

四位全加器Cin

DataInA[7:4]

DataINB[7:4]DataOut[7:4]Cout

Cout

六、实验步骤

1、 用VHDL语言或图形输入法设计一个并行四位全加器;

2、 利用步骤一得到的四位全加器使用图形输入法实现一个8位全加器;

3、 对最后的顶层文件进行编译、仿真;

4、 如果时间有余可以直接设计一个八位的串行全加器,比较上述两种方法

综合后的不同(主要从消耗资源和运算速度考虑)。

七、实验源程序、编译报告及仿真波形

源程序:

1、并行四位全加器源程序

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY ADD_4BIT IS

PORT(C4:IN STD_LOGIC;

A4:IN STD_LOGIC_VECTOR(3 DOWNTO 0);

B4:IN STD_LOGIC_VECTOR(3 DOWNTO 0);

S4:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);

CO4:OUT STD_LOGIC);

END ENTITY ADD_4BIT;

ARCHITECTURE ART OF ADD_4BIT IS

SIGNAL S5:STD_LOGIC_VECTOR(4 DOWNTO 0);

SIGNAL A5,B5:STD_LOGIC_VECTOR(4 DOWNTO 0);

BEGIN

A5<='0'&A4;

B5<='0'&B4;

S5<=A5+B5+C4;

S4<=S5(3 DOWNTO 0);

CO4<=S5(4);

END ARCHITECTURE ART; 2、使用并行四位全加器构成的8位全加器图形

仿真波形:

八、结果分析及心得体会

从仿真波形可以看出,本设计符合8位全加器的要求,由于是时序仿真,我们

可以看到输出总有些许延迟,而且能看到输入改变的时候,输出会产生毛刺。

通过本次实验,初步学习了Quartus II 软件的使用,应用了VHDL语言进

行了编程,巩固了理论知识。由于课前没有预习,造成上手有点慢,下次上课前

一定好好预习。

九、思考题

利用8 位二进制加法器为基本元件构成的8位减法器图形如下。

VCCCinINPUT

VCCDataInA[3..0]INPUT

VCCDataInB[3..0]INPUT

VCCDataInA[7..4]INPUT

VCCDataInB[7..4]INPUTCoutOUTPUTDataOut[3..0]OUTPUT

DataOut[7..4]OUTPUTC4A4[3..0]B4[3..0]S4[3..0]CO4ADD_4BIT

inst1

C4A4[3..0]B4[3..0]S4[3..0]CO4ADD_4BIT

inst2

补充说明:add_8bit为本实验中设计的8位全加器;A为8位无符号被减数,B为8位

无符号减数,CP为输入借位信号,C为差,D为输出借位信号(低有效)。

CinDataInA[3..0]DataInB[3..0]DataInA[7..4]DataInB[7..4]DataOut[3..0]DataOut[7..4]Coutadd_8bit

instNOTinst1NOTinst2NOTinst3VCCA[3..0]INPUT

VCCB[3..0]INPUT

VCCA[7..4]INPUT

VCCB[7..4]INPUTC[3..0]OUTPUTC[7..4]OUTPUTVCCCPINPUT

DOUTPUT