首页 理论教育 VHDL语言中的文本规则详解

VHDL语言中的文本规则详解

时间:2026-01-23 理论教育 安安 版权反馈
【摘要】:VHDL中有两种类型的字符串:文字字符串和数位字符串。它们的含义分别如下:●B:二进制基数符号,表示二进制数位0或1,在字符串中每一个位表示一个BIT。VHDL的基本标识符是以英文字母开头,不连续使用下划线“”,不以下划线“”结尾的,由26个大小写英文字母、数字0~9以及下划线“”组成的字符串。VHDL′93标准还支持扩展标识符,但是目前仍有许多VHDL工具不支持扩展标识符。VHDL的保留字不能作为标识符使用。

任何一种程序设计语言都规定了自己的符号和语法规则,在编程时需要认真遵循。

1.数值型文字

数值型文字的值有多种表达方式,现列举如下:

(1)整数文字

整数文字都是十进制的数,如4、578、0、156E2(=15600)、45234287(=45234287)。数字间的下划线仅仅是为了提高文字的可读性,相当于一个空的间隔符。

(2)实数文字

实数文字也都是一种十进制的数,但必须带有小数点,如18.993、1.0、0.0、88670 551.909(=88670551.909)。

(3)以数制基数表示的文字

以数制基数表示的文字的格式

数制#数值#

例如:

(4)物理量文字

物理量文字用来表示时间、长度等物理量,如50s(50秒)、200m(200米)、177A(177安)。

2.字符及字符串型文字

字符是用单引号引起来的ASCII字符,可以是数值,也可以是符号或字母,如‘R’、‘A’、‘*’、‘Z’。而字符串则是一维的字符数组,须放在双引号中。VHDL中有两种类型的字符串:文字字符串和数位字符串。

(1)文字字符串(https://www.xing528.com)

它是用双引号引起来的一串文字,如“BB$CC”、“ERROR”、“BOTHSANDQ EQUALTOL”、“X”。

(2)数位字符串

数位字符串也称位矢量,是预定义的数据类型BIT的一位数组,它们所代表的是二进制、八进制或十六进制的数组,其位矢量的长度即为等值的二进制数的位数。数位字符串的表示首先要有计算基数,然后将该基数表示的值放在双引号中,基数符号以“B”、“O”、和“X”表示,并放在字符串的前面。它们的含义分别如下:

●B:二进制基数符号,表示二进制数位0或1,在字符串中每一个位表示一个BIT。

●O:八进制基数符号,在字符串中的第一个数代表一个八进制数,即代表一个3位(BIT)的二进制数。

●X:十六进制基数符号(0~1),代表一个十六进制数,即代表一个4位的二进制数。

例如,B“111011110”——二进制数数组,位矢数组长度是9;X“AD0”——十六进制数数组,位矢数组长度是12。

3.标识符

标识符用来定义常数、变量、信号、端口、子程序或参数的名字。VHDL的基本标识符是以英文字母开头,不连续使用下划线“”,不以下划线“”结尾的,由26个大小写英文字母、数字0~9以及下划线“”组成的字符串。VHDL′93标准还支持扩展标识符,但是目前仍有许多VHDL工具不支持扩展标识符。标识符中的英语字母不分大小写。VHDL的保留字不能作为标识符使用。如DECODER1、FFT、SigN、NOTACK、State0、Idle是合法的标识符,而DECOER1、2FFT、SIG#N、NOT—ACK、RYYRST、dataBUS、RETURN则是非法的标识符。

4.下标名及下标段名

下标段名用于指示数组型变量或信号的某一段元素,而下标名则用于指示数组型变量或信号的某一元素,其语句格式如下:

数组类型符号名或变量名(表达式1TO/DOWNTO表达式2);

表达式的数值必须在数组元素下标号范围以内,并且是可计算的。TO表示是数组下标序列由低到高,如“3TO8”;DOWNTO表示数组下标序列由高到低,如“9DOWNTO2”。

如果表达式是一个可计算的值,则此操作可很容易地进行综合。如果是不可计算的,则只能在特定情况下综合,且耗费资源较大。

下面是下标名及下标段名使用示例。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈