16 #ifndef ARBITRATED_SCRATCHPAD_TYPES_H
17 #define ARBITRATED_SCRATCHPAD_TYPES_H
19 #include <nvhls_int.h>
20 #include <nvhls_types.h>
21 #include <nvhls_message.h>
22 #include <comptrees.h>
29 static const int width = 1;
31 template <
unsigned int Size>
32 void Marshall(Marshaller<Size>& m) {
37 template <
typename T,
unsigned int AddrW
idth,
unsigned int N>
42 NVUINTW(AddrWidth) addr[N];
44 static const unsigned int type_width = Wrapped<T>::width;
45 static const int width = 1 + N + N * (AddrWidth + type_width);
47 template <
unsigned int Size>
48 void Marshall(Marshaller<Size>& m) {
50 for(
unsigned i=0; i<N; i++) {
53 for(
unsigned i=0; i<N; i++) {
56 for(
unsigned i=0; i<N; i++) {
62 template <
typename T,
unsigned int N>
67 static const unsigned int type_width = Wrapped<T>::width;
68 static const int width = N + type_width * N;
70 template <
unsigned int Size>
71 void Marshall(Marshaller<Size>& m) {
72 for(
unsigned i=0; i<N; i++) {
75 for(
unsigned i=0; i<N; i++) {