VHDL数据对象
数据对象(data objects):凡是可以被赋予一个值的对象称为数据对象,数据对象用于传递信号。
例:signal A :std_logic;数据对象类型 数据对象名 数据对象值的类型
1、信号 信号数据对象,代表电路内部传输线路,其在元件之间起互连作用。
信号数据对象的定义格式为:
signal 信号名:数据类型[:=设定值];
如:signal A:std_logic_vector(3 downto 0) :="0000”;
信号赋值语句的语法格式为:
目标信号名<=表达式(设定值)
A<="1010"
2、变量 它用于对中间数据的临时存储,并不一定代表电路的某一组件。
变量数据对象的定义格式为: variable 变量名:数据类型[:=设定值];
如:variable a: integer :=0;
变量赋值语句的语法格式为:目标变量名 :=表达式(设定值);
如:a:=b+c;
3、常数 常数的定义格式为:constant 常数名:数据类型:=表达式;
如:constant d1:integer:=3;
constant d2:std_logic_vector(d2 downto 0) :="0000";
注意:常数数据对象定义的同时进行赋值。赋值符号为“:=”
信号、变量和常数的对比
定义:signal A:std_logic;
variable b:std_logic_vector(7 downto 0);
constant c:integer :=6;
定义区域
信号:实体、结构体、程序包
变量:进程、子程序
常数:实体、结构体、程序包、块、进程、子程序
适用范围
信号:实体、结构体、程序包·
变量:定义了变量的进程、子程序的顺序语句中
常数:视其定义的位置而定
若常数定义在实体中,适用范围是实体所对应的有结构体。
若常数定义在结构体中,适用范围就是本结构体。


浙公网安备 33010602011771号