网站大量收购独家精品文档,联系QQ:2885784924

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

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

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EDA第五章VHDL设计进阶3节-并行语句-定稿分析

黑龙江大学电子工程学院 第五章 VHDL设计进阶 本章对VHDL的语言规则和语句类型做系统的论述。 一、 VHDL语言要素 二、VHDL顺序语句 三、VHDL并行语句※ 四、子程序 五、库、程序包及其配置 六、VHDL描述风格 七、常用元件设计举例 八、VHDL与原理图混合设计方式 三、 VHDL并行语句 VHDL中并行语句具有多种语句格式,各种并行语句在结构体中是并行执行的,执行方式与书写的顺序无关。 并行语句内部还可以包括并行语句和顺序语句。 并行语句主要有:进程语句、并行信号赋值语句、块语句、元件例化语句,生成语句和并行过程调用语句等。 1、进程语句 √ 2、并行信号赋值语句 3、块语句结构 4、并行过程调用语句 5、元件例化语句 6、生成语句 1、 进程(PROCESS)语句 –使用最频繁,最能体现VHDL语言特点的语句 进程语句提供了一种使用顺序语句描述硬件行为的方法。一个结构体中可以包含多个进程,各进程是并行运行的,而进程内部是顺序执行的。 (1)、PROCESS语法 [进程标号:] PROCESS[(敏感信号参数表)][IS] [进程说明部分] --用于定义该进程所需的局部数据环境 BEGIN 顺序描述语句;--用于描述进程的行为 END PROCESS [进程标号]; 顺序描述语句部分是用于描述进程行为的顺序执行语句。 PROCESS中规定每个进程语句在参量表中列出的某一个敏感信号的值改变的时候,立刻完成某一功能行为。行为的结果一般通过信号传递给其他的进程或者块语句。 当进程的最后一个语句执行后,立即返回到进行的第一个语句,等待敏感信号的下一次变化。 但是当进程执行时遇到WAIT语句时候,进程会被挂起。 如果一个结构体中含有多个激活的进程,那么这些进程是并行运行的。 (2)、进程的组成 进程(PROCESS)语句由进程说明部分,顺序描述语句部分和敏感信号参量表三部分组成。 I、进程说明部分主要定义了一些局部量,可包括数据类型、常量、属性、子程序等。但是不能在此处定义信号和共享变量。 II、顺序描述语句部分可分为赋值语句、进程启动语句、子程序调用语句、顺序描述语句和进程跳出语句等。 信号赋值语句:在进程中将计算或者处理的结果向信号赋值。 变量赋值语句:在进程中以变量的形式存储计算的中间值。 进程启动语句:当进程没有列出敏感信号列表的时候,进程的启动是通过进程里面的WAIT语句的条件来监视信号的变化,来决定进程是否启动的。 子程序调用语句:对已定义的过程和函数进行调用,并参与计算。 顺序描述语句:包括IF语句、CASE语句、LOOP语句和NULL语句等。 进程跳出语句:包括NEXT语句和EXIT语句。 III、敏感信号列表需要列出用于启动本进程的可读入的信号名(有WAIT语句的除外)。 (3)、进程设计要点 I、虽然结构体中的进程是并行的,但同一个进程中的逻辑描述语句是顺序进行的,因此进程中只能设置顺序语句。 II、进程的执行需要敏感信号列表中列出的敏感信号的变化来启动,或者由WAIT语句来激活。也就是进程中必须设置显示的或者隐式的敏感信号。且有了敏感信号列表的的进程中不能有WAIT语句。 III、结构体的多个进程之间通过信号和共享变量来实现进程之间的并行执行。敏感信号列表需要列出用于启动本进程的可读入的信号名(有WAIT语句的除外)。 IV、进程是一个重要的建模工具,进程的建模方式影响仿真结果。综合后对应于进程的硬件结构是对所有的读入信号都是敏感的,而在仿真时候,只是使用了列举的部分,这和综合后的电路功能有区别的,除非仿真时候将所有的可读入信号都列进去。 当把所有的信号都列举进去后,这个进程就和并行赋值语句很相似了。 一般IF语句被综合为组合逻辑电路,WAIT语句被综合为时序逻辑电路。 例5-22 进程的应用,要是两进程都把所有输入信号都列为敏感信号时, ENTITY mul IS --这两进程才能同时执行 PORT( a,b,c,selx,sely: IN BIT; data_out: OUT BIT ); END mul; ARCHITECTURE ex OF mul IS SIGNAL temp: BIT; BEGIN p_a:PROCESS(a,b,selx) BEGIN IF(selx=‘0’ )THEN temp = a; ELSE temp = b;--第一个进程启动会改变temp的值 END IF; END PROCESS p_a; p

文档评论(0)

wbjsn + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档