VHDL语言中的信号、变量与常量异同比较
在VHDL中,对象是指用来保持数据的一些客体单元。VHDL中的对象主要有4种:常量(CONSTANT)、变量(VARIABLE)、信号(SIGNAL)和文件(FILE)。本文主要讨论前面三种在实际应用中的异同点.传统的计算机高级语言(如C语言)也有常量与变量.在语法上它们有相似的地方.而对于信号却是硬件描述语言(本文指的是VHDL)中特有的元素.
1.信号、变量与常量的意义
1.1信号是指在设计实体中数据交换的一种手段,采用信号对象可以把设计实体连接在一起形成模块。在硬件电路中代表一条硬件连线,有时信号会被综合成一个寄存器。
1.2变量主要是对暂时数据进行局部存储,它是一个局部量。
1.3 常量就是一个定值,对某些特定类型数据赋予的数值。定义一个常数主要是为了使设计实体中的某些量易于阅读和修改
2.信号、变量与常量的声明
信号、变量与常量三者在使用前都必需先声明后使用,否则会产生编译错误。
2.1信号的声明:SIGNAL 信号名 [,信号名……]:数据类型[:=表达式];
如:
SIGNAL clk:bit1;
SIGNAL reset:bit;
SIGNAL data_bus:bit_vector(7 DOWNTO 0);
在信号声明中可以同时进行赋初值,其赋值语法结构为
SIGNAL clk:bit:='0';
SIGNAL reset:bit='1';
SIGNAL data_bus:bit_vector(7 DOWNTO 0):=‘01000101”;</