文档详情

 第三章 vhdl程序结构与要素.ppt

发布:2018-06-07约2.33万字共108页下载文档
文本预览下载声明
第三章 VHDL程序结构与要素 3.1 VHDL程序基本结构 3.2 VHDL文字规则 3.3 VHDL 基本数据对象与数据类型 3.4 VHDL表达式与运算符 3.1 VHDL程序基本结构 一个VHDL程序的基本单元是设计实体,它可以是一个简单的门电路,也可以是一个复杂的数字系统。它既能作为一个电路的功能模块而单独存在和运行,也可以被其它数字系统所调用,从而成为这个系统的一部分。 不管其功能复杂程度,VHDL程序的结构基本相同,一般由库、程序包、实体、结构体及配置语句构成。 其中实体和结构两部分是必需的,由这二部分即可构成一个简单的VHDL程序。 2选1数据选择器的VHDL程序   2选1多路选择器是典型的组合电路,以此电路的VHD表述与设计说明相关的VHDL结构、语句表述、数据规则、语法特点。 【例3-1】 2选1多路选择器程序 LIBRARY IEEE; --IEEE库使用说明语句 USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux21 IS --实体说明部分 PORT( a,b : IN STD_LOGIC; s: IN STD_LOGIC; y: OUT STD_LOGIC ); END ENTITY mux21; 【例3-1】 2选1多路选择器程序 ARCHITECTURE mux21a OF mux21 IS BEGIN PROCESS(a,b,s) BEGIN IF s=0 THEN y=a; ELSE y=b; END IF; END PROCESS; END ARCHITECTURE mux21a; (1)以关键词ENTITY[‘entiti]引导,END ENTITY mux21a结尾的语句部分,称为实体。 VHDL的实体描述电路器件的外部情况及各信号端口的基本性质。图3—1可以认为是实体的图形表达。 (2)以关键词ARCHITECTURE引导,END ARCHITECTUR mux21a结尾的语句部分,称为结构体。 结构体描述电路器件的内部逻辑功能或电路结构。图3—2是结构体的原理图。 IEEE库使用说明语句:定义端口类型时使用了STD_LOGIC,其在IEEE.STD_LOGIC_1164.ALL中做了预定义。 一个相对完整的VHDL程序至少应包括三个基本组成部分:库、程序包使用说明,实体说明和实体对应的结构体说明。 [1] 库、程序包使用说明用于打开(调用)本设计实体将要用到的库、程序包; [2] 实体说明用于描述该设计实体与外界的接口信号说明,是可视部分; [3]结构体说明用于描述该设计实体内部工作的逻辑关系,是不可视部分。在一个实体中,可以含有一个或一个以上的结构体,而在每一个结构体中又可以含有一个或多个进程以及其他的语句。 3.1.1 实体 实体是一个设计实体的表层设计单元,其功能是对这个设计实体与外部电路进行接口描述。它规定了设计单元的输入输出接口信号或引脚,是设计实体经封装后对外的一个通信界面。 这部分相当于是画原理图时的一个元件符号。 1.实体说明 实体说明单元的常用语句结构如下:    ENTITY 实体名 IS     [GENERIC(类属表);]     [PORT(端口表);]   END ENTITY 实体名;   实体说明单元必须以语句<ENTITY 实体名 IS>开始,以语句<END ENTITY 实体名;>结束,其中的实体名是设计者自己给设计实体的命名,可作为其他设计实体对该设计实体进行调用时用。   在用VHDL语言设计时,Maxplus要求存盘的文件名必须和实体名一致。 2.类属说明   类属说明的一般书写格式如下:  GENERIC([常数名:数据类型:设定值],       [常数名:数据类型:设定值 ]….) 类属参量以关键词GENERIC引导一个类属参量表,在表中提供时间参数或总线宽度等静态信息。类属表说明用于确定设计实体和其外部环境通信的参数,传递静态的信息。类属说明在所定义的环境中的地位十分接近常数,但却能从环境(如设计实体)外部动态地接受赋值,其行为又有点类似于端口PORT。 在一个实体中定义的、可以通过GENERIC参数类属的说明,为它创建多个行为不同的逻辑结构。 比较常见的情况是选用类属来动态规定一个实体端口的大小,或设计实体的物理特性,或结构体中的总线宽度,或设计实体中、底层中同种元件的例化数量等。 一般在结构体中,类属的应用与常数是一样的。 例如,当用实体例化一个设计实体的器件时,可以用类属表中的参数项定制这个器件,如可以将一个实体的传输延时、上升和下降延时等参数加到类属参
显示全部
相似文档