- 1、本文档共65页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
电子设计自动化lzschaper5
VHDL常用语句 右图所示给出了常用的并行语句以及在同一结构体中各种并行语句运行的示意图。 这些语句不必同时使用,每一语句模块都可以独立异步运行,模块之间并行运行,并通过信号可交换信息。 VHDL并行语句 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 1、进程语句(PROCESS) 进程语句是VHDL程序中使用最频繁和最能体现VHDL语言特点的一种语句,其原因大概是由于它的并行和顺序行为的双重性,以及其行为描述风格的特殊性。一个结构体中可以包括多个进程语句,各进程语句之间或各进程语句与其他并行语句之间的通信是依靠信号(SIGNAL)来传递的。 进程语句通常由一段程序构成,虽然进程语句本身是并行语句,但其内部的语句是由顺序语句构成的。因此,在编写PROCESS的内部语句时要特别注意各语句书写的先后顺序,不同的语句书写顺序将导致不同的硬件设计结果。 VHDL并行语句 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 进程语句的书写格式为: [标号:]PROCESS(信号1,信号2,…) [进程说明语句] BEGIN [顺序语句] END PROCESS [标号]; (1)标号。标号是进程的名称,是为了区别同一结构体中的不同进程而设置的,但它并不是必需的。 VHDL并行语句 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. (3)进程说明语句。进程说明语句用于对该进程内所用到的“局部数据”进行定义(如常数、变量、信号等),这里所说的“局部数据”就是该数据只对本进程有效,只能用于本进程内,不可用于其他进程或并行语句中。若想把“局部数据”带出进程,则必须把该数据传递给“全局信号”(在结构体说明语句或实体说明部分所定义的信号),由“全局信号”带出该进程并可为其他进程或并行语句所使用。 (2)敏感信号。小括号中的信号是进程的敏感信号,进程的敏感信号可以由一个或多个组成,它是进程内所用到的一些信号。当任何一个敏感信号发生变化时,该进程才能被执行(或激活),其内部的顺序语句才能被执行一遍,当进程最后一条语句执行完成后,将返回到进程的第一条语句,以等待下一次敏感信号的变化。 VHDL并行语句 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 【例5-9】 ARCHITECTURE a OF states_mach IS BEGIN P1:PROCESS(clk) BEGIN IF (clk′event AND clk=′1′) THEN current_state=next_state; END IF; END PROCESS; ┇ END a; VHDL并行语句 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 上例中,P1为进程标号,时钟clk为敏感信号。每当clk发生一次变化时,BEGIN和END PROCESS之间的顺序语句就会运行一次。由于时钟clk变化包括上升沿和下降沿,为了准确描述,在顺序语句中用了一个条件判断语句“IF (clk′event AND clk=′1′) THEN”来判断clk的上升沿。若要判断clk的下降沿,可用“IF (clk′event AND clk=′0′) THEN ”语句。 VHDL并行语句 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyr
文档评论(0)