好文档 - 专业文书写作范文服务资料分享网站

VHDL硬件描述语言四位加法器实验报告

天下 分享 时间: 加入收藏 我要投稿 点赞

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

姓名:***** 学号: ****** 地点: 主楼402 时间: 3月21日

一、实验目的:进一步练习VHDL语言设计工程的建立与仿真的步骤和方法、熟悉VHDL语言基本设计实体的编写方法。

二、实验环境:PC个人计算机、Windows XP操作系统、Quartus II集成开发环境软件。

三、设计要求:采用三种方式设计一个四位加法器,实体名称分别为“adder4”、“adder4_2”、和“adder_3”,四位加法器的引脚与功能如下表。

端口模式 in b (输入) ci out (输出) s co std_logic std_logic_vector(3 downto 0) std_logic 低位进位 和 高位进位 端口名 a std_logic_vector(3 downto 0) 加数 数据类型 说明 加数 四、实验步骤:

1、采用寄存器传输的描述方式:

首先新建一个工程,命名为“adder4”,然后编辑代码。注意在模块内部(构造体说明部分)需要定义三个连接线,定义语句为:

signal c0,c1,c2 : std_logic

代码如下:

library ieee;

use ieee.std_logic_1164.all; entity adder4 is port (

a,b

: in std_logic_vector (3 downto 0); : in std_logic;

ci s

: out std_logic_vector (3 downto 0); : out std_logic

co );

end entity;

architecture rtl of adder4 is signal c0,c1,c2 : std_logic; begin

s(0) <= a(0) xor b(0) xor ci;

c0<= (a(0) and b(0)) or (a(0) and ci) or (b(0) and ci); s(1)<= a(1) xor b(1) xor c0;

c1<= (a(1) and b(1)) or (a(1) and c0) or (b(1) and c0); s(2)<= a(2) xor b(2) xor c1;

c2<= (a(2) and b(2)) or (a(2) and c1) or (b(2) and c1); s(3)<= a(3) xor b(3) xor c2;

co<= (a(3) and b(3)) or (a(3) and c2) or (b(3) and c2); end rtl;

仿真波形图如下:

仿真电路图如下:

c1~3c0~3b[3..0]cic0~0a[3..0]s~3c0~1s~5s~7c0c1~1c1c2~3c2c2~1co~3co~4coco~1c1~0s[3..0]c2~0co~0s~1 由上图可知设计是正确的。 2、采用行为描述方式:

首先新建一个工程,命名为“adder4_2”,然后编辑代码。在编写代码过程中应注意以下几个要点:

1、VHDL语言可以进行高层次抽象的行为描述,而不用描述硬件电路的具体逻辑关系。例如在描述加法器时,可以用如下语句:

s <= a + b + ci;

上述描述方法需要用到ieee.std_logic_unsigned.all。

2、为了能够生成进位,四位加法器在内部应得到五位的和,因此两个加数也应扩充为五位。扩充字长可应用并置运算完成。如下语句将四位信号a在最高端并置一个’0’而成为五位信号aa:

aa <= ‘0’ & a;

将五位信号ss的低四位赋值给四位信号s的语句如下:

s <= ss(3 downto 0);

和的最高位作为加法器的进位输出。 代码如下:

library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity adder4_2 is port (

a,b: in std_logic_vector(3 downto 0); ci : in std_logic;

s : out std_logic_vector(3 downto 0); co : out std_logic

ieee库中的

);

end entity;

architecture rtl of adder4_2 is

signal aa,bb,ss:std_logic_vector(4 downto 0); begin

aa <= '0'&a; bb <= '0'&b; ss <= aa+bb+ci; s <= ss(3 downto 0); co<= ss(4);

end rtl;

仿真波形图如下:

仿真电路图如下:

VHDL硬件描述语言四位加法器实验报告

题目:硬件描述语言实验四:四位加法器姓名:*****学号:******地点:主楼402时间:3月21日一、实验目的:进一步练习VHDL语言设计工程的建立与仿真的步骤和方法、熟悉VHDL语言基本设计实体的编写方法。二、实验环境:PC个人计算机、WindowsXP操作系统、QuartusII集成开发环境软件。三、
推荐度:
点击下载文档文档为doc格式
984ks3i4v67d82v9y99n
领取福利

微信扫码领取福利

微信扫码分享