VHDL语言的基本结构

VHDL的基本结构由实体(ENTITY)和结构体(ARCHITECTURE)两部分构成。ENTITY:规定了设计单元的输入/输出接口信号和引脚,相当于元器件;ARCHITECTURE:定义了设计单元的具体实现,指定输入和输出的行为。

一个完整的VHDL程序通常包含5个部分:实体(ENTITY)、结构体(ARCHITECTURE)、配置(Configuration)、程序包(Package)、库(Library)。

1. 实体(ENTITY)

ENTITY 实体名 IS

[GENERIC   (类属参数表);]

[PORT   (端口表);]

END 实体名;

1.1 类属参数表

类属 GENERIC 参数表是一种端口界面常数,常以一种说明的形式放在实体或块结构体前的说明部分。类属参数表用于设计实体和其外部环境通信的参数,传递静态的信息。

当用实体例化一个设计实体的器件时,可以用类属参数表中的参数项定制这个器件,如可以将一个实体的传输延迟,上升和下降延时等参数加到类属参数表中。比较常见的情况是利用类属来动态规定一个实体的端口的大小,或设计实体的物理特性,或结构体中的总线宽度,或设计实体中底层中同种元件的例化数量等等。

示例: GENERIC (buswide : INTEGER := 16);

1.2 端口表

端口表:对设计实体中输入输出接口进行的描述。

PORT (端口名1:端口模式 数据类型;

.......................................................

端口名n:端口模式 数据类型);


端口模式有5种类型:IN(输入)、OUT(输出)、INOUT(双向)、BUFFER(缓冲)、LINKAGE(无指定方向)

IN(输入): 仅允许信号进入端口,主要用于时钟输入、控制输入(如复位和使能等)、单向的数据输入;

OUT(输出): 仅允许信号从实体内部流出端口,通常用于计数输出等;

INOUT(双向): 信号可以从该端口进入和流出;

BUFFER(缓冲): 信号从实体内部流出端口,输出的信号可同时作为实体内部的反馈输入信号;

LINKAGE(无指定方向):可以与任何方向的信号连接。



你可能感兴趣的:(VHDL语言的基本结构)