一、标量
1、整型
整型类型定义了一种在特定整数范围内取值的类型,包括正整数、负整数和零。VHDL标准库提供了一个预定义整型数据类型-integer。integer取值范围是-214748647~214748647,也就是32位的二进制数。在实际设计中,综合工具会将没有越苏的整型看成32位无符号数处理,仿真中可使用符号数。
整型数字的表示:
十进制数:
1000012
0
-12
12_102_125--------下划线不影响值得大小,只增加数值的可能性。
其他进制的数:
16#D12-------相当于10进制的16x16x14+16x1+12=3346
8#23 -------相当于10进制的8x2+3=19
自然数和正整数
正整数是大于0的整数;自然数是非负的整数,包括0和正整数。
自然数和正整数都是整数的子类型
整数数据对象可以进行操作有加减乘除等算术运算,定义一个整型的信号需要32位,但实际上不需要这么大的数,在定义整型信号时要加上一个范围约束。整型数据对象声明举例如下:
constant data_bus:integer:=16;
signal temp:integer;
variable sum:integer range 0 to 15;
2、实型
实型数据是数学上实数的仿真建模,分为整数值和分数值,分数值即浮点数。实数的取值范围是-1.0E38~1.0E38,通常情况下VHDL综合实型数只能在VHDL仿真中使用,