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

EDA课件儿6章节.ppt

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6讲 VHDL基本语句与基本设计 ----并行语句   §6.1.进程(PROCESS)语句 在VHDL程序中,PROCESS语句是描述硬件并行工作行为的最常用、最基本的语句。   一个结构体中通常包含多个进程语句结构,这些进程语句之间是并行关系的,而每一进程的内部是由一系列顺序语句构成的。PROCESS语句结构包含了一个描述设计实体中某一模块部分逻辑行为的、独立的顺序语句描述的部分。 PROCESS语句具有如下特点:   (1) 进程结构中的所有语句都是按顺序执行的。   (2) 多进程之间是并行执行的,并可存取结构体或实体中所定义的信号。   (3) 在进程结构中必须包含一个显式的敏感信号量表或者包含一个WAIT语句。 (4) 进程之间的通信是通过信号量传递来实现的。     PROCESS语句的一般书写结构、组织形式如下:   [进程名:] PROCESS [敏感信号表][IS]     [进程说明部分]    BEGIN    顺序描述语句部分   END PROCESS [进程名];   顺序描述语句部分可分为: (1) 信号赋值语句:在进程中将计算或处理的结果向信号赋值。 (2) 变量赋值语句:在进程中以变量的形式存储计算的中间值。 (3) 进程启动语句:当PROCESS的敏感信号表没有列出任何敏感量时,进程的启动只能通过进程启动语句。这时可以利用WAIT语句监视信号的变化情况,以便决定是否启动进程。WAIT语句可以看成是一种隐式的敏感信号表。 (4) 子程序调用语句:对已定义的过程和函数进行调用,并参与计算。 (5) 顺序描述语句:包括IF语句、CASE语句、LOOP语句和NULL语句等。 (6) 进程跳出语句:包括NEXT语句和EXIT语句,用于控制进程的运行方向。 [例6.16]所示是一个时钟同步D触发器的VHDL描述。   与其他语句相比,进程语句结构具有更多的特点,对进程的认识和进行进程的设计需要注意以下几方面的问题。   (1) ?PROCESS为一无限循环语句。在同一结构体中的任一进程是一个独立的无限循环程序结构。进程只有两种运行状态,即执行状态和等待状态。   [例6.17]   SIGNAL sel:STD_LOGIC_VECTOR(3 DOWNTO 0);   SIGNAL q:STD_LOGIC_VECTOR(2 DOWNTO 0);   PROCESS(sel)   VARIABLE so:STD_LOGIC_VECTOR(2 DOWNTO 0);   BEGIN    CASE sel IS       --对sel的值进行判断,执行对应so的赋值语句    WHEN 0000 = so:= 111    WHEN 0001 = so:=110 WHEN 0011 = so:= 101    WHEN 0111 = so:= 100    WHEN 1111 = so:= 011    WHEN OTHERS = so:= 000 ;    END CASE;   q =so 101 ;    END PROCESS;   (3) 进程语句本身是并行语句。   §6.2.块(BLOCK)语句   块(BLOCK)语句是一个并行语句,它把许多并行语句包装在一起组成一个整体,目的是改变并行语句及其结构的可读性,可使结构体层次鲜明、结构明确。 与进程语句相比:本身都是并行语句,但进程语句内部由顺序语句构成,块语句内部为并行语句构成。  BLOCK语句的书写格式如下:    块标号:BLOCK [(块保护表达式)]    {[类属子句 类属端口表;]}    [端口子句 端口端口表;]}    块说明部分    BEGIN    并行语句A    并行语句B    …    END BLOCK [块标号];   §6.3.子程序(SUBPROGRAM)语句   子程序是一个VHDL程序模块。在一个VHDL的结构体中允许调用多个子程序,这些子程序可以并行运行。在子程序模块内部利用顺序语句来定义和完成算法,子程序的使用方式只能通过子程序调用及与子程序的界面端口进行通信。 子程序可以在VHDL程序的三个不同位置进行定义,

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档