-
Notifications
You must be signed in to change notification settings - Fork 0
/
rf.h
137 lines (126 loc) · 1.92 KB
/
rf.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#pragma once
#include <stdint.h>
enum DSARF {
#define MACRO(x) x,
#include "./rf.def"
#undef MACRO
};
const char* const REG_NAMES[] = {
#define MACRO(x) #x,
#include "./rf.def"
#undef MACRO
};
const int64_t REG_STICKY[] = {
0, // ZERO
1, // TBC
1, // CSA
1, // CFS
1, // CSR
0, // SAR
0, // I1D
0, // L1D
0, // E2D
0, // I2D
0, // L2D
0, // DE2D
0, // DI2D
0, // E3D1D
0, // E3D2D
0, // I3D
0, // L3D
0, // INDP
0, // ISL
0, // IL1D
0, // IL2D
0, // ILV
0, // BR
0, // BSR
0, // OFL
0, // VSR
0, // RPT
0, // ERPT
0, // EPRD
0, // RESERVED0
0, // RESERVED1
0, // RESERVED2
0, // RESERVED3
0, // TOTAL_REG
};
const int REG_DEFAULT[] = {
0, // ZERO
1, // TBC
0, // CSA
0, // CFS
0, // CSR
0, // SAR
0, // I1D
0, // L1D
0, // E2D
0, // I2D
0, // L2D
0, // DE2D
0, // DI2D
0, // E3D1D
0, // E3D2D
0, // I3D
0, // L3D
0, // INDP
0, // ISL
0, // IL1D
0, // IL2D
0, // ILV
-1, // BR
0, // BSR
0, // OFL
0, // VSR
0, // RPT
0, // ERPT
0, // EPRD
0, // RESERVED0
0, // RESERVED1
0, // RESERVED2
0, // RESERVED3
0, // TOTAL_REG
};
enum Padding {
DP_NoPadding,
DP_PostStreamZero, // Pad at the end of whole stream with zero
DP_PostStreamPredOff, // Pad at the end of whole stream with invalid value
DP_Post2DStreamZero, // Pad at the end of 2D stream with zero
DP_Post2DStreamPredOff, // Pad at the end of 2D stream with invalid value
DP_PostStrideZero, // Pad at the end of 1D stream with zero
DP_PostStridePredOff, // Pad at the end of 1D stream with invalid value
};
enum BarrierFlag {
DBF_DMAStreams,
DBF_SPadStreams,
DBF_RecurStreams,
DBF_ReadStreams,
DBF_WriteStreams,
DBF_AtomicStreams,
DBF_ComputStreams,
};
enum MemoryOperation {
DMO_Read,
DMO_Write,
DMO_Add,
DMO_Sub,
DMO_Mul,
DMO_Min,
DMO_Max,
DMO_Unkown,
};
enum StreamAction {
DSA_Access,
DSA_Generate
};
enum PortField {
DPF_PortBroadcast,
DPF_PortRepeat,
DPF_PortRepeatStretch,
DPF_PortPeriod,
};
enum MemoryType {
DMT_DMA,
DMT_SPAD
};