VHDL与可编程器件3剖析.ppt_第1页
VHDL与可编程器件3剖析.ppt_第2页
VHDL与可编程器件3剖析.ppt_第3页
VHDL与可编程器件3剖析.ppt_第4页
VHDL与可编程器件3剖析.ppt_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

1、第三章 VHDL语言程序设计,VHDL语言的英文全名是Very High Speed Integrated Circuit Hardware Description Language 即超高速集成电路硬件描述语言。它是70年代和80年代初,由美国国防部为他们的超高速集成电路VHSIC计划提出的硬件描述语言,它支持硬件的设计、综合、验证和测试。1986年3月,IEEE开始致力于VHDL的标准化工作,讨论VHDL语言标准。IEEE于1987年12月公布了VHDL的标准版本(IEEE STD 1076/1987);1993年VHDL重新修订,形成新的标准即IEEE STD 1076-1993)。,什

2、么是VHDL语言?,从此以后,美国国防部实施新的技术标准,要求电子系统开发商的合同文件一律采用VHDL文档。即第一个官方VHDL标准得到推广、实施和普及。,VHDL语言描述能力极强,覆盖了逻辑设计的诸多领域和层次,并支持众多的硬件模型。设计者的原始描述是非常简练的硬件描述,经过EDA工具综合处理,最终生成付诸生产的电路描述或版图参数描述的工艺文件。,VHDL有过两个标准: IEEE Std 1076-1987 (called VHDL 1987) IEEE Std 1076-1993 (called VHDL 1993),一个完整的VHDL设计实例,LIBRARY IEEE ; USE IEE

3、E.STD_LOGIC_1164.ALL ; ENTITY mux21a IS PORT( a, b : IN BIT ; s : IN BIT; y : OUT BIT ) ; END ENTITY mux21a ; ARCHITECTURE one OF mux21a IS BEGIN y = a WHEN s = 0 ELSE b ; END ARCHITECTURE one ;,实体,结构体,mux21a实体,mux21a结构体,2选1多路选择器的VHDL描述,库,程序包,一、VHDL程序的基本结构 一个相对完整的VHDL程序(或称为设计实体)具有如下图所示的比较固定的结构,即至少应包

4、括三个基本组成部分:,VHDL基本结构,1、库、程序包使用说明; 2、实体说明; 3、与实体对应的结构体说明;,VHDL语言再划分详细一些,通常包含五部分: 1、库(Library):专门存放预编译程序包的地方; 2、包集合(Package):存放各个设计模块共享的数据类型、常数和子程序等; 3、实体(Entity):用于描述所设计的系统的外部接口信号或引脚; 4、构造体(Architecture):用于描述系统内部的结构和行为;建立输入和输出之间的关系; 5、配置(Configuration):安装具体元件到实体结构体对,可以被看作是设计的零件清单;,二、实体语句结构 1.实体说明单元的常用

5、语句结构如下:,ENTITY 实体名 IS GENERIC(类属表); PORT(端口表); END ENTITY 实体名;,2类属(GENERIC)说明语句 类属(GENERIC)参量是一种端口界面常数,常以一种说明的形式放在实体或块结构体前的说明部分,说明内部电路结构和规模 。 类属说明的一般书写格式如下:,GENERIC(常数名:数据类型:设定值 ;常数名:数据类型:=设定值 );,【例】 ENTITY MCK IS GENERIC(WIDTH:INTEGER:=16); PORT(ADD_BUS:OUT STD_LOGIC_VECTOR(WIDTH-1 DOWNTO 0) ; . 在这

6、里,GENERIC语句对实体MCK的作为地址总线的端口ADD_BUS的数据类型和宽度作了定义,即定义ADD_BUS为一个16位的位矢量。,3PORT端口说明 由PORT引导的端口说明语句是对于一个设计实体界面的说明。 实体端口说明的一般书写格式如下:,PORT(端口名:端口模式 数据类型; 端口名:端口模式 数据类型);,端口名是赋予每个系统引脚的名称,一般用几个英文字母组成,ENTITY 实体名 IS PORT( 端口名:端口模式 数据类型名; 端口名:端口模式 数据类型名; 端口名:端口模式 数据类型名; 端口名:端口模式 数据类型名; 端口名:端口模式 数据类型名); END 实体名 ;

7、,端口模式: IEEE 1076标准包中定义了四种常用的端口模式,各端口模式的功能及符号分别见表,IN OUT BUFFER INOUT,数据类型:,STD_LOGIC STD_LOGIC_VECTOR(7 DOWNTO 0 ) INTEGER REAL BIT BIT_VECTOR(0 TO 7),【例】 PORT ( n0, n1, select: IN BIT; q: OUT BIT; bus: OUT BIT_VECTOR(7 DOWNTO 0) ); 本例中,n0, n1, select 是输入引脚,属于BIT型,q是输出引脚,BIT型,bus 是一组8位二进制总线,属于BIT_VE

8、CTOR,LIBRARY IEEE; USE IEEE.STD_LOGIC.1164.ALL; ENTITY mm IS PORT ( n0,n1,select: IN STD_LOGIC; Q : OUT STD_LOGIC; Bus : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ); END mm; 在此例中端口数据类型取自IEEE标准库(该库中有数据类型和函数的说明),其中STD_LOGIC 取值为“0”,“1”,“X”和“Z”等。 因为使用了库所以在实体说明前要增加库说明语句。,【例】 2输入与门的实体描述。 LIBRARY IEEE;USE IEEE.STD_

9、LOGIC.1164.ALL;ENTITY AND2 IS GENERIC(RISEW:TIME:=1 ns; FALLW:TIME:=1 ns); PORT( A1:IN STD_LOGIC; A0:IN STD_LOGIC; Z0:OUT STD_LOGIC); END ENTITY AND2;,LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.ALL;ENTITY m60 ISPORT (clk:IN std_logic; clear:IN std_logic; qh:buffer std_logic

10、_vector(3 downto 0); ql:buffer std_logic_vector(3 downto 0) );END m60;,【例】,EITITY 设计时注意点,实体名与文件名要一样 文件存放位置 取名要规范 (实体名、端口信号名) 合理确定设计所需的端口信号,三、ARCHITECTURE的基本结构,构造体用于描述系统内部的结构和行为 构造体是实体的一个重要部分,每一个实体都有一个或一个以上的构造体。(对于具有多个结构体的实体,必须用CONFIGURATION(配置)语句指明用于综合的结构体和用于仿真的结构体) 一个完整的结构体一般由两个基本层次组成:,1、对数据类型、常数、信

11、号、子程序和元件等元素的说明部分。 2、描述实体逻辑行为的,以各种不同的描述风格表达的功能描述语句。,1. 结构体的一般语句格式 结构体的语句格式如下:,ARCHITECTURE 结构体名 OF 实体名 IS 说明语句; BEGIN 功能描述语句; END ARCHITECTURE 结构体名;,2结构体说明语句 结构体中的说明语句是对结构体的功能描述语句中将要用到的信号(SIGNAL)、数据类型(TYPE)、常数(CONSTANT)、元件(COMPONENT)、函数(FUNCTION)和过程(PROCEDURE)等加以说明的语句。,3功能描述语句结构 功能描述语句结构可以含有五种不同类型的、以

12、并行方式工作的语句结构,而在每一语句结构的内部可能含有并行运行的逻辑描述语句或顺序运行的逻辑描述语句。,各语句结构的基本组成和功能分别是: (1) 块语句是由一系列并行执行语句构成的组合体,它的功能是将结构体中的并行语句组成一个或多个模块。 (2) 进程语句定义顺序语句模块,用以将从外部获得的信号值,或内部的运算数据向其他的信号进行赋值。,(3) 信号赋值语句将设计实体内的处理结果向定义的信号或界面端口进行赋值。 (4) 子程序调用语句用于调用一个已设计好的子程序。 (5) 元件例化语句对其他的设计实体作元件调用说明,并将此元件的端口与其他的元件、信号或高层次实体的界面端口进行连接。,【例】

13、ENTITY nax IS PORT(a,b : IN BIT; s : IN BIT; y : OUT BIT); END nax; ARCHITECTURE dataflow OF nax IS BEGIN y=(b AND s) OR (NOT s AND a); END dataflow;,nax功能时序波形,4 结构体描述设计实体的具体行为,它包含两类语句:,(2)顺序语句-顺序语句总是在进程语句(PROCESS)的内部,从仿真的角度,该语句是顺序执行的;,(1)并行语句-并行语句总是在进程语句(PROCESS)的外部,该语句的执行与书写顺序无关,总是同时被执行;,四、配置语句,用于

14、在多构造体中的实体中选择构造体,例如,在做RS触发器的实体中使用了两个构造体,目的是研究各个构造体描述的RS触发器的行为性能如何,但是究竟在仿真中使用哪一个构造体的问题就是配置问题。 配置语句格式:,CONFIGURATION 配置名 OF 实体名 IS 说明语句 END配置名;,例:最简单的配置 CONFIGURATION 配置名 OF 实体名 IS FOR 被选构造体名 END FOR; END配置名; 两个构造体,可以用配置语句进行设置: CONFIGRATION rscon OF rs IS /选择构造体rsff1 FOR rsff1 END FOR; END rscon;,ENTITY rs IS PORT(set,reset:IN BIT; q,qb: BUFFER BIT); END rs; ARCHITECTURE rsff1 OF rs IS COMPONENT nand2 PORT(a,b: IN BIT; c: OUT BIT); END COMPONENT; BEGIN U1:nand2 PORT MAP(a=se

温馨提示

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

评论

0/150

提交评论