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

第七章第三部分VHDL语言的数据类型和运算操作符号.pptVIP

第七章第三部分VHDL语言的数据类型和运算操作符号.ppt

  1. 1、本文档共68页,可阅读全部内容。
  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文档。上传文档
查看更多
第七章第三部分VHDL语言的数据类型和运算操作符号

第三部分:数据类型和运算操作符 3.1 VHDL数据对象 在VHDL中,数据对象(Data Objects)类似于一种容器,它接受不同数据类型的赋值。数据对象有三种,即 常量(CONSTANT):全局变量 变量(VARIABLE):局部变量 信号(SIGNAL):全局变量 前两种可以从传统的计算机高级语言中找到对应的数据类型,其语言行为与高级语言中的变量和常量十分相似。 信号是具有更多的硬件特征的特殊数据对象,是VHDL中最有特色的语言要素之一。 3.1.1、常量(CONSTANT) 常量的定义和设置主要是为了使设计实体中的常数更容易阅读和修改。例如,将位矢的宽度定义为一个常量,只要修改这个常量就能很容易地改变宽度,从而改变硬件结构。 在程序中,常量是一个恒定不变的值,一旦作了数据类型的赋值定义后,在程序中不能再改变,因而具有全局意义。常量的定义形式如下: CONSTANT 常量名:数据类型﹕=表达式; 例如: CONSTANT FBUS﹕BIT_VECTOR﹕=“010115”; CONSTANT VCC﹕REAL﹕=5.0; CONSTANT DELY﹕TIME﹕=25ns; CONSTANT 常量名:数据类型﹕=表达式 常量定义语句所允许的设计单元有 实体(ENTITY)、结构体(ACHITECTURE) 程序包(PACKAGE) 块(BLOCK) 子程序(SUBPROGRAM)。 常量的作用域 常量的使用范围取决于它被定义的位置 程序包( PACKAGE):具有最大全局化特征; 实体:其有效范围为这个实体定义的所有的结构体; 实体的某一结构体:则只能用于此结构体; 结构体的某一单元(如一个进程中):则这个常量只能用在这一进程中。 3.1.1、变量(VARIABLE) 在VHDL语法规则中,变量是一个局部量,只能在进程和过程和函数中使用。变量不能将信息带出对它作出定义的当前设计单元。变量的赋值是一种理想化的数据传输,是立即发生,不存在任何延时的行为。VHDL语言规则不支持变量附加延时语句。变量常用在实现某种算法的赋值语句中。 定义变量的语法格式如下: VARIABLE 变量名:数据类型:=初始值; 例如: VARIABLE B,C:INTEGER:=2; --定义B和C为整型变量,初始值为2 NOTE: 变量作为局部量,其适用范围仅限于定义了变量的进程或子程序中 变量定义语句中的初始值可以是一个与变量具有相同数据类型的常数值,也可以是一个全局静态表达式,这个表达式的数据类型必须与所赋值变量一致 如何修改变量的数值呢?变量数值的改变是通过变量赋值来实现的,其赋值语句的语法格式如下: 目标变量名:=表达式 TMP3:=TMP1+TMP2 TMP3:=TMP1+TMP2 AFTER 10ns(ERROR) 3.1.3 信号(SIGNAL) 定义:它是电子线路硬件连线的抽象。 SIGNAL 信号名: 数据类型﹕=初始值 SIGNAL S1:STD_LOGIG﹕=0;--定义了一个标准位的单值信号S1,初始值为低电平 SIGNAL S2,S3:BIT; --定义了两个位BIT的信号S2和S3 SIGNAL S4: STD_LOGIC_VECTOR(15 DOWNTO 0);--定义了一个标准位矢的位矢量(数组、总线)信号, 共有16个信号元素 TYPE FOUR IS(‘X’,‘0’,‘I’,‘Z’); SIGNAL S1﹕FOUR; SIGNAL S2﹕FOUR﹕=‘X’; SIGNAL S3﹕FOUR﹕=‘L’; 示例定义的信号数据类型是设计者自行定义的,这是VHDL所允许的 特点: 和端口的概念一致,在ENTITY , ACHITECTURE , PACKAGE中说明 信号初始值的设置不是必需的,而且初始值仅在VHDL的行为仿真中有效 它具有全局性特性 在实体中定义的信号,在其对应的结构体中都是可见的 在程序包中定义的信号,对于所有调用此程序包的设计实体都是可见的 3.1.4.三者的使用比较 1、从硬件电路系统来看,常量相当于电路中的恒定电平,如GND或VCC接口,而变量和信号则相当于组合电路系统中门与门间的连接及其连线上的信号值。 2、从行为仿真和VHDL语句功能上看,二者的区别主要表现在接受和保持信号的方式、信息保持与传递的区域大小上。例如信号可以设置延时量,而变量则不能;变量只能作为局部的信息载体,而信号则可作为模块间的信息载体。变量的设置有时只是一种过渡,最后的信息传输和界面间的通信都靠信号来完成。 3、从综合后所对应的硬件电路结构来看,信号一般将对应更多的硬件结构,但在许多情况下,信号和变

文档评论(0)

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

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

1亿VIP精品文档

相关文档