1//
2// Copyright (c) 2010-2024 Antmicro
3//
4// This file is licensed under the MIT License.
5// Full license text is available in 'licenses/MIT.txt'.
6//
7
8package renode_ahb_pkg;
9  typedef logic response_t;
10  typedef logic [2:0] burst_t;
11  typedef logic transfer_direction_t;
12  typedef logic [1:0] transfer_type_t;
13  typedef logic [2:0] transfer_size_t;
14
15  typedef enum response_t {
16    Okay  = 1'b0,
17    Error = 1'b1
18  } response_e;
19
20  typedef enum burst_t {
21    Single = 3'b000,
22    Incrementing = 3'b001,
23    Wrapping4 = 3'b010,
24    Incrementing4 = 3'b011,
25    Wrapping8 = 3'b100,
26    Incrementing8 = 3'b101,
27    Wrapping16 = 3'b110,
28    Incrementing16 = 3'b111
29  } burst_e;
30
31  typedef enum transfer_direction_t {
32    Read  = 1'b0,
33    Write = 1'b1
34  } transfer_direction_e;
35
36  typedef enum transfer_type_t {
37    Idle = 2'b00,
38    Busy = 2'b01,
39    NonSequential = 2'b10,
40    Sequential = 2'b11
41  } transfer_type_e;
42
43  // Notice that the bus uses different naming convention for sizes than Renode.
44  typedef enum transfer_size_t {
45    Byte8bit = 3'b000,
46    Halfword16bit = 3'b001,
47    Word32bit = 3'b010,
48    Doubleword64bit = 3'b011
49  } transfer_size_e;
50endpackage
51