EDA第五章VHDL设计进阶3节-并行语句-定稿ppt课件.ppt

EDA第五章VHDL设计进阶3节-并行语句-定稿ppt课件.ppt

ID:59476172

大小:1.15 MB

页数:26页

时间:2020-09-14

EDA第五章VHDL设计进阶3节-并行语句-定稿ppt课件.ppt_第1页
EDA第五章VHDL设计进阶3节-并行语句-定稿ppt课件.ppt_第2页
EDA第五章VHDL设计进阶3节-并行语句-定稿ppt课件.ppt_第3页
EDA第五章VHDL设计进阶3节-并行语句-定稿ppt课件.ppt_第4页
EDA第五章VHDL设计进阶3节-并行语句-定稿ppt课件.ppt_第5页
资源描述:

《EDA第五章VHDL设计进阶3节-并行语句-定稿ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第五章VHDL设计进阶本章对VHDL的语言规则和语句类型做系统的论述。一、VHDL语言要素二、VHDL顺序语句三、VHDL并行语句※四、子程序五、库、程序包及其配置六、VHDL描述风格七、常用元件设计举例八、VHDL与原理图混合设计方式三、VHDL并行语句VHDL中并行语句具有多种语句格式,各种并行语句在结构体中是并行执行的,执行方式与书写的顺序无关。并行语句内部还可以包括并行语句和顺序语句。并行语句主要有:进程语句、并行信号赋值语句、块语句、元件例化语句,生成语句和并行过程调用语句等。1、进程

2、语句√2、并行信号赋值语句3、块语句结构4、并行过程调用语句5、元件例化语句6、生成语句1、进程(PROCESS)语句–使用最频繁,最能体现VHDL语言特点的语句进程语句提供了一种使用顺序语句描述硬件行为的方法。一个结构体中可以包含多个进程,各进程是并行运行的,而进程内部是顺序执行的。(1)、PROCESS语法[进程标号:]PROCESS[(敏感信号参数表)][IS][进程说明部分]--用于定义该进程所需的局部数据环境BEGIN顺序描述语句;--用于描述进程的行为ENDPROCESS[进程标号]

3、;顺序描述语句部分是用于描述进程行为的顺序执行语句。PROCESS中规定每个进程语句在参量表中列出的某一个敏感信号的值改变的时候,立刻完成某一功能行为。行为的结果一般通过信号传递给其他的进程或者块语句。当进程的最后一个语句执行后,立即返回到进行的第一个语句,等待敏感信号的下一次变化。但是当进程执行时遇到WAIT语句时候,进程会被挂起。如果一个结构体中含有多个激活的进程,那么这些进程是并行运行的。(2)、进程的组成进程(PROCESS)语句由进程说明部分,顺序描述语句部分和敏感信号参量表三部分组成

4、。I、进程说明部分主要定义了一些局部量,可包括数据类型、常量、属性、子程序等。但是不能在此处定义信号和共享变量。II、顺序描述语句部分可分为赋值语句、进程启动语句、子程序调用语句、顺序描述语句和进程跳出语句等。信号赋值语句:在进程中将计算或者处理的结果向信号赋值。变量赋值语句:在进程中以变量的形式存储计算的中间值。进程启动语句:当进程没有列出敏感信号列表的时候,进程的启动是通过进程里面的WAIT语句的条件来监视信号的变化,来决定进程是否启动的。子程序调用语句:对已定义的过程和函数进行调用,并参与

5、计算。顺序描述语句:包括IF语句、CASE语句、LOOP语句和NULL语句等。进程跳出语句:包括NEXT语句和EXIT语句。III、敏感信号列表需要列出用于启动本进程的可读入的信号名(有WAIT语句的除外)。(3)、进程设计要点I、虽然结构体中的进程是并行的,但同一个进程中的逻辑描述语句是顺序进行的,因此进程中只能设置顺序语句。II、进程的执行需要敏感信号列表中列出的敏感信号的变化来启动,或者由WAIT语句来激活。也就是进程中必须设置显示的或者隐式的敏感信号。且有了敏感信号列表的的进程中不能有W

6、AIT语句。III、结构体的多个进程之间通过信号和共享变量来实现进程之间的并行执行。敏感信号列表需要列出用于启动本进程的可读入的信号名(有WAIT语句的除外)。IV、进程是一个重要的建模工具,进程的建模方式影响仿真结果。综合后对应于进程的硬件结构是对所有的读入信号都是敏感的,而在仿真时候,只是使用了列举的部分,这和综合后的电路功能有区别的,除非仿真时候将所有的可读入信号都列进去。当把所有的信号都列举进去后,这个进程就和并行赋值语句很相似了。一般IF语句被综合为组合逻辑电路,WAIT语句被综合为时

7、序逻辑电路。例5-22进程的应用,要是两进程都把所有输入信号都列为敏感信号时,ENTITYmulIS--这两进程才能同时执行PORT(a,b,c,selx,sely:INBIT;data_out:OUTBIT);ENDmul;ARCHITECTUREexOFmulISSIGNALtemp:BIT;BEGINp_a:PROCESS(a,b,selx)BEGINIF(selx=‘0’)THENtemp<=a;ELSEtemp<=b;--第一个进程启动会改变temp的值ENDIF;ENDPROCESS

8、p_a;p_b:PROCESS(temp,c,sely)--temp是第二个进程的敏感信号BEGINIF(sely=‘0’)THENdata_out<=temp;ELSEdata_out<=c;ENDIF;ENDPROCESSp_b;ENDex;--第一个进程启动,第二个接着就会启动,而第二个可以独立启动2、并行信号赋值语句并行赋值语句要求赋值目标必须是信号,在结构体中是同时执行的,每一个赋值语句相当于缩写的进程语句。所有的输入信号都被隐性的列为敏感信号列表中,任何信号变化都会启动相关的并行语句

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

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

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