CH9_VHDL基本语句

CH9_VHDL基本语句

ID:41300549

大小:221.00 KB

页数:33页

时间:2019-08-21

CH9_VHDL基本语句_第1页
CH9_VHDL基本语句_第2页
CH9_VHDL基本语句_第3页
CH9_VHDL基本语句_第4页
CH9_VHDL基本语句_第5页
资源描述:

《CH9_VHDL基本语句》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、第九章VHDL基本语句主要内容顺序语句变量说明语句变量赋值语句信号赋值语句IF语句CASE语句LOOP语句NEXT语句EXIT语句WAIT语句NULL语句RETURN语句过程调用语句10/3/20211并行语句并行信号赋值语句BLOCK(块)语句PROCESS(进程)语句并行过程调用语句GENERATE(生成)语句元件例化语句预定义信号属性实验四10/3/20212一.顺序语句CASE语句语法:CASE表达式ISWHEN选择值=>顺序语句;WHEN选择值=>顺序语句;……ENDCASE;例9-1:……ENTITYCaseExapISPORT(a:INSTD_LOGIC_VECTOR(4DOWN

2、TO0);q:OUTSTD_LOGIC_VECTOR(2DOWNTO0));ENDCaseExap;10/3/20213ARCHITECTUREarch_CaseExapOFCaseExapISBEGINPROCESS(a)BEGINCASEaISWHEN“00000”=>q<=“011”;WHEN“00001”TO“11110”=>q<=“010”;--错误WHENOTHERS=>q<=“000”;ENDCASE;ENDPROCESS;ENDarch_CaseExap;上例中由于向量是没有范围的,而程序中对向量指定了范围,因而出错。可先将向量转为整数来实现上述想法,具体如例9-2:10/3/

3、20214例9-2:……ARCHITECTUREarch_CaseExapOFCaseExapISBEGINPROCESS(a)VARIABLEint:INTEGERRANGE0TO31;BEGINint:=CONV_INTEGER(a)CASEintISWHEN0=>q<=“011”;WHEN1TO30=>q<=“010”;WHENOTHERS=>q<=“000”;ENDCASE;ENDPROCESS;ENDarch_CaseExap;10/3/20215LOOP语句LOOP语句使程序进行有规则的循环,循环的次数受迭代算法的控制。LOOP语句一般有两种格式:单个LOOP语句语法:[标号:]L

4、OOP顺序语句;ENDLOOP[标号];上述语句中需要加入其他控制语句(如EXIT语句)才能构成循环。10/3/20216FOR-LOOP语句语法:[标号:]FOR<循环变量>IN<离散范围>LOOP顺序语句;ENDLOOP[标号];例:asum:FORiIN1TO9LOOP--9次sum:=i+sum;ENDLOOPasum;LOOP循环的范围最好以常数表示,否则在LOOP体内的逻辑可以重复任何可能的范围,这将导致过大的硬件资源,综合器不支持没有约束条件的循环。10/3/20217NEXT语句语法:NEXT[标号][WHEN条件];在LOOP语句中,NEXT语句用于跳出本次循环。NEXT语句

5、后跟的标号表示下一次迭代的起始位置,WHEN条件表明了NEXT语句的执行条件。如果NEXT语句后既无标号也无WHEN条件,则执行到该语句就立即无条件跳出本次循环,从LOOP语句的起始位置进入下一次循环。EXIT语句语法:EXIT[标号][WHEN条件];EXIT语句与NEXT语句类似也是LOOP语句中使用的循环控制语句,与NEXT语句不同的是,执行EXIT将结束循环状态,从LOOP语句中跳出结束LOOP语句的正常执行。10/3/20218WAIT语句WAIT语句可以设置4种不同的条件:无限等待、时间到、条件满足和敏感信号量变化。WAIT--无限等待WAITON--敏感信号量变化WAITUNTI

6、L--条件满足WAITFOR--时间到WAITON语法:WAITON信号[,信号,……];WAITON后所列的信号中只要有一个发生变化,其所在进程将结束挂起状态,而继续执行WAITON语句的后继语句。10/3/20219WAITUNTIL语法:WAITUNTIL布尔表达式;WAITUNTIL后跟的是布尔表达式,当进程执行到该句时被挂起,直到表达式为真时,进程才被再次启动。WAITFOR语法:WAITFOR时间表达式;WAITFOR后跟的是时间表达式,当进程执行到该句时被挂起,直到指定的等待时间到时,进程再开始执行后继语句。10/3/202110多条件WAIT语句前面3个WAIT语句中,等待的条

7、件都是单一的,要么是信号量,要么是布尔量,要么是时间量。实际上WAIT语句可以同时使用多个等待条件,如:WAITONa,bUNTIL(a=1)OR(b=1)FOR5ns;上述语句等待的是3个条件:1)信号量a和b任何一个有一次新的变化;2)信号量a或b取值为1;3)该语句已等待5ns。只要上述条件中有一个或多个满足,进程将再次启动,继续执行WAIT语句后的语句。10/3/202111子程序调用语句

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。