硬件描述语言实验五
- 格式:doc
- 大小:315.00 KB
- 文档页数:10
硬件描述语言实验题目:四位加法器实验
学院计算机科学与技术
学科门类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)结构体描述方式: