4.2顺序语句 只能出现在进程、过程和函数中,用以定义在进程、过程和函数中所执行的算法; 按照程序中语句出现的顺序来执行各条语句。 主要顺序语句: (1)顺序赋值语句; (2)wai语句; (3)i语句 4)case语句; (5)loop语句; 6)next语句; (7)exit语句; (8)null语句 (9) return语句 (10)顺序断言语句; (11) report语句 (12)顺序过程调用语句
4.2 顺序语句 只能出现在进程、过程和函数中,用以定义在进程、过程和函数中所执行的算法; 按照程序中语句出现的顺序来执行各条语句。 主要顺序语句: (1)顺序赋值语句; (2)wait语句; (3)if语句; (4)case语句; (5)loop语句; (6)next语句; (7)exit语句; (8)null语句; (9)return语句; (10)顺序断言语句; (11)report语句; (12)顺序过程调用语句
4.2.1顺序赋值语句 赋值语句:就是将一个值或一个表达式的运算结果传递给某一个数据对象; 作用:实现设计实体内的数据传递;对端口界面外部数据的读写; 分类:变量赋值语句;信号赋值语句 4.2.2wait语句 进程的工作状态:等待状态;执行状态 取决于敏感信号表中的信号或者是否有敏感信号激励; 敏感信号的激励: 由wait, wait for, wait until和 wait on后面的条件表达式和时间表达式激励 Wai语句的4中基本格式: wait 无限等待; wait on敏感信号变化; wait until-条件表达式; wait for时间表达式 wait on语句 书写格式: wait on敏感信号[,敏感信号…]; 如: wait on a,b;“等待a,b信号发生变化
4.2.1顺序赋值语句 赋值语句:就是将一个值或一个表达式的运算结果传递给某一个数据对象; 作用:实现设计实体内的数据传递;对端口界面外部数据的读写; 分类:变量赋值语句;信号赋值语句 4.2.2 wait语句 进程的工作状态:等待状态;执行状态 取决于敏感信号表中的信号或者是否有敏感信号激励; 敏感信号的激励: 由wait, wait for, wait until和wait on后面的条件表达式和时间表达式激励 wait语句的4中基本格式: wait --无限等待; wait on --敏感信号变化; wait until --条件表达式; wait for --时间表达式 ⚫wait on 语句 书写格式: wait on 敏感信号 [,敏感信号……]; 如: wait on a, b; --等待a,b信号发生变化
(2) waituntil语句 书写格式: wait until条件表达式; 条件表达式为布尔表达式,当返回值为真时才能再次启动进程 to: wait until a'event and a=1,: (3) wait for语句 书写格式: wait for时间表达式; 当时间表达式规定的时间到时进程才脱离等待状态而进入执行状态 如: wait for10ns; 例:RS触发器 触发器:是构成时序逻辑电路的基本单元,常用于数据暂存、延时、计数 分频和波形产生电路 RS RS触发器的真值表 输入 输出 s R01 Q0 r q S1010 0 保持 保持 RS触发器的电路符号 0 不定 不定
(2)wait until语句 书写格式: wait until 条件表达式; 条件表达式为布尔表达式,当返回值为真时才能再次启动进程。 如:wait until a’event and a=‘1’; (3)wait for 语句 书写格式: wait for 时间表达式; 当时间表达式规定的时间到时进程才脱离等待状态而进入执行状态 如: wait for 10ns; 例:RS触发器 触发器:是构成时序逻辑电路的基本单元,常用于数据暂存、延时、计数、 分频和波形产生电路 输入 输出 R S Q 0 1 0 1 1 0 1 0 1 1 保持 保持 0 0 不定 不定 RS触发器的真值表 RS触发器的电路符号 RS r s qn q Q
S-set置位端 R- reset复位端 Q、Qn-输出端 低电平输入有效的RS触发器波形图 ●原理图输入法 RS触发器原理图
S R Q Q 低电平输入有效的RS触发器波形图 S –set 置位端 R – reset 复位端 Q、Qn – 输出端 ⚫原理图输入法 NAND2 inst NAND2 inst1 VCC S INPUT VCC R INPUT OUTPUT Q OUTPUT Qn RS触发器原理图
●文本编辑法 library ieee useieee.std_logic_1164.all; useieee. std _logic_unsigned. all; entity rsis port(r, s in std _logic q, qn: out std lo gic) end rs: architecture one ofrs is signal q1, qn1: std logic; begin gin q1<-s nand qn qn1 <=rand q1; q<=q1 gns=gn end one;
⚫文本编辑法 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity RS is port(r,s:in std_logic; q, qn: out std_logic); end RS; architecture one of RS is signal q1,qn1: std_logic; begin q1<=s nand qn1; qn1 <= r nand q1; q<=q1; qn <= qn1; end one;