CYNQ  0.3.0
Framework to develop FPGA applications in C++ with the easiness of PYNQ
enums.hpp
1 /*
2  * See LICENSE for more information about licensing
3  *
4  * Copyright 2023
5  * Author: Luis G. Leon-Vega <luis.leon@ieee.org>
6  * Diego Arturo Avila Torres <diego.avila@uned.cr>
7  *
8  */
9 #pragma once
10 
11 namespace cynq {
17 enum class HardwareArchitecture {
19  UltraScale,
21  Alveo
22 };
23 
29 enum class SyncType {
31  HostToDevice,
33  DeviceToHost
34 };
35 
41 enum class StartMode {
43  Once,
45  Continuous
46 };
47 
53 enum class ExecutionType {
54  /* Syncrhonous style of execution for IDataMover **/
55  Sync,
56  /* Asyncrhonous style of execution for IDataMover **/
57  Async
58 };
59 
66 enum class DeviceStatus {
68  Unknown = -1,
70  Done,
72  Idle,
74  Running,
76  Error
77 };
78 
84 enum class MemoryType {
86  Dual,
88  Cacheable,
90  Host,
92  Device
93 };
94 
99 enum class RegisterAccess {
101  RO,
103  WO,
105  RW,
107  Auto,
108 };
109 } // namespace cynq