简单的说,信号是全局的,用于结构体中并行语句间数据流的传递;变量则是局部的,他主要用于单个进程中中间变量的存储.
主要用于对暂时数据进行局部存储。
临时数据,没有物理意义只能在Process和Function中定义,并只在其内部有效要使其全局有效,先转换为Signal。
用 := 进行赋值
Variable result : std_logic := ’0’;
变量说明的格式:
VARIABLE 变量名:数据类型 约束条件:=表达式;
例:VARIABLE X,Y:INTEGER;
VARIABLE C://INTEGER RANGE 0 TO 255:=10;(表示变量C的数据类型是整型,变量范围从0到255,初始值为10。)
变量只能在进程语句、函数语句和过程语句结构中使用,它是一个局部量。在仿真过程中,它不像信号那样,到了规定的仿真时间才进行赋值,变量是立即生效的。
信号是抽象的电子电路内部硬件连接。它除了没有数据流动方向说明以外,其它性质几乎和前面所述的端口概念一致。信号通常在构造体、包集合和实体内说明。
信号说明的格式:
SIGNAL 信号名;数据类型 约束条件:=表达式;
例:SIGNAL a,b,c:STD_LOGIC;
SIGNAL COUNT_2:STD_LOGIC_VECTOR(1 DOWNTO 0);
SIGNAL S_CLK:BIT:=’0’; 信号(Signals)
代表连线,Port也是一种信号。
没有方向性,可给它赋值,也可当作输入在Entity中和Architecture中定义
设定的初始值在综合时没有用,只是在仿真时在开始设定一个起始值。用<=进行赋值。
信号和变量值的代入不仅形式不同,而且其操作过程也不同。在变量的赋值语句中,该语句一旦被执行,其值立即被赋予变量。在执行下一条语句时,该变量的值就为上一句新赋的值。变量赋值符为“:=”。信号代入语句采用“<=”代入符,该语句即使被执行也不会使信号立即发生代入。下一条语句执行时,仍使用原来的信号值。由于信号代入语句是同时进行处理的,因此,实际代入过程和代入语句的处理是分开进行的。
(简答题)
指出信号和变量有哪些区别?
正确答案
答案解析
略
相似试题
(简答题)
信号赋值语句在什么情况下作为并行语句?在什么情况下作顺序语句?信号赋值和变量赋值符号分别是什么?两种赋值符号有什么区别?
(简答题)
“作用”和“荷载”有何区别?为什么说构件的抗力是一个随即变量?
(单选题)
变量和信号的描述正确的是()。
(简答题)
如图所示采用蓄能器的压力机系统的两种方案,其区别在于蓄能器和压力继电器的安装位置不同。试分析它们的工作原理,并指出图(a)和(b)的系统分别具有哪些功能?
(单选题)
对于信号和变量的说法,哪一个是不正确的:()。
(简答题)
音乐厅和电影院的音质设计的区别有哪些?吸声材料的选择和铺贴的区别有哪些?
(简答题)
地铁和轻轨有哪些区别?
(简答题)
普通硫磺和不溶性硫黄有哪些区别?
(简答题)
中国传统火腿和盐水火腿的主要区别有哪些?