《VHDL并行语句》PPT课件.ppt

《VHDL并行语句》PPT课件.ppt

ID:51091515

大小:336.50 KB

页数:36页

时间:2020-03-18

《VHDL并行语句》PPT课件.ppt_第1页
《VHDL并行语句》PPT课件.ppt_第2页
《VHDL并行语句》PPT课件.ppt_第3页
《VHDL并行语句》PPT课件.ppt_第4页
《VHDL并行语句》PPT课件.ppt_第5页
资源描述:

《《VHDL并行语句》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、六、VHDL语言的并行语句1、并行信号赋值语句4、进程语句3、块语句2、条件信号赋值语句5、元件例化语句6、生成语句7、并行过程调用语句结构体结构体中的并行语句模块1、并行信号赋值语句赋值目标=表达式例ARCHITECTUREcurtOFbc1ISSIGNALs1,e,f,g,h:STD_LOGIC;BEGINoutput1<=aANDb;output2<=c+d;g<=eORf;h<=eXORf;s1<=g;ENDARCHITECTUREcurt;2、条件信号赋值语句赋值目标<=表达式WHEN赋值条件ELSE表达式WHEN赋值条件ELSE...表达式;例ENTITYmuxISP

2、ORT(a,b,c:INBIT;p1,p2:INBIT;z:OUTBIT);END;ARCHITECTUREbehvOFmuxISBEGINz<=aWHENp1='1'ELSEbWHENp2='1'ELSEc;END;选择信号赋值语句WITH选择表达式SELECT赋值目标信号<=表达式WHEN选择值,表达式WHEN选择值,...,表达式WHEN选择值;例...WITHseltSELECTmuxout<=aWHEN0

3、1,--0或1bWHEN2TO5,--2或3,或4或5cWHEN6,dWHEN7,'Z'WHENOTHERS;...3、块语句块标号:BLOCK[(块保护表达式)]接口

4、说明;类属说明;BEGIN并行语句;ENDBLOCK块标号;与大部分的VHDL语句不同,BLOCK语句的应用,包括其中的类属说明和端口定义,都不会影响对原结构体的逻辑功能的仿真结果。例...b1:BLOCKSIGNALs1:BIT;BEGINS1<=aANDb;b2:BLOCKSIGNALs2:BIT;BEGINs2<=cANDd;b3:BLOCKBEGINZ<=s2;ENDBLOCKb3;ENDBLOCKb2;y<=s1;ENDBLOCKb1;...4、进程语句[进程标号:]PROCESS[(敏感信号参数表)][IS][进程说明部分]BEGIN顺序描述语句;ENDPROCESS[

5、进程标号];PROCESS语句结构的一般表达格式如下在一个结构体中多个PROCESS语句可以同时并发运行,而进程内部语句之间是顺序关系。PROCESS语句在VHDL程序中,是描述硬件并行工作行为的最常用、最基本的语句。PROCESS组成PROCESS语句结构进程说明顺序描述语句敏感信号参数表信号赋值语句变量赋值语句进程启动语句子程序调用语句顺序描述语句进程跳出语句(1)进程说明部分主要定义一些局部量,可包括数据类型、常数、属性、子程序等。但需注意,在进程说明部分中不允许定义信号和共享变量。(2)顺序描述语句部分可分为赋值语句、进程启动语句、子程序调用语句、顺序描述语句和进程跳出语句

6、等。(3)为启动进程,在进程中必须包含有一个显式的敏感信号量表或者包含一个WAIT语句;敏感信号表应当紧跟在PROCESS之后,含有敏感信号表的进程语句中不允许再显式出现WAIT语句。说明1.PROCESS为一无限循环语句2.PROCESS语句具有顺序/并行运行双重性3.进程必须由敏感信号的变化来启动4.信号是多个进程间的通信线PROCESS语句特点5.一个进程中只允许描述对应于一个时钟信号的同步时序逻辑例:ENTITYmulISPORT(a,b,c,selx,sely:INBIT;data_out:OUTBIT);ENDmul;ARCHITECTUREexOFmulISSIGNA

7、Ltemp:BIT;BEGINp_a:PROCESS(a,b,selx)BEGINIF(selx='0')THENtemp<=a;ELSEtemp<=b;ENDIF;ENDPROCESSp_a;p_b:PROCESS(temp,c,sely)BEGINIF(sely='0')THENdata_out<=temp;ELSEdata_out<=c;ENDIF;ENDPROCESSp_b;ENDex;上例的综合结果例:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCNT10ISPOR

8、T(CLR:INSTD_LOGIC;IN1:INSTD_LOGIC_VECTOR(3DOWNTO0);OUT1:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDENTITYCNT10;ARCHITECTUREARTOFCNT10ISBEGINPROCESS(IN1,CLR)ISBEGINIF(CLR=‘1’ORIN1="1001")THENOUT1<="0000";--有清零信号,或计数已达9,OUT1输出0ELSE--否则作加1操作OUT1<=I

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

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

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