硬件描述语言及器件4(侯伯亨版).pptVIP

  • 10
  • 0
  • 约1.16万字
  • 约 53页
  • 2018-03-10 发布于湖北
  • 举报
硬件描述语言及器件4(侯伯亨版)

进程语句是并行处理语句,即各个进程是同时处理的,在一个结构体中多个Process语句是同时并发运行的。 Process语句具有如下特点: (1) 进程内部的所有语句都是顺序执行的。 (2) 多进程之间,是并行执行的,并可访问构造体或实体中所定义的信号。 (3) 进程的启动是由进程标识符Process后的敏感信号来触发,也可用WAIT语句等待一个触发条件的成立。 (4) 各进程之间的通信是由信号来传递的。 进程语句 代入语句(信号代入语句)可以在进程内部使用,此时它作为顺序语句形式出现; 代入语句(并发信号代入语句)也可以在构造体的进程之外使用,此时它作为并发语句形式出现。一个并发信号代入语句实际上是一个进程的缩写。 并发信号代入语句可以仿真加法器、乘法器、除法器、比较器及各种逻辑电路的输出。因此,在代入符号“=”的右边可以用算术运算表达式,也可以用逻辑运算表达式,还可以用关系操作表达式来表示。 并发信号代入语句 ARCHITECTURE behav OF a_var IS BEGIN output=a(i); END behav ; ARCHITECTURE behav OF a_var IS BEGIN PROCESS(a(i)) BEGIN output= a(i); END PROCESS END behav ; 两者相同 等待a(i)变化 条件信号代入语句属于并发描述语句的范畴,可以根据不同的条件将不同的表达式的值代入目的信号量。 条件信号代入语句书写的一般格式为: 目的信号量=表达式1 WHEN 条件1 ELSE 表达式2 WHEN 条件2 ELSE 表达式3 WHEN 条件3 ELSE … 表达式n-1 WHEN 条件n-1 ELSE 表达式n; 条件信号代入语句 在执行条件信号代入语句时,赋值条件按书写顺序逐项测试,一旦发现某一赋值条件得到满足,即将相应表达式的值赋给目标信号,并不再测试下面的赋值条件。换言之,各赋值子句有优先级的差别,按书写顺序从高到低排序。 因为各赋值子句有优先级的差别,所以各赋值条件可以重叠。 条件信号代入语句的执行过程 ARCHITECTURE rtl OF mux4 IS SIGNAL sel :STD_LOGIC_Vector(1 DOWNTO 0); BEGIN Sel = b a; q = i0 WHEN sel=00 ELSE i1 WHEN sel=01 ELSE i2 WHEN sel=10 ELSE i3 WHEN sel=11 ELSE X; END rtl ; 四 选 一 i0 i1 i2 i3 b a q 例6-17:利用条件信号代入语句来描述的四选一逻辑电路 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity mux4 is port(a,b: in std_logic; i0,i1,i2,i3 : in std_logic; q : out std_logic ); end entity mux4; IF语句只能在进程内部使用,因为它们是顺序的。 条件信号代入语句中的ELSE是一定要有的,而IF语句则可以有也可以没有。 条件信号代入语句不能进行嵌套,而IF语句可以。 用条件信号代入语句所描述的电路,与逻辑电路的工作情况比较贴近。 组合逻辑电路用条件信号代入语句,时序逻辑电路用IF语句。 条件信号代入语句与IF语句的比较 选择信号代入语句对选择条件表达式进行测试,当选择条件表达式取值不同时,将使信号表达式不同的值代入目的信号量。 选择信号代入语句类似于CASE语句。 选择信号代入语句的书写格式如下: WITH 选择条件表达式 SELECT 目的信号量=信号表达式1 WHE

文档评论(0)

1亿VIP精品文档

相关文档