网站大量收购闲置独家精品文档,联系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节-并行语句-定稿教程

;;;(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_b:PROCESS(temp,c,sely) --temp是第二个进程的敏感信号 BEGIN IF(sely=‘0’ )THEN data_out = temp; ELSE data_out = c; END IF; END PROCESS p_b; END ex;--第一个进程启动,第二个接着就会启动,而第二个可以独立启动;;(2)、条件信号赋值语句 赋值目标 = 表达式1 WHEN 赋值条件1 ELSE 表达式2 WHEN 赋值条件2 ELSE : 表达式n; 程序顺序检查各个赋值条件是否为真,将第一个为真的赋值条件的表达式结果赋给赋值目标。赋值条件允许有重叠的情况。且ELSE不能省略,这两点和CASE语句不同。条件中不能出现时钟判断,因为属性属于顺序语句 ENTITY mux IS 例5-24 –条件信号赋值语句 PORT( a,b,c:IN BIT; p1,p2:IN BIT; z:OUT BIT); END mux; ARCHITECTURE behave OF mux IS BEGIN z= a WHEN p1=‘1’ ELSE --顺序查找各个条件,只执行第一个满足 b WHEN p2 =‘1’ELSE --条件的赋值操作,有优先级 c; END;;(3)、选择信号赋值语句 WITH 选择表达式 S

文档评论(0)

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

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

1亿VIP精品文档

相关文档