HDL语言的数据类型(1/12) VHDL是一种强类型语言 ■每个数据对象只能具有一个数据类型,且只 能具有那个数据类型的值; 对某数据对象进行操作的类型必须与该对象 的类型相匹配; 不同类型之间的数据不能直接代入; 相同数据类型时,位长不同的也不能代入; 文件类型与存取类型主要用于建立模拟模型
VHDL语言的数据类型(1/12) VHDL是一种强类型语言 每个数据对象只能具有一个数据类型,且只 能具有那个数据类型的值; 对某数据对象进行操作的类型必须与该对象 的类型相匹配; 不同类型之间的数据不能直接代入; 相同数据类型时,位长不同的也不能代入; 文件类型与存取类型主要用于建立模拟模型
HDL语言的数据类型(2/12) ■标量类型 主要用来描述一次持有一个值的对象的基本 数据类型: 整数、浮点数、可枚举和物理类型 整数类型: integer 范围-(231-1)到+(231-1) ■不能使用逻辑操作符; t61: constant max: integer: =128 signal number integer range 0 to 2557 variable int8: integer; type digital is integer range0 to 9;
VHDL语言的数据类型(2/12) 标量类型 主要用来描述一次持有一个值的对象的基本 数据类型: 整数、浮点数、可枚举和物理类型 整数类型:integer 范围-(231-1)到+(231-1); 不能使用逻辑操作符; 例: constant max : integer :=128; signal number : integer range 0 to 255; variable int8 : integer; type digital is integer range 0 to 9;
MHDL语言的数据类型(3/12) ■浮点数类型:real 可表示大部分实数,包括整数值和分数值; ■常用来进行算法研究的描述; 范围:-1.0E38到+10E38 FGi: constant max: real =128.0 signal number real range 0.0 to 255.0 varlable voltage reali type current is real range -1. 0e3 to +1. 0e3
VHDL语言的数据类型(3/12) 浮点数类型:real 可表示大部分实数,包括整数值和分数值; 常用来进行算法研究的描述; 范围:-1.0E38 到 +1.0E38; 例: constant max : real : =128.0; signal number : real range 0.0 to 255.0; variable voltage : real; type current is real range –1.0e3 to +1.0e3;
MHDL语言的数据类型(4/12) n可枚举类型 组表列形式给定的适用于特定操作所需要的值; 定义格式: type枚举数据类型名is(枚举元素,枚举元素,….….); 元素的大小:左边的值小于右边的值; 可应用于微处理器指令集以及状态机的状态表; Fi: type boolean is(false true) type bit is(0,1)
VHDL语言的数据类型(4/12) 可枚举类型 一组表列形式给定的适用于特定操作所需要的值; 定义格式: type 枚举数据类型名 is (枚举元素,枚举元素,……); 元素的大小:左边的值小于右边的值; 可应用于微处理器指令集以及状态机的状态表; 例: type boolean is (false, true); type bit is (‘0’, ‘1’);
MHDL语言的数据类型(5/12) TYPE std_ulogic Is(U,--Uninitialized X --Forcing Unknown 0,- forcing 0 1,--Forcing 1 Z, -High impedance W,--Weak Unknown WW leak 0 H leak - Dont care ); Std_logic是 std_ulogic的子类型
VHDL语言的数据类型(5/12 ) TYPE std_ulogic IS ( 'U', -- U ninitialized 'X', -- Forcing Unknown '0', -- Forcing 0 '1', -- Forcing 1 'Z', -- High Impedance 'W', -- Weak Unknown 'L', - - Weak 0 'H', -- Weak 1 '-' -- Don't care ); Std_logic 是std_ulogic的子类型