8 #include <xrt/xrt_bo.h>
10 #include <cynq/datamover.hpp>
11 #include <cynq/enums.hpp>
12 #include <cynq/hardware.hpp>
13 #include <cynq/status.hpp>
14 #include <cynq/xrt/memory.hpp>
23 std::shared_ptr<xrt::bo>
bo_;
46 std::shared_ptr<HardwareParameters> hwparams);
86 const size_t size,
const int memory_bank = 0,
87 const MemoryType type = MemoryType::Dual)
override;
107 Status Upload(
const std::shared_ptr<IMemory> mem,
const size_t size,
108 const size_t offset,
const ExecutionType exetype)
override;
129 Status Download(
const std::shared_ptr<IMemory> mem,
const size_t size,
130 const size_t offset,
const ExecutionType exetype)
override;
150 std::unique_ptr<DataMoverParameters> data_mover_params_;
Interface for standardising the API of DataMover for a specific device: XRTDataMover.
Definition: datamover.hpp:40
XRTDataMover class Provides the API to interact with the data buffers responsible for memory operatio...
Definition: datamover.hpp:34
DeviceStatus GetStatus() override
GetStatus method Returns the status of the data mover in terms of transactions.
Definition: datamover.cpp:79
Status Download(const std::shared_ptr< IMemory > mem, const size_t size, const size_t offset, const ExecutionType exetype) override
Download method.
Definition: datamover.cpp:111
XRTDataMover()=delete
Default constructor.
virtual ~XRTDataMover()
~XRTDataMover destructor method Destroy the XRTDataMover object.
Definition: datamover.cpp:81
Status Upload(const std::shared_ptr< IMemory > mem, const size_t size, const size_t offset, const ExecutionType exetype) override
Upload method.
Definition: datamover.cpp:87
std::shared_ptr< IMemory > GetBuffer(const size_t size, const int memory_bank=0, const MemoryType type=MemoryType::Dual) override
GetBuffer method This method allocates a memory buffer. Depending on the MemoryType,...
Definition: datamover.cpp:39
Status Sync(const SyncType type) override
Sync method.
Definition: datamover.cpp:135
Structure to define the return characteristics of each function.
Definition: status.hpp:19