2014年电子自动化第三章 33 VHDL的语言语法.pptVIP

2014年电子自动化第三章 33 VHDL的语言语法.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3.3 VHDL的语言要素 文字规则 数据对象 数据类型 运算符与操作符 属性 * * 3.3.1 VHDL文字规则 1、数字型文字 (1)整数文字(自然计数+科学计数法) 12 12E3 0 123_456_789 (2)实数文字(自然计数+科学计数法) 188.99 88_670.523 1.0 0.0 4.9E-2 (3)以数制基数表示的文字(基数#表达的文字#指数) 10#142# 16#E#E2 2#0111_1110# (4)物理量文字(VHDL综合器不能接收) 60s 100m 177A 字符——用单引号引起来的ASCII字符,可以是数值,也可以是符号或字母。 ‘a’ ‘*’ ‘Z’ 字符串——用双引号引起来的一维字符数组。 分为文字字符串+数位字符串 “abc” “a” “a b c” B “1_1101_1110” X“AD0” 2、字符串型文字 3、下表名及下表段名 数组类型信号名或变量名(表达式1[TO/DOWNTO 表达式2]); 标识符规则:标识符规则是在书写VHDL程序时的一般文字规则。基本标识符由字母、数字以及下划线字符组成,且具有以下特征要求: ● 第一个字符必须是字母; ● 最后一个字符不能是下划线; ● 不允许连续两个下划线; ● 在标识符中大、小写字母是等效的。 ● VHDL中的注释文字一律为2个连续的连接线“--”,可以出现在任一语句后面,也可以出现在独立行; ● VHDL的保留字(关键字)不能用于标识符。 4、标识符 3.3.2、数据对象 常用的数据对象为常量、变量 和信号,在使用前必须给予说明。 ● 常量(CONSTANT) 常量是指在设计描述中不会变化的值。 常量说明语句的一般格式为: CONSTANT 常量名{,常量名}:数据类型 := 取值; 例如: CONSTANT width : integer : = 8 ; 常量所赋值和定义的数据类型应一致。 常量一旦赋值就不能再改变。 常量的作用域通常为定义在哪里作用域为哪里。 ● 变量(VARIABLE) 变量是暂存数据的量。 变量说明语句的格式是: VARIABLE 变量名{,变量名}:数据类型 [:=初始值]; 变量是一个局部量 ,只用于进程和子程序。变量必须在进程或子程序的说明区域中加以说明。 变量的赋值立即生效,不存在延时行为。变量常用在实现某种运算的赋值语句中。 ● 信号(SIGNAL) 信号是电子电路内部硬件实体相互连接的抽象表示。信号能够代表连线,也可内连元件,端口也是信号。 信号说明语句的格式为: SIGNAL 信号名{,信号名} :数据类型 [< =初始值]; 信号包括I/O引脚信号以及IC内部缓冲信号,有硬件电路与之对应,故信号之间的传递有实际的附加延时。 信号通常在构造体、包集合和实体中说明;信号不能在进程中说明(但可以在进程中使用)。 信号和变量的主要区别: 1) 变量 是一个局部量,只能用于进程或子程序中; 信号 是一个全局量,它可以用来进行进程之间的通信。 2) 变量赋值 立即生效,不存在延时行为; 信号赋值 具有非立即性,信号之间的传递具有延时性。 4) 信号赋值 可以出现在进程中,也可以直接出现在结构体中,但它们的运行含义不同:前者属顺序信号赋值,此时的赋值操作要视进程是否已被启动;后者属并行信号赋值,其赋值操作是各自独立并行发生的。 3) 变量 用作进程中暂存数据的单元; 信号 用作电路中的信号连线。 3.3.3、数据类型 VHDL是一种类型型很强的语言,要求设计实体中每一个常数、信号、变量、函数等各种参量必须具有确定的数据类型。 对象的数据类型 定义了该对象可以具有的值和对该对象可以进行的运算的限制。 VHDL提供了多种标准的数据类型。在VHDL描述中,每个信号、常量、变量都要指定它的数据类型,以确定它能保持那一类数据。 VHDL不允许不同类型的数值相互赋值或使用类型不允许的运算符进行运算。 时间单位fs,ps,ns,μs,ms,sec,min,hr 时间 整数的子集:自然数取值范围为0 ~(231-1);正整数是大于0的整数 自然数、正整数 Note,warning,error,failure 错误等级 字符矢量 字符串 ASCII字符 字符 逻辑“真” 或“假”,用TRUE和FALSE标记 布尔量 位矢量,用双引号括起来的一组数据 位矢量 逻辑’0’或’1’ 位 浮点数,取值范围: -1.0e+38 ~ 1.0e+38 实数 整数32位, 取值范围:-(231-1) ~ (231-1) 整数 含

文档评论(0)

briuo + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档