欢迎来到天天文库
浏览记录
ID:57014444
大小:433.50 KB
页数:80页
时间:2020-07-26
《基本语句课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第10章VHDL基本语句110.1顺序语句10.1.1赋值语句信号赋值语句变量赋值语句10.1.2IF语句10.1.3CASE语句单个普通数值,如6。数值选择范围,如(2TO4)。并列数值,如310。混合方式,以上三种方式的混合。VHDL有6种基本顺序语句:赋值语句、流程控制语句、等待语句、子程序调用语句、返回语句、空操作语句.多条件选择值表达式的4种形式2(1)IF条件句THEN顺序语句ELSIF条件句THEN顺序语句…ELSE顺序语句ENDIF;(2)IF条件句THEN顺序语句ELSE顺序语句ENDIF;2.IF语句完全IF语句(3)IF条件句THEN顺序语句ENDIF;(
2、4)IF条件句THEN顺序语句ELSIF条件句THEN顺序语句ENDIF;不完全IF语句32.CASE语句CASE<表达式>ISWhen<选择值1>=><顺序语句>;When<选择值2>=><顺序语句>;...Whenothers=><顺序语句(或NULL)>;ENDCASE;•选择值可以有四种不同的表达方式:单个普通数值:如6。数值选择范围:如(2TO4),表示取值为2、3或4。并列数值:如35,表示取值为3或者5。混合方式:以上三种方式的混合。CASE语句的格式:4•用CASE语句应该注意三个问题:(1)关键字WHEN的数量不作限制,但不容许两个语句用一个值;(2)所有WH
3、EN后面的值在CASE语句中合起来的值是值域中的全部;(3)WHEN语句的次序可以任意排定。•CASE语句是VHDL提供的另一种形式的控制语句,每当单个表达式的值在多个起作用的项中选择时,用此语句是较合适的,它根据所给表达式的值或域,选择“=>”后面的执行语句。5[例]:用VHDL设计7段16进制译码器用CASE语句完成真值表的功能向7段数码管输出信号,最高位控制小数点6注意,此语句必须加入4位加法计数器7段译码器8位总线输出信号输出one;7KX康芯科技【例10-1】LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYmux41ISPORT
4、(s4,s3,s2,s1:INSTD_LOGIC;z4,z3,z2,z1:OUTSTD_LOGIC);ENDmux41;ARCHITECTUREactivOFmux41ISSIGNALsel:INTEGERRANGE0TO110;BEGINPROCESS(sel,s4,s3,s2,s1)BEGINsel<=0;--输入初始值IF(s1='1')THENsel<=sel+1;ELSIF(s2='1')THENsel<=sel+2;ELSIF(s3='1')THENsel<=sel+4;ELSIF(s4='1')THENsel<=sel+8;ELSENULL;--注意,这里使用了空操
5、作语句ENDIF;z1<='0';z2<='0';z3<='0';z4<='0';--输入初始值CASEselISWHEN0=>z1<='1';--当sel=0时选中WHEN13=>z2<='1';--当sel为1或3时选中WHEN4To72=>z3<='1';--当sel为2、4、5、6或7时选中WHENOTHERS=>z4<='1';--当sel为8~110中任一值时选中ENDCASE;ENDPROCESS;ENDactiv;4选1选择器:根据4位输入码来确定4位输出中哪一位输出为1.810.1顺序语句10.1.3CASE语句【例10-2】SIGNALvalue:INTE
6、GERRANGE0TO110;SIGNALout1:STD_LOGIC;...CASEvalueIS--缺少以WHEN引导的条件句ENDCASE;...CASEvalueISWHEN0=>out1<='1';--value2~110的值未包括进去WHEN1=>out1<='0';ENDCASE...CASEvalueISWHEN0TO10=>out1<='1';--选择值中10~10的值有重叠WHEN10TO110=>out1<='0';ENDCASE;910.1顺序语句10.1.3CASE语句与IF语句相比,CASE语句组的程序可读性比较好,这是因为它把条件中所有可能出现的情况
7、全部列出来了,可执行条件一目了然.而且CASE语句的执行过程即条件性是独立的,排它的,而不像IF语句那样有一个逐项条件顺序比较的过程.CASE中条件句的次序是不重要的,其运行方式更接近于并行方式.一般地,综合后对相同的逻辑功能,CASE语句比IF语句的描述耗用更多的硬件资源,不但如此,对于有的逻辑,CASE语句无法描述.1010.1.4LOOP语句(1)单个LOOP语句,其语法格式如下:[LOOP标号:]LOOP顺序语句ENDLOOP[LOOP标号];...L2:LOOPa:=a
此文档下载收益归作者所有