<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
55
一、VHDL文字规则
1、数字型文字
1)整数文字:十进制整数
如:5,678,156E2(=15600),
45_234_287 (=45234287)
2)实数文字:带小数的十进制数
如:23.34,2.0,44.99E-2(=0.4499)
8_867_551.23_909(8867551.23909)
56
3)以数制基数表示的文字
格式:
如:10#170#(=170)
2#1111_1110#(=254)
16#E#E1(=2#1110_0000# =224)
或:(=14×16=224)
16#F.01#E+2
(=(15+1/(16×16))×16×16=3841.00)
基数#数字文字#E指数
57
4)物理量文字
如:60 s、<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />100 m、 177 mA
注:整数可综合实现;
实数一般不可综合实现;
物理量不可综合实现;
58
2、字符串型文字(文字串和数字串)
按字符个数多少分为:
字符:用单引号引起来的ASCII字符,可以
是数值,也可以是符号或字母。
如:‘A’,‘*’,‘Z’
字符串:用双引号引起来的一维字符数组
59
字符串分为:
1)文字字符串:“文字”
如:“ERROR”,
“XXXXXXXX”,
“ZZZZZZZZ”,
“X”,
“BOTH S AND Q EQUAL TO L”。
60
2)数位字符串:
称为位矢量,代表二进制、八进制、十六进
制的数组。其位矢量的长度为等值的二进制数的
位数。
格式:
其中基数符号有三种:
B:二进制基数符号。
O:八进制基数符号,每一个八进制数
代表一个3位的二进制数。
基数符号 “数值”
61
X:十六进制基数符号,每一个十六进制数代表
一个4位的二进制数。
如:
B“1_1101_1110”:二进制数数组,长度为9
O“34”: 八进制数数组,长度为6
X“1AB”: 十六进制数数组,长度为12
62
基本标识符的要求(87标准):
? 以英文字母开头;
? 不连续使用下划线“_”;
? 不以下划线“_”结尾;
? 由26个大小写英文字母、数字0-9及
下划线“_”组成的字符串。
3、标识符
定义常数、变量、信号、端口、子程序或
参数的名字。
63
基本标识符中的英文字母不分大小写;
VHDL的保留字不能作为标识符使用。
合法标识符
_Decoder_1、
2FFT、
Sig_#N、
Not-Ack、
ALL_RST_、
data__BUS、
return、
entity
my_counter、
Decoder_1、
FFT、
Sig_N、
Not_Ack、
State0、
entity1
不合法标识符
64
扩展标识符(93标准):
以反斜杠来界定,免去了87标准中基本标
识符的一些限制。
可以以数字打头,
允许包含图形符号,
允许使用VHDL保留字,
区分字母大小写等。
如:\74LS163\、 \Sig_#N\、
\entity\、\ENTITY\
65
4、下标名及下标段名
下标名:用于指示数组型变量或信号的某一个
元素。
格式:
下标段名:用于指示数组型变量或信号的某一
段元素。
格式:
如:a : std_logic_vector(7 downto 0)
a(7), a(6)… a(0)
a(7downto0), a(7 downto 4), a(5 downto 3)…
标识符(表达式)
标识符(表达式 to/downto 表达式)
文章评论(0条评论)
登录后参与讨论