- 1、本文档共156页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 VHDL基本语句与要素 4.1 VHDL的顺序语句 4.1.2 IF语句 CASE语句是根据满足的条件直接选择多项顺序语句中的一项执行,可以用来描述总线或编码、译码行为。 CASE语句的书写格式如下: CASE 条件表达式 IS WHEN 选择值=顺序语句1; WHEN 选择值=顺序语句2; … 【WHEN OTHERS=顺序语句n]; END CASE; 每个并行语句代表一个功能单元,一个或多个功能单元组成一个结构体,并行语句在结构体中的使用格式如下: ARCHITECTURE 结构体名 OF 实体名 IS 说明语句; BEGIN 并行语句; 并行语句; END ARCHITECTURE 结构体名; 结构体中的可综合的并行语句主要有以下几种:并行信号赋值语句、进程语句、块语句、条件信号赋值语句、元件例化语句、生成语句和并行过程调用语句。 4.2.1 进程(PROCESS)语句 进程语句(PROCESS)是并行处理语句,即各个进程是同时处理的,在一个结构体中多个进程语句是同时并发运行的。 PROCESS语句具有如下特点: (1)进程结构内部的所有语句都是顺序执行的。 (2)多进程之间是并行执行的,并可访问结构体或实体中所定义的信号。 (3)进程的启动是由进程标识符PROCESS后的敏感信号表所标明的信号来触发的,也可以用WAIT等待语句实现触发。 (4)各进程之间的通信是由信号来传递的。 4.2.1 进程(PROCESS)语句 PROCESS语句的书写格式为: [进程名:]PROCESS[敏感信号表] 变量说明语句; BEGIN 顺序描述语句; END PROCESS [进程名]; PROCESS语句结构是由三部分组成的,即变量说明部分、顺序描述语句部分和敏感信号表。 4.2.1 进程(PROCESS)语句 (1)变量说明部分主要用于定义一些局部变量,包括数据类型、常数、属性和子程序等。 (2)顺序描述语句部分包括赋值语句、进程启动语句、子程序调用语句、顺序描述语句(包括IF语句、CASE语句、LOOP语句和NULL语句)和跳转语句(包括NEXT语句和EXIT语句)等。 (3)进程语句中的敏感信号表和WAIT语句的作用一致,都是进程启动、触发的条件。但需要注意,在进程语句中,敏感信号表和WAIT语句不能共同存在于一个进程之中。 4.2.1 进程(PROCESS)语句 ARCHITECTURE ART OF STAT IS ----【例4.17】不含敏感信号表的进程示例 BEGIN P1:PROCESS --该进程未列出敏感信号,需要靠WAIT语句来启动 BEGIN WAIT UNITL CLOCK; --等待CLOCK激活进程 IF(DRIVER=‘1’)THEN --当DRIVER为高电平时进入CASE语句 CASE OUTPUT IS WHEN S1=OUTPUT=S2; WHEN S2=OUTPUT=S3; WHEN S3=OUTPUT=S4 WHEN S4=OUTPUT=S1; END CASE; END IF; END PROCESS P1; END ART; 4.2.1 进程(PROCESS)语句 【例4.18】同步进程的敏感信号表中只有时钟信号 PROCESS(CLOCK) BEGIN IF(CLOCK=‘1’AND CLOCK’EVENT) THEN IF RESET=‘1’ THEN --检测到复位信号RESET DATA=“00”; --复位信号有效,执行复位操作 ELSE DATA=IN_DATA; --无复位信号,执行赋值操作 END IF; END IF; END PROCESS; 4.2.1 进程(PROCESS)语句 【例4.19】异步进程的敏感信号表中除时钟信号外还有其他信号 PROCESS(CLK,RESET) --定义了2个敏感信
文档评论(0)