1package VFA1_Pkg is
2
3  type Int8_t is mod 2**8;
4
5  type Int is new Integer;
6  pragma Volatile_Full_Access (Int);
7
8  Counter1 : Int;
9
10  Counter2 : Integer;
11  pragma Volatile_Full_Access (Counter2);
12
13  type Arr is array (1 .. 4) of Int8_t;
14  for Arr'Alignment use 4;
15  pragma Volatile_Full_Access (Arr);
16
17  Timer1 : Arr;
18
19  Timer2 : array (1 .. 4) of Int8_t;
20  for Timer2'Alignment use 4;
21  pragma Volatile_Full_Access (Timer2);
22
23  type Rec is record
24    A : Short_Integer;
25    B : Short_Integer;
26  end record;
27
28  type Rec_VFA is new Rec;
29  pragma Volatile_Full_Access (Rec_VFA);
30
31  Buffer1 : Rec_VFA;
32
33  Buffer2 : Rec;
34  pragma Volatile_Full_Access (Buffer2);
35
36  type Code is record
37    R : Int8_t;
38    I : Int8_t;
39  end record;
40  pragma Volatile_Full_Access (Code);
41
42  type CArr is array (1 .. 2) of Code;
43  pragma Volatile_Full_Access (CArr);
44
45  Mixer1 : Carr;
46
47  Mixer2 :  array (1 .. 2) of Code;
48  pragma Volatile_Full_Access (Mixer2);
49
50end VFA1_Pkg;
51