MatchLib
All Classes Namespaces Files Functions Modules Pages
axi4_configs.h
1/*
2 * Copyright (c) 2018-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#ifndef __AXI_CONFIG_H__
17#define __AXI_CONFIG_H__
18
19namespace axi {
20
51namespace cfg {
52
56struct standard {
57 enum {
58 dataWidth = 64,
59 useVariableBeatSize = 0,
60 useMisalignedAddresses = 0,
61 useLast = 1,
62 useWriteStrobes = 1,
63 useBurst = 1, useFixedBurst = 0, useWrapBurst = 0, maxBurstSize = 256,
64 useQoS = 0, useLock = 0, useProt = 0, useCache = 0, useRegion = 0,
65 aUserWidth = 0, wUserWidth = 0, bUserWidth = 0, rUserWidth = 0,
66 addrWidth = 32,
67 idWidth = 4,
68 useWriteResponses = 1,
69 };
70};
74struct no_wresp {
75 enum {
76 dataWidth = 64,
77 useVariableBeatSize = 0,
78 useMisalignedAddresses = 0,
79 useLast = 1,
80 useWriteStrobes = 1,
81 useBurst = 1, useFixedBurst = 0, useWrapBurst = 0, maxBurstSize = 256,
82 useQoS = 0, useLock = 0, useProt = 0, useCache = 0, useRegion = 0,
83 aUserWidth = 0, wUserWidth = 0, bUserWidth = 0, rUserWidth = 0,
84 addrWidth = 32,
85 idWidth = 4,
86 useWriteResponses = 0,
87 };
88};
92struct no_wstrb {
93 enum {
94 dataWidth = 64,
95 useVariableBeatSize = 0,
96 useMisalignedAddresses = 0,
97 useLast = 1,
98 useWriteStrobes = 0,
99 useBurst = 1, useFixedBurst = 0, useWrapBurst = 0, maxBurstSize = 256,
100 useQoS = 0, useLock = 0, useProt = 0, useCache = 0, useRegion = 0,
101 aUserWidth = 0, wUserWidth = 0, bUserWidth = 0, rUserWidth = 0,
102 addrWidth = 32,
103 idWidth = 4,
104 useWriteResponses = 1,
105 };
106};
110struct lite {
111 enum {
112 dataWidth = 32,
113 useVariableBeatSize = 0,
114 useMisalignedAddresses = 0,
115 useLast = 0,
116 useWriteStrobes = 1,
117 useBurst = 0, useFixedBurst = 0, useWrapBurst = 0, maxBurstSize = 1,
118 useQoS = 0, useLock = 0, useProt = 0, useCache = 0, useRegion = 0,
119 aUserWidth = 0, wUserWidth = 0, bUserWidth = 0, rUserWidth = 0,
120 addrWidth = 32,
121 idWidth = 0,
122 useWriteResponses = 1,
123 };
124};
129 enum {
130 dataWidth = 32,
131 useVariableBeatSize = 0,
132 useMisalignedAddresses = 0,
133 useLast = 0,
134 useWriteStrobes = 0,
135 useBurst = 0, useFixedBurst = 0, useWrapBurst = 0, maxBurstSize = 1,
136 useQoS = 0, useLock = 0, useProt = 0, useCache = 0, useRegion = 0,
137 aUserWidth = 0, wUserWidth = 0, bUserWidth = 0, rUserWidth = 0,
138 addrWidth = 32,
139 idWidth = 0,
140 useWriteResponses = 1,
141 };
142};
143}; // namespace cfg
144}; // namespace axi
145
146#endif
The axi namespace contains classes and definitions related to the AXI standard.
Definition axi4.h:41
A configuration similar to AXI4-Lite, but without write strobes.
An AXI configuration corresponding to the AXI4-Lite standard.
An AXI configuration with no write responses.
An AXI configuration with no write strobes.
A standard AXI configuration.