45
45
46
46
namespace DRAMUtils ::MemSpec {
47
47
48
+ enum class RefModeTypeDDR4
49
+ {
50
+ INVALID = -1 ,
51
+ REF_MODE_1 = 1 ,
52
+ REF_MODE_2 = 2 ,
53
+ REF_MODE_4 = 4
54
+ };
55
+ NLOHMANN_JSON_SERIALIZE_ENUM (RefModeTypeDDR4, {
56
+ {RefModeTypeDDR4::INVALID, nullptr },
57
+ {RefModeTypeDDR4::REF_MODE_1, 1 },
58
+ {RefModeTypeDDR4::REF_MODE_2, 2 },
59
+ {RefModeTypeDDR4::REF_MODE_4, 4 },
60
+ })
61
+
48
62
struct MemArchitectureSpecTypeDDR4
49
63
{
50
64
uint64_t nbrOfChannels;
@@ -57,7 +71,7 @@ struct MemArchitectureSpecTypeDDR4
57
71
uint64_t burstLength;
58
72
uint64_t dataRate;
59
73
uint64_t width;
60
- uint64_t RefMode;
74
+ RefModeTypeDDR4 RefMode;
61
75
std::optional<uint64_t > maxBurstLength;
62
76
};
63
77
NLOHMANN_JSONIFY_ALL_THINGS (MemArchitectureSpecTypeDDR4, nbrOfChannels, nbrOfDevices, nbrOfRanks, nbrOfBanks, nbrOfBankGroups, nbrOfRows, nbrOfColumns, burstLength, dataRate, width, RefMode, maxBurstLength)
@@ -78,11 +92,10 @@ struct MemTimingSpecTypeDDR4
78
92
uint64_t WR;
79
93
uint64_t XP;
80
94
uint64_t XS;
81
- uint64_t REFM;
82
95
uint64_t REFI;
83
- uint64_t RFC1;
84
- uint64_t RFC2;
85
- uint64_t RFC4;
96
+ uint64_t RFC1; // RefModeTypeDDR4::REF_MODE_1 || RefModeTypeDDR4::INVALID
97
+ uint64_t RFC2; // RefModeTypeDDR4::REF_MODE_2
98
+ uint64_t RFC4; // RefModeTypeDDR4::REF_MODE_4
86
99
uint64_t RP;
87
100
uint64_t DQSCK;
88
101
uint64_t CCD_S;
@@ -100,7 +113,7 @@ struct MemTimingSpecTypeDDR4
100
113
uint64_t REFPDEN;
101
114
uint64_t RTRS;
102
115
};
103
- NLOHMANN_JSONIFY_ALL_THINGS (MemTimingSpecTypeDDR4, tCK, CKE, CKESR, RAS, RC, RCD, RL, RPRE, RTP, WL, WPRE, WR, XP, XS, REFM, REFI, RFC1, RFC2, RFC4, RP, DQSCK, CCD_S, CCD_L, FAW, RRD_S, RRD_L, WTR_S, WTR_L, XPDLL, XSDLL, AL, ACTPDEN, PRPDEN, REFPDEN, RTRS)
116
+ NLOHMANN_JSONIFY_ALL_THINGS (MemTimingSpecTypeDDR4, tCK, CKE, CKESR, RAS, RC, RCD, RL, RPRE, RTP, WL, WPRE, WR, XP, XS, REFI, RFC1, RFC2, RFC4, RP, DQSCK, CCD_S, CCD_L, FAW, RRD_S, RRD_L, WTR_S, WTR_L, XPDLL, XSDLL, AL, ACTPDEN, PRPDEN, REFPDEN, RTRS)
104
117
105
118
struct MemPowerSpecTypeDDR4
106
119
{
@@ -124,15 +137,15 @@ struct MemPowerSpecTypeDDR4
124
137
double ipp2p;
125
138
double ipp3p;
126
139
127
- // MemArchitectureSpecTypeDDR4::RefMode==1
140
+ // RefModeTypeDDR4::REF_MODE_1 || RefModeTypeDDR4::INVALID
128
141
double idd5B;
129
142
double ipp5B;
130
143
131
- // MemArchitectureSpecTypeDDR4::RefMode==2
144
+ // RefModeTypeDDR4::REF_MODE_2
132
145
double idd5F2;
133
146
double ipp5F2;
134
147
135
- // MemArchitectureSpecTypeDDR4::RefMode==4
148
+ // RefModeTypeDDR4::REF_MODE_4
136
149
double idd5F4;
137
150
double ipp5F4;
138
151
0 commit comments