blob: e9227e6c859a11a6c325f56dee423f02cc1f3cda (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
with Interfaces;
with System;
with Unchecked_Conversion;
package SSO8_Pkg is
Val8 : Interfaces.Unsigned_8;
type Two_Bit_Int is range 0 .. 3;
for Two_Bit_Int'size use 2;
type Arr is array (1 .. 5) of Boolean;
for Arr'scalar_storage_order use System.High_Order_First;
pragma Pack (Arr);
type Rec is record
Boolean_Data : Boolean;
Array_Data : Arr;
Two_Bit_Data : Two_Bit_Int;
end record;
for Rec use record
Boolean_Data at 0 range 0 .. 0;
Array_Data at 0 range 1 .. 5;
Two_Bit_Data at 0 range 6 .. 7;
end record;
for Rec'size use 8;
for Rec'bit_order use System.High_Order_First;
for Rec'scalar_storage_order use System.High_Order_First;
function Conv is new Unchecked_Conversion (Rec, Interfaces.Unsigned_8);
end SSO8_Pkg;
|