VHDL程序结构
1、实体
功能:对该设计实体与外部电路进行接口描述
实体说明部分规定了设计单元的输入/输出接口信息或引脚
实体语句的语法结构:
ENTITY 实体名 IS
[GENERIC (类属表)IS;]
[PORT (端口表);]
END 实体名;
注:实体名须和VHDL的源文件名一致
2、GENERIC类属说明语句
类属(GENERIC)参量是一种端口界面常数,常以一种说明的形式放在实体或块结构体前的说明部分。
类属为所说明的环境提供了一种静态信息通道
类属与常数不同,常数只能从设计实体的内部得到赋值,且不能再改变,而类属的值可以又实体外部提供
书写格式
GENERIC([常数名:数据类型[:=设定值]
{;常数名:数据类型[:=设定值]});
3、PORT端口说明
说明每一个接口的输入/输出模式和数据类型的定义
PORT(端口名:端口模式 数据类型;
{端口名:端口模式 数据类型;});
IN模式:输入端口,并规定为单向只读模式,可通过此端口将变量信息或信号信息读入设计实体中
OUT模式:输出端口,并规定单向输出模式
INOUT模式:输入/输出双向端口(可为IN、OUT、BUFFER三种模式,但一般不用)(外部输入)
BUFFER模式:具有数据读入功能的输出端口,允许反馈的端口。与INOUT模式相比,BUFFER的区别在于回读(输入)的信号不是又外部输入,而是由内部产生的,向外输出的信号,有时往往在时序上有所差异
端口模式说明
端口模式说明
端口模式说明
端口模式 | 端口模式说明 |
---|---|
IN | 输入,只读模式,将变量或信号通过该端口读入 |
OUT | 输出,单向赋值模式,将信号通过该端口输出 |
BUFFER | 具有读功能的输出模式,可以读或写,只能有一个驱动源 |
INOUT | 双向,可通过该端口读入或写出信息 |
4、结构体
描述设计实体的内部结构和外部设计实体端口之间的逻辑关系。
语法格式:
ARCHITECTURE 结构体名 OF 实体名 IS
[说明语句]
BEGIN
[功能描述语句]
END 结构体名
其中实体名必须为设计实体的名字,结构体名随意
[说明语句]:对结构体的功能描述语句中将要用到的信号、数据类型、元件、函数和过程等的说明
[功能描述语句]:
- 块语句
- 进程语句
- 信号赋值语句
- 子程序调用语句
- 元件例化语句