MatchLib
axi4_encoding.h
1 /*
2  * Copyright (c) 2017-2019, NVIDIA CORPORATION. All rights reserved.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License")
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef __AXI4_ENCODING_H__
18 #define __AXI4_ENCODING_H__
19 
20 namespace axi {
21 
31  public:
35  class ARCACHE {
36  public:
37  enum {
38  _WIDTH = 4, // bits
39 
40  DEVICE_NON_BUF = 0,
41  DEVICE_BUF = 1,
42  NON_CACHE_NON_BUF = 2,
43  NON_CACHE_BUF = 3,
44  WR_THRU_NO_ALLOC = 10,
45  WR_THRU_RD_ALLOC = 5,
46  WR_THRU_WR_ALLOC = 10,
47  WR_THRU_RW_ALLOC = 14,
48  WR_BACK_NO_ALLOC = 11,
49  WR_BACK_RD_ALLOC = 7,
50  WR_BACK_WR_ALLOC = 11,
51  WR_BACK_RW_ALLOC = 15,
52  };
53  };
54 
58  class AWCACHE {
59  public:
60  enum {
61  _WIDTH = 4, // bits
62 
63  DEVICE_NON_BUF = 0,
64  DEVICE_BUF = 1,
65  NON_CACHE_NON_BUF = 2,
66  NON_CACHE_BUF = 3,
67  WR_THRU_NO_ALLOC = 6,
68  WR_THRU_RD_ALLOC = 6,
69  WR_THRU_WR_ALLOC = 14,
70  WR_THRU_RW_ALLOC = 14,
71  WR_BACK_NO_ALLOC = 7,
72  WR_BACK_RD_ALLOC = 7,
73  WR_BACK_WR_ALLOC = 15,
74  WR_BACK_RW_ALLOC = 15,
75  };
76  };
77 
81  class AXBURST {
82  public:
83  enum {
84  _WIDTH = 2, // bits
85 
86  FIXED = 0,
87  INCR = 1,
88  WRAP = 2,
89  };
90  };
91 
95  class XRESP {
96  public:
97  enum {
98  _WIDTH = 2, // bits
99 
100  OKAY = 0,
101  EXOKAY = 1,
102  SLVERR = 2,
103  DECERR = 3,
104  };
105  };
106 };
107 };
108 
109 #endif
Hardcoded values for the ARCACHE field.
Definition: axi4_encoding.h:35
Hardcoded values for the AWCACHE field.
Definition: axi4_encoding.h:58
Hardcoded values shared by the ARBURST and AWBURST fields.
Definition: axi4_encoding.h:81
Hardcoded values shared by the RRESP and BRESP fields.
Definition: axi4_encoding.h:95
Hardcoded values associated with the AXI4 standard.
Definition: axi4_encoding.h:30
The axi namespace contains classes and definitions related to the AXI standard.
Definition: axi4.h:41