17 #ifndef __AXIMASTERGATEIF_H__ 18 #define __AXIMASTERGATEIF_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_::WUser wuser;
98 typename Request<Cfg>::axi4_::Last last;
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 struct for read responses for AxiMasterGate.
The base type for read or write requests for AxiMasterGate, containing common fields.
The struct for read requests for AxiMasterGate.
The struct for write requests for AxiMasterGate.
A struct composed of the signals associated with AXI read and write requests.
The base axi4 class parameterized according a valid config.
The struct for write responses for AxiMasterGate.