目录
一.赋值语句
一、赋值语句功能
就是将一个值或一个表达式的运算结果传递给某一数据对象,如信号或变量,或由此组成的数组。
二、信号和变量赋值
1.赋值语句有两种,即信号赋值语句和变量赋值语句:
(1)变量赋值目标:=赋值源;
其中冒号加等号(:=)作为一个整体,称之为变量赋值符号。
(2)信号赋值目标<=赋值源;
其中指向左边的双箭头(<=)作为一个整体,称之为信号赋值符号。
2.变量赋值与信号赋值的区别:
(1)变量具有局部特征,它的有效性只局限于所定义的一个进程中,或一个子程序中。信号具有全局性特征,它不但可以作为一个设计实体内部各单元之间数据传送的载体,而且可通过信号与其他的实体进行通信。
(2)变量的赋值是立即发生的,即是一种时间延迟为零的赋值行为。而信号的赋值过程总是有某种延时的,它反映了硬件系统并不是立即发生的,它发生在一个进程结束时。
3.当在同一进程中,同一信号赋值目标有多个赋值源时,信号赋值目标获得的是最后一个赋值源的赋值,其前面相同的赋值目标则不作任何变化。
三.赋值目标
1.标识符赋值目标:以简单的标识符作为被赋值的信号或变量名。
2.数组单元素赋值目标:数组类信号或变量名(下标名)
3.段下标元素赋值目标:
举例下标的排序示例:
VARIABLE A,B:STD_LOGIC_VECTOR(1 TO 4);
A(1 TO 2):="10"; --等效于A(1):='1',A(2):='0'
A(4 DOWNTO 1):="1011";--等效于A(4):='1',A(3):=0,A(2):='1',A(1):='1'
4.集合块赋值目标:
以一个集合的方式来赋值的。对目标中的每个元素进行赋值的方式有两种,即