VHDL中,有三种数据类型,常量(constant)、变量(variable)和信号(signal)。
1.常量(constant)
常量是在设计实体中不会发生变化的值,常量的定义和设置的主要目的是为了设计实体中常数容易阅读和修改。
常量具有全局意义,一但在程序中设定,程序中将不能进行修改。
2.变量(variable)
变量是指在设计实体中会发生的值。变量是一个局部量,只能在进程和子程序的顺序语句中使用。变量不能将信息带出他所定义的当前结构体。
变量赋值不存在时延,是立即发生的。
变量的语法格式:
variable 变量名:数据类型[:=初始值];
eg:
variable a:std_logic;
variable b,c:integer:=2;
3.信号(signal)
信号是描述硬件系统的基本数据对象,类似于电子线路中的连线。信号具有全局性,信号使用和定义范围是实体、结构体和程序。在进程和子程序中不允许定义信号。
信号赋值不是立即发生的,而是需要经过一个特定的时延,这与实际器件的传播延时特性相吻合。
信号定义格式:
signal 信号名:数据类型[:=初始值]
eg:
signal s1:std_logic:='0'; --定义一个