欢迎来到天天文库
浏览记录
ID:45034289
大小:691.00 KB
页数:42页
时间:2019-11-08
《电子设计自动化-lzs-chaper4》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章VHDL词法基础VHDL文字规则VHDL数据类型VHDL操作符VHDL数据对象VHDL词法基础VHDL文字规则一、标识符与其他高级编程语言一样,VHDL中的标识符是一种用来对VHDL中的语法单位进行标识的符号,目的是为了区分不同的语法单位。VHDL有两个版本,习惯上将VHDL’87标准中的标识符称为短标识符,将VHDL’93标准中的标识符称为扩展标识符。VHDL文字规则VHDL文字规则短标识符命名规则:短标识符必须由英文字母、数字以及下划线组成;短标识符必须以英文字母开头;短标识符不允许连续出现两个下划线;短标识符最后一个字符不能是下划线;短标识符中英文字母不区分大小写;V
2、HDL中的保留字不能作为标识符来使用。在VHDL中,保留字是指在应用中有特殊地位或作用的标识符。VHDL文字规则扩展标识符命名规则:扩展标识符用反斜杠来分隔,如addr_bus;扩展标识符中允许包含图形符号和空格等,如addr&bus和addr_bus;扩展标识符的两个反斜杠之间可以用数字开头,如6addr_bus;扩展标识符的两个反斜杠之间可以使用保留字;扩展标识符允许多个下划线相连;同名的扩展标识符和短标识符不同;扩展标识符区分大小写;若扩展标识符中有一个反斜杠,则应该用两个相邻的反斜杠来代替。VHDL文字规则二、数字数字主要有整数、实数和物理量文字三种形式。
3、整数:默认情况下为十进制数。如果需要指明进制,则表示成“进制#数值#指数”的形式。#起分隔作用,十进制、十六进制、八进制、二进制分别用10、16、8和2表示。指数部分用十进制表示,指数为0可省略。实数:也都是十进制数,但必须带有小数点。物理量文字:VHDL综合器不接受此类文字。VHDL文字规则三、字符串字符串是一维的字符数组,需要放在双引号中。字符串有两类,分别是文字字符串和数位字符串。文字字符串:是用双引号括起的一串文字。数位字符串:也称位矢量,是预定义的数据类型BIT的一维数组。字符串数值的数据类型是一维的枚举型数组。数位字符串的表示首先要有计算基数,然后将该基数表示的值放在
4、双引号中,基数符以“B”、“O”和“X”表示。含义分别为:B:二进制基数符号,在字符串中的每位表示一个BIT。O:八进制基数符号,在字符串中的每位表示一个3位二进制数。X:十六进制基数符号,在字符串中的每位表示一个4位二进制数。第四章VHDL词法基础VHDL文字规则VHDL数据类型VHDL操作符VHDL数据对象VHDL词法基础VHDL常用的数据类型可以分成4类:标量型、符合型、存取型和文件型。这些数据类型又可分成预定义数据类型和自定义数据类型。一、预定义数据类型VHDL数据类型VHDL数据类型VHDL常用的预定义数据类型包括整数、实数、位、位矢量、布尔量、字符、字符串、时间、错误
5、等级、大于等于零的整数、正整数等十种。1.整数(INTEGER)。在VHDL中,整数的范围为-(231-1)——+(231-1),即可用32位有符号的二进制数表示。在实际应用中,VHDL仿真器通常将整数类型看成有符号数处理,而VHDL综合器将整数作为无符号数处理。在使用整数时,VHDL综合器要求用RANGE子句来定义整数的限定范围,然后根据所限定的范围来决定表示此信号或变量的二进制数的位数。VHDL综合器无法综合未限定范围的整数类型。如SIGNALtemp:INTEGERRANGE0TO15;2.实数(REAL)。VHDL中的实数类似于数学上的实数,或称浮点数。取值范围为-1.0
6、E38——+1.0E38.通常情况下仅能在VHDL仿真器中使用,而VHDL综合器则不支持实数。VHDL数据类型5.布尔量(BOOLEAN)。布尔量的取值有“真”(FALSE)和“假”(TRUE)两种。布尔量不属于数值,只能进行关系运算,不能进行算术运算。例如在语句“IF(a>b)THEN”中,关系运算表达式a>b的结果只能是布尔量,若a>b成立,结果为TRUE,否则为FALSE。3.位(BIT)。在数字系统中,信号值通常用位值来表示,位值的表示方法是将字符0和1放在单引号中,如’0’和’1’。这里的位值和整数0、1不同,它仅表示一个位的两种取值。4.位矢量(BIT_VECTOR)
7、。位矢量是用双引号括起来的一组位数据,如”1001”等。使用位矢量时必须注明宽度,即元素的个数和排列。位矢量通常用于描述数字系统中总线的值。VHDL数据类型6.字符(CHARACTER)。字符也是一种数据类型,所定义的字符量通常用单引号括起来,如’a’。一般情况下VHDL对字母的大小写不敏感,但对字符量的大小写是认为不同的,如’A’和’a’被认为是两个不同的字符量。字符可以用英文字母中的任意一个大小写字母、0~9任意一个数字和某些特殊符号来定义。7.字符串(STRING)。字符串
此文档下载收益归作者所有