硬件描述语言实验五

  • 格式:doc
  • 大小:315.00 KB
  • 文档页数:10

下载文档原格式

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

硬件描述语言实验题目:四位加法器实验

学院计算机科学与技术

学科门类xxxxxxxxxx

专业xxxxxxxxxx

学号xxxxxxxxxx

姓名宁剑

指导教师xxxx

20xx年x月x 日

硬件描述语言

一、实验题目:四位加法器

二、实验目的和要求

实验目的:进一步练习VHDL语言设计工程的建立与仿真的步骤和方法、熟悉VHDL语言三种描述方法。

实验要求:设计一个四位加法器,实体名称为“adder4_3”,其引脚及其功能如下表。

端口模式端口名数据类型说明

in

(输入)

A

std_logic_vector(3 downto 0)

加数

B 加数

Ci std_logic 低位进位out

(输出)

S std_logic_vector(3 downto 0) 和

Co std_logic 高位进位

要求应用一位全加器(实验二中所实现的)按如下电路图通过结构描述方式构造四位加法器。

本实验用实验二“full_adder”的实体作为元件,用port map语句描述出来将下图的电路,实现四位加法器,并与实验三、实验四的加法器进行比较。

三、实验内容

1、打开altera软件,建立一个名为adder4_3的vhdl工程。

2、要求调用实验二中的一位加法器,按照如下电路图通过结构描述方式构造一个四位加法器。

3、编译及修改错误。

4、建立波形并仿真。

5、根据仿真结果分析设计是否正确。

附录:实验二中一位加法器的引脚及功能如下图:

设计一个一位加法器,实体名称为“full_adder”,其引脚与功能如下表。

端口模式端口名数据类型功能逻辑表达式说明

in(输入)

a

std_logic 加数

b 加数

ci 低位进位out(输出)

s s <= a xor b xor ci 和

co co <= (a and b) or (a and ci) or (b and ci) 高位进位

附录:实验三中四位加法器的引脚及功能如下图:

设计一个四位加法器,实体名称为“adder4”,其引脚与功能如下表。

端口模

端口名数据类型功能逻辑表达式说明

in 输入a std_logic_vector

(3 downto 0)

加数b 加数ci std_logic

来自

低位

进位

out s std_logic_vector s(0) <= a (0) xor b(0) xor ci 和

输出(3 downto 0) c0<= (a(0) and b(0)) or (a(0) and ci) or (b(0) and ci)

co std_logic co<= (a(3) and b(3)) or (a(3) and c2) or (b(3) and c2) 向高位的进位

附录:实验四中四位加法器的引脚及功能如下图:

设计一个四位加法器,实体名称为“adder4_2”,其引脚与功能如下表。

端口模式端口名数据类型说明

in (输入)a

std_logic_vector(3 downto 0)

加数

b 加数

ci std_logic 自低位进位

out (输出)

s std_logic_vector(3 downto 0) 和

co std_logic 向高位进位

四、实验结果

部分代码截图:

通过此图我们得知编写的代码全部通过编译。

实验的RTL结构图:

由编译器所绘出的RTL结构图与实验所示的结构图完全吻合,达到了实验要求。

波形图及仿真结果:

可以看到,在两个加数A、B不超过15的情况下,共测试了13组数据,四位加法器的计算正确,实验得以验证。

附录:实验三仿真图(波形仿真图略)

附录:实验四仿真图(波形仿真图略)

五、实验总结

通过此次实验,我们运用了COMPONENT语句和PORT MAP语句调用实验二中的full_adder 逻辑描述模块,无需在本次实验的构造体中再次对其进行定义和描述,大大缩短了实验周期,提高了效率,同时保证了实验结果的准确性。

VHDL语言对硬件系统的描述可以用3种不同风格的描述方式进行描述,即行为描述方式、寄存器传输(RTL)描述方式和结构描述方式。这3种描述方式从不同的角度对硬件系统的行为和功能进行了描述。其中,RTL和结构描述下的程序可进行逻辑综合,而行为描述程序大多用于系统仿真。我们对这3种方式各自的特点总结如下:

(1)行为描述方式:

①行为描述方式是对系统数学模型的描述,其抽象程度比其他两种描述方式都高。

②在这种高层次抽象的行为描述中,不需要描述硬件电路的具体逻辑关系,而是采用算术运算、关系运算等类数学公式的语句来描述器件行为。但是这些语句大都难以进行逻辑综合,因此行为描述方式不能进行逻辑综合。

③这种描述方式主要用于系统数学模型的仿真和系统工作原理的仿真。

(2)寄存器传输(RTL)描述方式:

①RTL描述方式是一种明确规定寄存器描述的方法。

②RTL描述方式是真正可以进行逻辑综合的描述方式。

③在采用该方式进行编程时,所使用的VHDL语句有一定的限制。

(3)结构体描述方式: