17 #ifndef __AXIMANAGERGATEIF_H__
18 #define __AXIMANAGERGATEIF_H__
20 #include <nvhls_message.h>
28 template <
typename Cfg>
43 typename axi4_::Addr addr;
44 typename axi4_::BeatNum len;
45 typename axi4_::BeatSize size;
46 typename axi4_::Burst burst;
47 typename axi4_::Cache cache;
48 typename axi4_::AUser auser;
50 static const unsigned int width = axi4_::ADDR_WIDTH + axi4_::ALEN_WIDTH +
51 axi4_::ASIZE_WIDTH + axi4_::BURST_WIDTH +
52 axi4_::CACHE_WIDTH + axi4_::AUSER_WIDTH;
54 template <
unsigned int Size>
55 void Marshall(Marshaller<Size>& m) {
66 payload.burst = burst;
69 payload.cache = cache;
70 payload.auser = auser;
79 template <
typename Cfg>
87 template <
typename Cfg>
97 typename Request<Cfg>::axi4_::Last last;
98 typename Request<Cfg>::axi4_::WUser wuser;
100 static const unsigned int width =
104 template <
unsigned int Size>
105 void Marshall(Marshaller<Size>& m) {
123 template <
typename Cfg>
127 typename axi4_::Resp resp;
128 typename axi4_::BUser buser;
130 static const unsigned int width = axi4_::RESP_WIDTH + axi4_::BUSER_WIDTH;
132 template <
unsigned int Size>
133 void Marshall(Marshaller<Size>& m) {
144 template <
typename Cfg>
148 typename axi4_::Resp resp;
149 typename axi4_::Data data;
150 typename axi4_::Last last;
151 typename axi4_::RUser ruser;
153 static const unsigned int width = axi4_::RESP_WIDTH + axi4_::DATA_WIDTH +
154 axi4_::LAST_WIDTH + axi4_::RUSER_WIDTH;
156 template <
unsigned int Size>
157 void Marshall(Marshaller<Size>& m) {
The base axi4 class parameterized according a valid config.
The struct for read requests for AxiManagerGate.
The struct for read responses for AxiManagerGate.
The base type for read or write requests for AxiManagerGate, containing common fields.
The struct for write requests for AxiManagerGate.
The struct for write responses for AxiManagerGate.
A struct composed of the signals associated with AXI read and write requests.