10 #include <xrt/xrt_bo.h>
12 #include <cynq/datamover.hpp>
13 #include <cynq/enums.hpp>
14 #include <cynq/hardware.hpp>
15 #include <cynq/status.hpp>
16 #include <cynq/xrt/memory.hpp>
25 std::shared_ptr<xrt::bo>
bo_;
49 std::shared_ptr<HardwareParameters> hwparams);
86 const size_t size,
const int memory_bank = 0,
87 const MemoryType type = MemoryType::Dual)
override;
106 Status Upload(
const std::shared_ptr<IMemory> mem,
const size_t size,
107 const size_t offset,
const ExecutionType exetype)
override;
123 Status Download(
const std::shared_ptr<IMemory> mem,
const size_t size,
124 const size_t offset,
const ExecutionType exetype)
override;
143 std::unique_ptr<DataMoverParameters> data_mover_params_;
DMADataMover class Provides the api from which to interact with the data buffers responsable for memo...
Definition: datamover.hpp:37
DeviceStatus GetStatus() override
GetStatus method Returns the status of the data mover in terms of transactions.
Definition: datamover.cpp:92
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:53
DMADataMover()=delete
Default constructor.
Status Sync(const SyncType type) override
Sync method Synchronizes data movements in case of asynchronous Upload/Download.
Definition: datamover.cpp:205
virtual ~DMADataMover()
~DMADataMover destructor method Destroy the DMADataMover object.
Definition: datamover.cpp:94
Status Upload(const std::shared_ptr< IMemory > mem, const size_t size, const size_t offset, const ExecutionType exetype) override
Upload method This method moves the data from the host to the device using a DMA engine....
Definition: datamover.cpp:105
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:156
Interface for standardising the API of DataMover for a specific device: XRTDataMover.
Definition: datamover.hpp:40
Structure to define the return characteristics of each function.
Definition: status.hpp:19