VHDL中有哪三种数据对象?详细说明它们的功能特点及使用方法。
参考答案:
在VHDL中,数据对象(Data Objects)类似于一种容器,它接受不同数据类型的赋值。
数据对象有三种,即常量(CONSTANT)、变量(VARIABLE)和信号(SIGNAL)。
前两种可以从传统的计算机高级语言中找到对应的数据类型,其语言行为与高级语言中的变量和常量十分相似。但信号是具有更多的硬件特征的特殊数据对象,是VHDL中最有特色的语言要素之一。
(1)常量(CONSTANT)常量代表数字电路中的电源、地、恒定逻辑值等常数;常量的定义和设置主要是为了使设计实体中的常数更容易阅读和修改。例如,将位矢的宽度定义为一个常量,只要修改这个常量就能很容易地改变宽度,从而改变硬件结构。在程序中,常量是一个恒定不变的值,一旦作了数据类型的赋值定义后,在程序中不能再改变,因而具有全局意义。
(2)变量(VARIABLE)变量代表暂存某些值的载体,变量常用在实现某种算法的赋值语句中;在VHDL语法规则中,变量是一个局部量,只能在进程和子程序中使用。变量不能将信息带出对它作出定义的当前设计单元。变量的赋值是一种理想化的数据传输,是立即发生,不存在任何延时的行为。
(3)信号(SIGNAL)信号代表物理设计中的某一条硬件连接线,包括输入、输出端口。是描述硬件系统的基本数据对象。信号可以作为设计实体中并行语句模块间的信息交流通道。在VHDL中,信号及其相关的信号赋值语句、决断函数、延时语句等很好地描述了硬件系统的许多基本特征。如硬件系统运行的并行性;信号传输过程中的惯性延时特性;多驱动源的总线行为等。时序电路中触发器的记忆特性。
信号作为一种数值容器,不但可以容纳当前值,也可以保持历史值。这一属性与触发器的记忆功能有很好的对应关系。