- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章 VHDL的语言要素
4.1 VHDL的数据对象
与其他高级语言一样,VHDL中把用来承载数据的容器叫做VHDL的数据对象,VHDL的数据对象主要有信号、常量和变量三类。
1 常量
在VHDL中,常量是一种不变的量,它只能在对它定义时进行赋值,并在整个程序中保持该值不变。常量的功能一方面可以在电路中代表电源、地线等,另一方面可提高程序的可读性,也便于修改程序。常量定义的格式为:
CONSTANT 常量名:数据类型:=表达式;
[例3.4] 常量定义举例
CONSTANT V: INTEGER:=8;
2 变量
??变量是临时数据的容器,它没有物理意义,并且只能在进程和子程序中定义,也只能在进程和子程序中使用。变量一旦赋值立即生效。变量定义的描述格式为:
VARIABLE 变量名:数据类型[:=表达式];
[例3.5] 变量定义举例
VARIABLE y: INTEGER;
3 信号
信号是VHDL的一种重要数据对象,它定义了电路中的连线和元件的端口。其中端口和内部信号定义的差别是在端口定义中多了一个端口模式的定义。信号是一个全局量,可以用来进行各模块之间的通信。信号定义的格式为:
SIGNAL 信号名:数据类型 ;
[例3.6] 信号定义举例
SIGNAL A: STD_LOGIC;
4.2 VHDL的数据类型
VHDL是一种强类型的语言,每一个数据对象都必须具有确定的数据类型定义,并且只有在相同数据类型的数据对象之间,才能进行数据交换。VHDL预定义了大量的数据类型,下面介绍几种最常用的数据类型。
1 整数数据类型(INTEGER)
整数类型的数有正整数负整数和零,在VHDL中其取值范围是:-2147483547---2147483646 。
2 实数数据类型(REAL)
VHDL的实数与数学中的实数或浮点数相似,只是范围被限定为:-1.0E38---1.0E38,并且在书写时一定要有小数。
3 位数据类型(BIT)
在数字系统中,信号经常用位数据类型表示,位数据类型属于枚举类型,其值是用带单引号的‘1’和‘0’表示。
4 位矢量数据类型(BIT_VECTOR)
位矢量是用双引号括起来的一组位数据,例如 “010101” ,通常用来表示数据总线。
5 布尔量数据类型(BOOLEAN)
布尔量数据类型也属于枚举类型,其值只有“TRUE”和“FALSE”两种状态,通常用来表示关系运算和关系运算结果。
6 字符数据类型(CHARACTER)
VHDL的字符数据类型表示ASCII码的128个字符,书写时要求用单引号括起来,并且要区分大小写。例如: ‘A’ ,‘a’等。
7 字符串数据类型(STRING)
字符串是双引号括起来的一串字符。例如: “laksdklakld”
8 STD_LOGIC数据类型
与位数据类型相似,STD_LOGIC数据类型也属于枚举类型,但它的取值有下面的九种:
‘U’初始值
‘X’不定
‘0’0
‘1’1
‘Z’高阻
‘W’弱信号不定
‘L’ 弱信号0
‘H’ 弱信号1
‘-’不可能情况。
9 STD_LOGIC_VECTOR 数据类型
STD_LOGIC_VECTOR 数据类型,表示的是用双引号括起来的一组STD_LOGIC数据 ,通常用来表示数据总线。
由于STD_LOGIC的九种取值,更能反映电路的实际情况,所以在VHDL描述中一般用STD_LOGIC和STD_LOGIC_VECTOR,取代BIT和BIT_VECTOR等数据类型。
因为STD_LOGIC数据类型,是在IEEE库的STD_LOGIC_1164程序包中说明的,所以当在设计中要使用这种数据类型时,必须在VHDL的库、程序包说明语区,加入下列库、程序包说明语句:
[例3.7] 库、程序包说明举例
LIBRARY IEEE;
USE IEEE.std_logic_1164.ALL;
4.3 VHDL语言的操作符和表达式
VHDL中大量的设计思想是用表达式配合实现的。与其他高级软件编程语言相似,VHDL的表达式由操作数和操作符组成。操作数由前面介绍的具有确定数据类型的数据对象担任。操作符用来连接操作数,以完成所要求的数据的处理和转换。VHDL具有丰富的预定义操作符,由这些操作符可以完成各种形式的表达式的功能。预定义操作符可分为四种类型:算术操作符,关系操作符,逻辑操作符和连接操作符。下面分别介绍四种类型的操作符和对应的简单的表达式,关于表达式的综合表示形式将在后面的具体实例中进行介绍。
1 逻辑操作符和逻辑表达式
逻辑操作符在逻辑表达式中,用来完成逻辑类型数据对象的逻辑操作。VHDL的逻辑操作符如表3.2所示。
表3.2 逻辑操作符
操作符 说明 and 逻辑与
您可能关注的文档
最近下载
- 北京市人大附中2023-2024学年数学八年级第一学期期末教学质量检测试题含答案.doc VIP
- 河北省保定市安国市2024--2025学年四年级上学期期末调研质量监测数学题(有答案).docx VIP
- XXX公路工程监理实施细则.doc VIP
- 北京市人大附中2023年八年级物理第一学期期末学业质量监测模拟试题含解析.doc VIP
- 临时设施专项施工及方案.doc
- GB50209建筑地面工程施工质量验收规范.pdf VIP
- 血液透析患者管理及监测.pptx VIP
- 炼油及化工企业总体设备管理体系和设备管理办法.pdf VIP
- 医学课件-羊水栓塞总结知识点.pptx VIP
- 课件:雷火灸治疗过敏性鼻炎.ppt VIP
原创力文档


文档评论(0)