|
(2) 记录
记录是异构复合类型,也就是说,记录的元素可以是不同的类型。一个记录类型的定义规定了一个或多个元素,每个元素具有不同的名字,并且可以具有不同的类型.
例:
type Opcode is (Add, Add_with_carry, Sub, Sub_with_carry,
Complement);
type Address is range 16#0000# to 16#FFFF#;
type lnstruction is record
Opcode_field: Opcode;
Operand_1: Address;
Operand_2: Address;
end record;
具有相同类型的元素可以写在一起。上例可以写作下面的形式:
type Instruction is record
Opcode_field: Opcode;
Operand_1, Operand_2: Address;
end record;
与数组类似,可以访问整个记录, 也可以访问其中的某个元素。访问元素时,再记录名和元素名之间用一个点分隔。例如:
signal S, T: Instruction;
S <= T;
S.Opcode_field <= T.Opcode;
|