第六章VHDL的基本描述语句.ppt

第六章VHDL的基本描述语句.ppt

ID:60773770

大小:381.00 KB

页数:50页

时间:2020-02-03

第六章VHDL的基本描述语句.ppt_第1页
第六章VHDL的基本描述语句.ppt_第2页
第六章VHDL的基本描述语句.ppt_第3页
第六章VHDL的基本描述语句.ppt_第4页
第六章VHDL的基本描述语句.ppt_第5页
资源描述:

《第六章VHDL的基本描述语句.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章VHDL的基本描述语句6.1顺序语句6.1.1顺序赋值语句6.1.2IF语句6.1.3CASE语句6.1.4LOOP语句6.1.5NEXT语句6.1.6EXIT语句6.1.7WAIT语句6.1.8子程序调用语句6.1.9返回语句(RETURN)6.1.10空操作语句(NULL)6.1.11断言(ASSERT)语句6.1.12REPORT语句6.1顺序语句6.1.1顺序赋值语句信号赋值语句变量赋值语句赋值目标赋值符号赋值源信号或变量<=:=数值、逻辑或运算表达式IF<条件>THEN<语句>;ELSIF<条件>THEN<语句>;ELSIF<条件>T

2、HEN<语句>;……ELSE<语句>;ENDIF;IF语句的一般形式为:6.1.2IF语句IF<条件>THEN<语句>;ENDIF;IF<条件>THEN<语句>;ELSE<语句>;ENDIF;LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYddfISPORT(CLK:INSTD_LOGIC;D:INSTD_LOGIC;Q,QD:OUTSTD_LOGIC);ENDddf;ARCHITECTUREexOFddfISBEGIN【例】D触发器的VHDL语言描述PROCESS(CLK)BEGINIF(CLK'EVENT

3、)AND(CLK='1‘)THENQ<=D;QD<=notD;ENDIF;ENDPROCESS;ENDARCHITECTUREex;【例】D触发器的VHDL语言描述【例】用VHDL设计一家用告警系统的控制逻辑,它有来自传感器的三个输入信号smoke、door、water和准备传输到告警设备的三个输出触发信号fire_alarm、burg_alarm、water_alarm以及使能信号en和alarm_en。VHDL程序描述如下:LIBRARYieee;USEieee.std_logic_1164.all;ENTITYalarmISPORT(smoke

4、,door,water:INstd_logic; en,alarm_en:INstd_logic; fire_alarm,burg_alarm,water_alarm:OUTstd_logic);ENDalarm;ARCHITECTUREalarm_arcOFalarmISBEGINPROCESS(smoke,door,water,en,alarm_en)BEGINIF((smoke=‘1’)AND(en=‘0’))THENfire_alarm<=‘1’;ELSEfire_alarm<=‘0’;ENDIF;IF((door=‘1’)AND((en=‘

5、0’)AND(alarm_en=‘0’)))THENburg_alarm<=‘1’;ELSEburg_alarm<=‘0’;ENDIF;IF((water=‘1’)AND(en=‘0’))THENwater_alarm<=‘1’;ELSEwater_alarm<=‘0’;ENDIF;ENDPROCESS;ENDalarm_arc;6.1顺序语句6.1.3CASE语句CASE语句的结构如下:CASE<表达式>ISWHEN<值>=><语句>;WHEN<值>

6、<值>=><语句>;WHEN<离散范围>=><语句>;WHENOTHERS=><语句>;ENDCA

7、SE;多条件选择值的一般表达式为:选择值[

8、选择值]选择值可以有四种不同的表达方式:单个普通数值,如6。数值选择范围,如(2TO4),表示取值为2、3或4。并列数值,如35,表示取值为3或者5。混合方式,以上三种方式的混合。PORT(…z1,z2,z3,z4:outstd_logic);…SIGNALvalue:INTEGERRANGE0TO15;CASEvalueISWHEN0=>z1<=‘1’;--value=0时WHEN1

9、3=>z2<=‘0’;--value=1或3时WHEN4TO7

10、2=>z3<=‘1’;--value=4、5、6、7或2

11、时WHENOTHERS=>z4<=‘1’;--value=8~15时ENDCASE【例】SIGNALvalue:INTEGERRANGE0TO15;SIGNALout1:STD_LOGIC;...CASEvalueIS--缺少以WHEN引导的条件句ENDCASE;...CASEvalueISWHEN0=>out1<='1';--value2~15的值未包括进去WHEN1=>out1<='0';ENDCASE...CASEvalueISWHEN0TO10=>out1<='1';--选择值中5~10的值有重叠WHEN5TO15=>out1<='0';EN

12、DCASE;CASE语句使用时容易发生的错误:【例】(3-8译码器)libraryieee;useieee.

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

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

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