第8章 EDA技术.ppt

  1. 1、本文档共141页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 EDA技术

PROCESS语句格式 PROCESS语句的表达格式如下: [进程标号:]PROCESS[(敏感信号参数表)][IS] [进程说明部分] BEGIN 顺序描述语句 END PROCESS[进程标号]; 8.8.1 进程语句 (4)进程是重要的建模工具。进程结构不但为综合器所支持,而且进程的建模方式将直接影响仿真和综合结果。 进程的设计需要注意以下几方面的问题: (1)虽然同一结构体中的进程之间是并行运行的,但同一进程中的逻辑描述语句则是顺序运行的,因而在进程中只能设放置顺序语句。 (2)进程的激活必须由敏感信号表中定义的任一敏感信号的变化来启动,否则必须有一显式的WAIT语句来激活。 (3)结构体中多个进程之所以能并行同步运行,一个很重要的原因是进程之间的通信是通过传递信号和共享变量值来实现的。 【例】 --进程的应用 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; END IF; END PROCESS p_a; p_b:PROCESS(temp,c,sely) BEGIN IF (sely=0) THEN data_out=temp; ELSE data_out=c; END IF; END PROCESS p_b; END ex; ? 作为另一种并行赋值语句,条件信号赋值语句的表达方式如下: 赋值目标=表达式1 WHEN 赋值条件1 ELSE 表达式2 WHEN赋值条件2 ELSE        ... 表达式n; 8.8.2 并行信号赋值语句 (1) 简单信号赋值语句 简单信号赋值语句是VHDL并行语句结构的最基本的单元,它的语句格式如下: 赋值目标=表达式; (2)条件信号赋值语句 【例】 --条件信号赋值 ENTITY mux IS 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; 数字的表达可以是整数文字 、实数文字、以数制基数表示的文字和物理量文字。 字符是用单引号引起来的ASCII字符,可以是数值,也可以是符号或字母,如:‘R’, ‘A’,‘*’,‘0’。而字符串则是一维的字符数组,须放在双引号中。 8.6 VHDL语言要素 8.6.1 VHDL文字规则 标识符是VHDL语言中各种成分的名称,这些成分包括常量、变量、信号、端口、子程序或参数等。定义标识符需要遵循以下规则: l???????? 有效的字符:包括26个大小写英文字母,数字0~9以及下划线“_”。 l???????? 任何标识符必须以英文字母开头。 l???????? 必须是单一下划线“_”,且其前后都必须有英文字母或数字。 l???????? 标识符中的英文字母不分大小写。 l???????? 允许包含图形符号(如回车符、换行符等),也允许包含空格符。 l???????? VHDL的保留字不能用于作为标识符使用。 以下是几种合法和非法标识符的示例。 合法的标识符:Decoder_1,FFT,abc123。 非法的标识符: _Decoder_1 --起始为非英文字母 2 FET --起始为数字 Not-RST --符号“-”不能作为标识符的构成 RyY_RST_ --标识符的最后不能是下划线 Data_ _BUS --标识符中不能有双下划线 Begin --关键词不能作为标识符 resΩ --使用了无效字符“Ω” 下标名用于指示数组型变量或信号的某一元素,而下标段名则用于指示数组型变量或信号的某一段元素,其语句格式如下: 数组类型信号名或变量名(表达式l[TO/DOWNTO 表达式2]); 下面是下标名及下标段名使用示例: SIGNAL a, b, c:BIT

文档评论(0)

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

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

1亿VIP精品文档

相关文档