首页 百科知识 信号赋值语句具有哪些功能特点

信号赋值语句具有哪些功能特点

时间:2022-10-26 百科知识 版权反馈
【摘要】:简单信号赋值语句是VHDL并行语句结构中最基本的单元。在执行条件信号赋值语句时,每一赋值条件是按书写的先后关系逐项测定的,一旦发现赋值条件为TRUE,就会立即将表达式的值赋给赋值目标。选择信号赋值语句不允许有条件重叠现象,也不允许有条件涵盖不全的情况,因此,可在语句的最后加上“表达式WHEN OTHERS”子句。需要注意的是,选择信号赋值语句的每个子句是以“,”结束的,只有最后一句才是以“;”结束。

6.3 并行信号赋值语句

并行信号赋值语句的赋值目标必须都是信号,它们在结构体内的执行是同时发生的,与它们的书写顺序没有关系。

并行信号赋值语句有简单信号赋值语句、条件信号赋值语句和选择信号赋值语句三种形式。

6.3.1 简单信号赋值语句

简单信号赋值语句是VHDL并行语句结构中最基本的单元。简单信号赋值语句在进程内部使用时,以顺序语句的形式出现;在结构体的进程之外使用时,以并行语句的形式出现。其语句格式如下。

img265

例如:

img266

赋值目标必须是信号,它的数据类型必须与赋值符号右边表达式的数据类型一致。

img267

只要tmp1和Cin的值有一个发生变化,即有事件发生,那么这两条语句就会立即并行执行。

6.3.2 条件信号赋值语句

条件信号赋值语句的格式如下。

img268

这里对条件信号赋值语句进行以下说明:

(1)当when的条件为真时,将表达式赋给目标信号;

(2)条件表达式的结果应为布尔值;

(3)条件信号赋值语句中允许包含多个条件赋值子句,每一赋值条件按书写的先后顺序逐项测定;

(4)最后一项条件表达式可以不跟条件子句,表明当以上各when语句都不满足时,将此表达式的值n赋给信号;

(5)条件信号赋值语句允许赋值重叠,这一点与case语句不同。

结构体中的条件信号赋值语句的功能与进程中的IF语句相同。在执行条件信号赋值语句时,每一赋值条件是按书写的先后关系逐项测定的,一旦发现赋值条件为TRUE,就会立即将表达式的值赋给赋值目标。

【例6.3.1】 用条件信号赋值语句描述4选1数据选择器。

img269

img270

6.3.3 选择信号赋值语句

选择信号赋值语句的格式如下。

img271

与CASE语句的功能类似,选择赋值语句对子句中的“选择值”进行选择,当某子句中“选择值”与“选择表达式”的值相同时,则将子句中“表达式”的值赋给目标信号。选择信号赋值语句不允许有条件重叠现象,也不允许有条件涵盖不全的情况,因此,可在语句的最后加上“表达式WHEN OTHERS”子句。需要注意的是,选择信号赋值语句的每个子句是以“,”结束的,只有最后一句才是以“;”结束。

【例6.3.2】 用选择信号赋值语句实现4选1数据选择器。

img272

img273

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

我要反馈