4位加法器实验报告_第1页
4位加法器实验报告_第2页
4位加法器实验报告_第3页
4位加法器实验报告_第4页
4位加法器实验报告_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、硬件描述语言实验题目: 四位全加器学院数学与计算机学院学科门类XXXXXXXXXX专业XXXXXXXXXX学号姓名X指导教师XXXX20 xx 年 x 月 xx 日1、实验目的:练习VHDL语言设计工程的建立与仿真的步骤和方法、熟悉VHDL语言行为 描述的编写方法。2、实验环境:PC个人计算机、Windows XP操作系统、Quartus II集成开发环境软件。3、实验要求:设计一个四位加法器,其引脚及其功能如下表。端口模式端口名数据类型说明in(输入)Astdogic_vector(3 downto 0)加数B加数Cistd_logic低位进位outSstd_logic_vector(3 d

2、ownto 0)和(输出)Costd_logic高位进位4、实验步骤:用RTL描述方式描述4位加法器RTL描述方式是一种明确规定寄存器描述的方法,它要求在描述时要么采用寄存器硬件 的一一对应的直接描述,要么采用寄存器之间的功能描述。 RTL 描述方式可以进行逻辑综 合,这是其他描述方式所不具备的特点。编辑代码这种描述方法详细描述了加法器的计算过程,即写出了每一位的计算和进位方法。模块内部(构造体说明部分)需要定义三个连接线,定义语句为:signal c0,cl,c2 : stdogic 代码如下:library ieee;use ieee.std_logic_ll64.all;entity a

3、dder4 isport(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);end entity;architecture rtl of adder4 issignal c0,cl,c2:std_logic;begins(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;

4、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 architecture rtl;仿真结果(2)用行为描述方式描述4 位加法器行为描述是对系统数学模型的描述,其抽象程度比寄存器传输描述方式和结构描述方式更

5、高。在行为描述方式的程序中大量采用算术运算、关系运算等难以进行逻辑综合和不能进行 逻辑综合的 VHDL 语句。编辑代码VHDL 语言可以进行高层次抽象的行为描述,而不用描述硬件电路的具体逻辑关系。可以用 s=a+b+ci;来描述加法器,这种描述方法需要用到ieee库中ieee.std_logic_unsigned.all。 为了能够生成进位,四位加法器在内部应得到五位的和,因此两个加数也应扩充为五位。扩充字长可应用并置运算完成。如下语句将四位信号a在最高端并置一个0而成为五位信号 aa :aa = 0 & a;将五位信号SS的低四位赋值给四位信号s的语句如下: s = ss(3 downto

6、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);end entity; architecture rtl of adder4_2 iS Signal aa,bb,SS: Std_logic

7、_vector(4 downto 0); beginaa=0&a; bb=0&b;SS = aa+bb+ci;S = SS(3 downto 0); co=SS(4);end architecture rtl; 仿真结果AdldOAdd1.+01b3.0|计一a3.O计-(3)应用一位全加器按如下电路图通过结构描述方式构造四位加法器。或者直接用门电路设计单元来来构成一个复杂逻辑电路。这种描述方式能提高设计效率,并 具有很大的重用性。编辑代码本构造体调用了一个现成的逻辑描述模块:一位全加器adder (其功能在本构造体后由声明 语句实现),调用过程由 component 语句实现。ibrary

8、ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity adder4_3 isport(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);end entity;architecture struct of adder4_3 iscomponent adder isport(a,b,ci:in std_logic; s,co:out std_logic

9、); end component adder; signal c0,c1,c2:std_logic; beginU0:adder port map(A(0),B(0),ci,S(0),c0);U1:adder port map(A(1),B(1),c0,S(1),c1);U2:adder port map(A(2),B(2),c1,S(2),c2);U3:adder port map(A(3),B(3),c2,S(3),CO); end architecture struct;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic

10、_unsigned.all;entity adder isport( a,b,ci:in std_logic;s,co:out std_logic);end entity;architecture rtl of adder isbegins=a xor b xor ci;co = (a and b) or (a and ci) or (b and ci);end architecture rtl;仿真结果5、三种描述方式的比较:VHDL 语言对硬件系统的描述可以用3 种不同风格的描述方式进行描述,即行为描述方 式、寄存器传输(RTL)描述方式和结构描述方式。这3种描述方式从不同的角度对硬件系 统的行为和功能进行了描述。其中,RTL和结构描述下的程序可进行逻辑综合,而行为描 述程序大多用于系统仿真。我们对这3 种方式各自的特点总结如下: (1)行为描述方式:行为描述方式是对系统数学模型的描述,其抽象程度比其他两种描述方式都高。在这种高层次抽象的行为描述中,不需要描述硬件电路的具体逻辑关系,而是采用算术 运算、关系运算等类数学公式的语句来描述器件行为。但是这些语句大都难以进行逻辑综合 因此行为描述方式不能进行逻辑综合。这种描述方式主要用于系统数学模型的仿真和系统工作原理的仿真。(2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论