首页 百科知识 4.2.2变量

4.2.2变量

时间:2022-10-15 百科知识 版权反馈
【摘要】:变量的申明与信号的申明十分相似,“VARIABLE”是变量申明的关键字;“变量名”是由设计者自行定义的标识符;“数据类型”表明是变量可承载的数据类型;可选项“约束条件”用来表征变量的取值范围,一般用关键字“RANGE”标示;可选项“:=表达式”用于在申明变量的同时给它赋初值。已申明的变量可以用“:=”为其代入新的值,从而完成该变量与其他信号、变量、常量等数据之间的传递。

4.2.2 变量

变量是一个临时的数据载体,在电路中没有具体的硬件与之对应。变量是一个局部量,只能在VHDL程序中的进程、函数、过程中使用。

(1)变量的申明

变量的申明格式为:

img70

变量的申明与信号的申明十分相似,“VARIABLE”是变量申明的关键字;“变量名”是由设计者自行定义的标识符;“数据类型”表明是变量可承载的数据类型;可选项“约束条件”用来表征变量的取值范围,一般用关键字“RANGE”标示;可选项“:=表达式”用于在申明变量的同时给它赋初值。

例如:

img71

第一行申明对象ctrl_status为STD_LOGIC类型的变量,第二行申明的sum是BIT_VECTOR(3 DOWNTO 0)类型,即sum是4位的BIT数据组成的数列。

(2)变量的赋值

已申明的变量可以用“:=”(立即赋值符号)为其代入新的值,从而完成该变量与其他信号、变量、常量等数据之间的传递。变量的赋值没有延时,立即生效。

在程序中,可以给变量多次赋值。

【例4-4】变量赋值

img72

img73

假设x,y,z,a_variable,b_signal的初始值分别是3,2,3,6,7。在t1时刻,x的值变为4,经计算“x*y”为8,并立即赋给变量a_variable,故在t1时刻,“a_variable+z”的值应被赋为8+3,所以当x从3变为4触发的example进程执行完毕的t1+Δ时刻,a_variable和b_signal的新值分别是8,11。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈