布尔量(boolean)
布尔量具有两种状态:false 和 true
常用于逻辑函数,如相等(=)、比较(<)
等中作逻辑比较。
如,bit 值转化成boolean 值:
boolean_var := (bit_var = ‘1’);
位矢量 (bit_vector)
bit_vector 是用双引号括起来的一组位数据。
如: “001100” X“00B10B”
字符(character)
用单引号将字符括起来。
variable character_var : character;
Character_var : = ‘A’;
自然数(natural)和正整数(positive)
natural是integer的子类型,表示非负整数。
positive是integer的子类型,表示正整数。
定义如下:
subtype natural is integerrange 0 to
integer’high;
subtype positive is integerrange 1 to
integer’high;
时间(TIME)
由整数和物理单位组成
如:55 ms,20 ns
实数(REAL)
或称浮点数
取值范围:-1.0E38 - +1.0E38
实数类型仅能用于VHDL仿真器,一般综合器
不支持。
字符串(string)
string是 character 类型的一个非限定
数组。用双引号将一串字符括起来。如:
variable string_var : string(1 to 7);
string_var :=“Rosebud”;
错误等级(SEVERITY_LEVEL)
仿真中用来指示系统的工作状态,共有四种:
NOTE(注意)、
WARNING(警告)、
ERROR(出错)、
FAILURE(失败)
数据类型STD_LOGIC 包含9种取值:
type:
'U' 表示未初始化
'X'表示强未知
'0'表示 强逻辑0
'1'表示 强逻辑1
'Z'表示高阻态
'W' 表示 弱未知
'L' 表示弱逻辑0
'H' 表示弱逻辑1
'-' 表示忽略
9 types 涵盖实际电路所遇到的全部情况。
数据类型bit 表示位逻辑,仅有('0','1');
基本的四种类型:
- 枚举类型
- 浮点型
- 整型
- 物理类型
枚举类型是一组具有明确值的集合。枚举中的值是一个命名项或者一个字符。
type 枚举名 is ( 枚举元素, 枚举元素, ... );
浮点型数据
type InputLevel is range -6.55 to +12.35;
整形数据
type Level is range 0 to 7;
物理类型
type Capacity is range 0 to integer'high
units
pF; -- picofarad
nF = 1000 pF; -- nanofarad
uF = 1000 nF; -- microfarad
mF = 1000 uF; -- milifarad
F = 1000 mF; -- farad
end units;
复杂数据类型
数组类型:分为限定数组和非限定数组;
限定数组类型
subtype Byte is std_logic_vector(7 downto 0);
非限定数组类型
type bit_vector is array(integer range <>)
在ieee.std_logic_arith中synopsys公司定义了
unsigned signed small_int 几种数据类型
signed 的最高位 位符号位。
定义的数据对象有 signal variable constant。
数据对象类似于容器,可以接受不同的数据类型赋值。
译文:https://blog.csdn.net/QQ604666459/article/details/56014756