第五章5556知识分享_第1页
第五章5556知识分享_第2页
第五章5556知识分享_第3页
第五章5556知识分享_第4页
第五章5556知识分享_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

5.5进程(PROCESS)1、进程语句格式[进程标号]:PROCESS[(敏感信号参数表)][IS][进程说明部分]BEGIN顺序描述语句ENDPROCESS[进程标号]

;D触发器的例子

Entitytest1ISPORT(clk,d:INBIT;q:OUTBIT);ENDtest1;ARCHITECTUREtest1_bodyOFtest1ISBEGINPROCESS(clk)BEGINIF(clk=‘1’)THENq<=d;ENDIF;ENDPROCESS;ENDARCHITECTUREtst1_body;当进程中定义的任一敏感信号发生更新时,由顺序语句定义的行为就要重复执行一次,执行完毕,返回进程的首语句,等待新的敏感信号变化。

2、PROCESS组成——进程说明、顺序描述语句、敏感信号表

(1)进程说明

定义局部量(数据类型、常数、变量、子程序……)(2)顺序描述语句信号(SIGNAL)赋值语句变量(VARIABLE)赋值语句进程启动语句:可通过WAIT语句实现子程序调用语句顺序描述语句:IF、CASE、LOOP、NULL……进程跳出语句:NEXT、EXIT(3)敏感信号表如有WAIT语句,可不用敏感信号表▲:大多数专业VHDL综合器不承认这类语法描述,它们都要求将该进程

中的所有输入信号都列进敏感信号表中,否则将给予警告信息。Comb:PROCESS(b)BEGINc<=NOT(aandb)AFTER20ns;d<=NOTbAFTER10ns;ENDPROCESSComb;Comb:PROCESS(a,b)BEGINc<=NOT(aandb)AFTER20ns;d<=NOTbAFTER10ns;ENDPROCESSComb;在b的值变化之前,C保持不变有可能错!Comb:PROCESS(a,b,c)BEGINd<=(aandb)orc;ENDPROCESSComb;4、进程要点(1)PROCESS为一无限循环语句,不必设置返回语句,返回是自动的。进程有两种状态:执行状态和等待状态。(2)PROCESS中的顺序语句具有,明显的顺序/并行运行双重性在PROCESS中,如果是信号赋值则具有并行运行特征,如果是变量赋值则有明显的顺序运行特征。如:

….SIGNALA,B:STD_LOGIC;BEGINPROCESS(CLK)BEGINIFCLK‘EVENTANDCLK=‘1’THENA<=D1;B<=A;Q1<=B;ENDIF;ENDPROCESS;PROCESS(CLK)VARIABLEA,B:STD_LOGIC;BEGINIFCLK‘EVENTANDCLK=‘1’THENA:=D1;B:=A;Q1<=B;ENDIF;ENDPROCESS;4、进程要点(3)进程必须由敏感信号的变化来启动进程必须由敏感信号表中定义的任一敏感信号的变化来启动,否则必须有个显式的WAIT语句来激励。(4)进程语句本身是并行语句事实上,任何一条信号的并行赋值语句都是一个简化的进程语句,其输入表达式中的各信号都是此“进程语句”的敏感信号。(为什么不说是变量?)4、进程要点(5)信号是多个进程间的通信线进程间的通信是通过信号来实现的,所以结构体中的多个进程能同步运行。因此,相对结构体来说,信号具有全局特性,它是进程间进行并行联系的重要途径。(这也说明了为什么在进程的说明部分不允许定义信号)4、进程要点(6)一个进程中只允许描述对应于一个时钟信号的同步时序逻辑时序电路必须由进程中的顺序语句描述,而此顺序语句必须由不完全的条件语句构成。但是此顺序语句只能构成对应于一个时钟信号的同步时序逻辑。异步时序逻辑只能由多个时钟进程语句来构成。

4、进程要点(7)顺序语句所对应的硬件不一定是顺序的在VHDL中,所谓顺序仅仅是指语句按序执行上的顺序性,但是这并不意味着PROCESS语句结构在综合后所对应的硬件逻辑行为也具有相同的顺序性。(8)组合进程和时序进程使用方法不同。组合进程中的顺序语句使用完整的条件语句,如IF…THENELSE语句,而时序进程使用不完整的条件语句,如IF…THEN语句。5.6仿真延时5.6仿真延时

VHDL源程序图形图文编辑器编译器综合器VHDL仿真不带有目标器件的延时信息是行为仿真,使用VHDL仿真器:Mentor:RenoirXilinx:Foundation系列功能仿真是行为仿真不考虑延时信息,使用门级仿真器时序仿真是门级仿真器完成的带有适配后的时序信息ModelSimActive说明:1、VHDL仿真对文本输入和图形输入均可以进行,但必须有相应的翻译器转换成文本。2、对VHDL网表文件的仿真结果与实际很接近。网表文件是自动生成的,3、大型设计中VHDL仿真是有效的查错、纠错手段。4、MaxPlusII输出的SNF文件供仿真使用的。5.6仿真延时时序仿真:不需要建立延时模型行为仿真:需要建立延时模型。固有延时传输延时1.固有延时(惯性延时)电子器件本身的延时。要求输入信号的宽度必须大于惯性延时,才能得到输出。输入信号的宽度必须小于惯性延时,输出不变。VHDL仿真的处理:采用默认的无穷小量δ

(δ延时,仿真δ)z<=xXORyAFTER5ns;z<=xXORy2、传输延时表示连线的延时,与信号的延续时间无关。输出对输入的滞后。传输延时关键词:TRANSPORT3、仿真δ(仿真Δ)

理想假设:器件间的延时为零实际情况:敏感信号变化时语句执行是有先后的,不同的执行顺序和不同的仿真器可能给出不同的仿真结果。解决办法:VHDL仿真器在行为仿真和功能仿真中配置一个足够小、仅能满足逻辑排序的延

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论