cloudFPGA (cF) API  1.0
The documentation of the source code of cloudFPGA (cF)
mem.hpp
Go to the documentation of this file.
1 
17 
43 
61 #ifndef _MEM_H_
62 #define _MEM_H_
63 
64 #include "ap_int.h"
65 
66 
69 #define KU60_MEM_BANK0_SIZE 8*1024*1024 // 8GB = 2^33
70 #define KU60_MEM_BANK1_SIZE 8*1024*1024 // 8GB = 2^33
71 
72 
80 //=========================================================
81 //== Data Mover Command Interface (c.f PG022)
82 //=========================================================
83 class DmCmd {
84  public:
85  ap_uint<23> btt; // Bytes To Transfer (1 up to 8,388,607 bytes. 0 is not allowed)
86  ap_uint<1> type; // Type of AXI4 access (0=FIXED, 1=INCR)
87  ap_uint<6> dsa; // DRE Stream Alignment
88  ap_uint<1> eof; // End of Frame
89  ap_uint<1> drr; // DRE ReAlignment Request
90  ap_uint<40> saddr; // Start Address
91  ap_uint<4> tag; // Command Tag
92  ap_uint<4> rsvd; // Reserved
93 
94  DmCmd() {}
95  DmCmd(ap_uint<40> addr, ap_uint<23> len) :
96  btt(len), type(1), dsa(0), eof(1), drr(1), saddr(addr), tag(0), rsvd(0) {}
97 };
98 
99 //=========================================================
100 //== Data Mover Status Interface (c.f PG022)
101 //=========================================================
102 class DmSts {
103  public:
104  ap_uint<4> tag;
105  ap_uint<1> interr;
106  ap_uint<1> decerr;
107  ap_uint<1> slverr;
108  ap_uint<1> okay;
109 
110  DmSts() {}
111 };
112 
113 #endif
114 
ap_uint< 40 > saddr
ap_uint< 1 > drr
DmCmd(ap_uint< 40 > addr, ap_uint< 23 > len)
Definition: mem.hpp:95
ap_uint< 1 > eof
ap_uint< 4 > tag
ap_uint< 6 > dsa
ap_uint< 4 > rsvd
DmCmd()
Definition: mem.hpp:94
ap_uint< 23 > btt
Definition: mem.hpp:85
ap_uint< 1 > type
ap_uint< 1 > okay
ap_uint< 1 > decerr
ap_uint< 1 > slverr
ap_uint< 4 > tag
DmSts()
Definition: mem.hpp:110
ap_uint< 1 > interr