第四章 VHDL语言的主要描述语句
- 格式:ppt
- 大小:1.02 MB
- 文档页数:24


VHDL语言的主要描述语句按照语句的执行顺序对VHDL语言进行分类,包含两类语句:●并行描述语句该语句的执行与书写顺序无关,总是同时被执行●顺序描述语句从仿真的角度,该语句是顺序执行的进程语句(PROCESS)是最典型的并行语句,一个构造体可以有几个进程语句同时存在,而且并发执行。
但是进程部的所有语句都是顺序语句。
一、顺序描述语句顺序描述语句只能用在进程和子程序中,它和其他高级语言一样,其语句是按照语句的出现的顺序加以执行的。
如下分别介绍有关的顺序描述语句.1.WAIT语句进程在执行过程中总是处于两种状态:执行或挂起,进程的状态变化受等待语句的控制,当进程执行到等待语句,就被挂起,并等待再次执行进程.等待语句的格式:*WAIT 无限等待*WAIT ON 敏感信号变化*WAIT UNTIL 条件满足*WAIT FOR 时间到(1)WAIT ON格式:WAIT ON 信号[,信号]例5-1PROCESS(a,b)BEGINy<=a AND b;END PROCESS;该例中的进程与下例中进程相同:例5-1PROCESSBEGINy<=a AND b;WAIT ON a,b;END PROCESS;例5-2PROCESS(a,b)BEGINy<=a AND b;WAIT ON a,b;END PROCESS;(2)WAIT UNTIL 直到条件满足格式: WAIT UNTIL 布尔表达式当进程执行到该语句时,被挂起;若布尔表达式为真时,进程将被启动.例: WAIT UNTIL ((x*10)<100)(3)WAIT FOR 等到时间到格式: WAIT FOR 时间表达式当进程执行到该语句时,被挂起;等待一定的时间后,进程将被启动.例: WAIT FOR 20 ns;WAIT FOR (a*(b+c);(4)多条件WAIT 语句例: WAIT ON nmi,interrupt UNTIL ((nmi=TRUE) OR (interrupt=TRUE)) FOR 5 us 该等待有三个条件:第一,信号nmi和interrupt 任何一个有一次刷新动作第二, 信号nmi和interrupt 任何一个为真第三, 已等待5 us只要一个以上的条件被满足,进程就被启动.*注意:多条件等待时,表达式的值至少应包含一个信号量的值。
HDL语言的主要描述语句5.1 顺序描述语句5.2 并发描述语句5.3 GENERARE语句5.4 属性(attribute)描述5.1顺序描述语句●WAIT语句●断言语句●信号赋值语句●变量赋值语句●IF语句●CASE语句●LOOP语句●NEXT 语句●过程调用语句●NULL语句(只占位置的空操作,对信号赋空值,表示关闭)1.WAIT语句●WAIT语句用于多种不同的目的,常用于为综合工具指定时钟输入。
另一用途是将进程的执行延时一段时间或者是为了动态地修改进程的敏感表。
●wait 语句的执行会暂停进程的执行,直到信号敏感表发生变化或某种条件满足为止。
若进程中含信号敏感表,则必须紧跟在procees之后,这等价于该进程最后一个语句为wait on 语句;此时不能用显式的wait语句。
●4种不同条件:WAIT ---无限等待WAIT ON ---敏感信号量变化WAIT UNTIL ---条件满足WAIT FOR ---指定的持续时间●WAIT ON*格式:WAIT ON 信号[,信号];*例1:WAIT ON a,b;表示,当a或b变化时,进程便执行后继的语句*例2:process(a,b)beginy<=a and b;end process;processbeginy<=a and b;wait on a,b;end process;以上两进程等价。
●WAIT UNTIL*表示当检测到某个信号出现之前,进程被终止*格式:WAIT UNTIL 条件表达式*例:WAIT UNTIL 信号 = 数值;WAIT UNTIL 信号‘event and 信号 = 数值;WAIT UNTIL not 信号’stableand 信号 = 数值;wait until CLK='1';wait until CLK'event and CLK='1';wait until not CLK'stable and CLK='1';电路综合时,以上3种情况硬件无差别。