第3章数据类型及运算符.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章数据类型及运算符

第三章 VHDL的数据类型及运算操作符 3.1 VHDL的客体及分类 1.客体(Object):在VHDL中,凡是可赋予一个值的对象,就称客体。 2. 客体分类 (1)常量(constant) ? 常量的定义和设置主要是为了使设计实体中的常数更容易阅读和修改。 ? 常数说明:是对某一常数名赋予一个固定的值。 ? 语句格式 CONSTANT 常数名:数据类型:=表达式; 如:CONSTANT DELAY:REAL:=10.0; ? 特点:a) 常量一旦被赋值,就不能再改变; b) 常量所赋的值应和定义的数据类型一致; c) 常量的作用范围取决于它被定义的位置。 (2)变量(VARIABLE) ? 语句格式 VARIABLE 变量名:数据类型 约束条件:=表达式; 如:VARIABLE counter: INTEGER RANGE 0 TO 255:=100; ? 特点:a) 变量是一个局部量,只能在进程和子程序中使用; b) 变量的赋值是一种理想化的数据传输,是立即发生,不存在任何时延的行为。 (3)信号(SIGNAL) ? 语句格式 SIGNAL 信号名:数据类型 约束条件:=表达式; 如:SIGNALE dbus: STD_LOGIC_VECTOR(15 DOWNTO 0); ? 特点:a) 信号是描述硬件系统的基本数据对象,类似于内部硬件连线; b) 信号是一个全局量,可以用于进行进程之间的通信; c) 信号作为一种数值容器,不但可以容纳当前值,也可以保持历史值(与触发器的记忆功能有很好的对应关系); d) 信号可以看成是实体内部的端口(但没有方向说明)。 小结 三种客体的比较: 从硬件电路系统来看,常量相当于电路中的恒电平(Vcc或GND),变量和信号相当于组合电路系统中门与门间的连线及其连线上的信号值; 变量与信号之间的共性(从综合以后对应的硬件结构看) 在许多情况下,信号和变量并没有多少区别; b)它们都具有能够接受赋值这一重要共性(而VHDL综合器不理会延时) 变量与信号之间的主要区别(从VHDL语句功能和行为仿真上看) 信号可以设置延时量,而变量则不能; 信号可以作为模块间的信息载体,而变量只能作为局部的信息载体。 3.2 VHDL的数据类型 ? VHDL数据类型特点: 具有多种标准的数据类型; 具有多种用户定义数据类型; VHDL是一种强类型语句→一是数据类型定义十分严格; →二是不同类型之间的数据不能直接代入; →三是位长不同时,也不能直接代入(相同类型)。 标准的数据类型 ? 整数(Interge):32位 ? 实数(Real):浮点数 –1.0E+38--+1.0E+38 ? 位(Bit):”0”/”1” ? 位矢量(Bit Vector): ? 布尔量(Boolean):True or False ? 字符(Character):’A’ ? 字符串(String):” ” ? 时间(Time):ms,μs ? 错误等级(Severity Level):NOTE,WARNING,ERROR,FAILURE ? 整数子类(Natural,Positive):大于等于0的整数,正整数。 注:① 上述十种标准数据类型,编程时可直接引用; ② 使用十种以外数据类型,用户自行定义; ③ 约束区间:DOWNTO表示下降,TO表示上升。 2. 用户定义的数据类型 ? 语句格式 TYPE 数据类型名 {,数据类型名} 数据类型定义; ? 常用数据类型 枚举类型(Enumerated) ? 含义:用文字符号来表示一组实际的二进制数的类型。 ? 语句格式: TYPE 数据类型名 IS (元素,元素…); 如:TYPE week IS (sun,mon,wed,thu,fri,sat,) 000 001 010 011 100 110 整数和实数类型(Integer,Real) ? 含义:标准数据类型中已定义,但它们的取值定义范围太大,实际中综合器无法进行综合,具体的数据类型必须由用户椐实际需要重新定义,并限定其取值范围,从而提高芯片资源的利用率。 ? 语句格式: TYPE 数据类型名 IS 数据类型定义 约束范围; 如:TYPE counter IS INTEGER RANGE 0 TO 100; (3)数组(Array) ? 含义:是将一组具有相同数据类型的元素集合在一起,作为一个数据对象来处理的数据类型(一维或

文档评论(0)

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

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

1亿VIP精品文档

相关文档