Skip to content

Commit 6e1e565

Browse files
authored
Merge pull request #14 from tukl-msd/refactor/impedance_spec
refactored impedance specs
2 parents 5577e0d + 65bdcc6 commit 6e1e565

File tree

3 files changed

+84
-38
lines changed

3 files changed

+84
-38
lines changed

include/DRAMUtils/DRAMUtils/memspec/standards/MemSpecDDR4.h

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -187,19 +187,35 @@ struct PrePostambleTypeDDR4
187187
NLOHMANN_JSONIFY_ALL_THINGS(PrePostambleTypeDDR4, read_zeroes, write_zeroes, read_ones, write_ones, read_zeroes_to_ones, write_zeroes_to_ones, write_ones_to_zeroes, read_ones_to_zeroes, readMinTccd, writeMinTccd)
188188

189189
struct MemImpedanceSpecTypeDDR4 {
190-
double C_total_ck;
191-
double C_total_cb;
192-
double C_total_rb;
193-
double C_total_wb;
194-
double C_total_dqs;
195-
196-
double R_eq_ck;
197-
double R_eq_cb;
198-
double R_eq_rb;
199-
double R_eq_wb;
200-
double R_eq_dqs;
190+
// Clock
191+
bool ck_termination;
192+
double ck_R_eq;
193+
double ck_dyn_E;
194+
195+
// Commandbus
196+
bool cb_termination;
197+
double cb_R_eq;
198+
double cb_dyn_E;
199+
200+
// Data bus read
201+
bool rb_termination;
202+
double rb_R_eq;
203+
double rb_dyn_E;
204+
// Data bus write
205+
bool wb_termination;
206+
double wb_R_eq;
207+
double wb_dyn_E;
208+
209+
// DQS read
210+
bool rdqs_termination;
211+
double rdqs_R_eq;
212+
double rdqs_dyn_E;
213+
// DQS write
214+
bool wdqs_termination;
215+
double wdqs_R_eq;
216+
double wdqs_dyn_E;
201217
};
202-
NLOHMANN_JSONIFY_ALL_THINGS(MemImpedanceSpecTypeDDR4, C_total_ck, C_total_cb, C_total_rb, C_total_wb, C_total_dqs, R_eq_ck, R_eq_cb, R_eq_rb, R_eq_wb, R_eq_dqs)
218+
NLOHMANN_JSONIFY_ALL_THINGS(MemImpedanceSpecTypeDDR4, ck_termination, ck_R_eq, ck_dyn_E, cb_termination, cb_R_eq, cb_dyn_E, rb_termination, rb_R_eq, rb_dyn_E, wb_termination, wb_R_eq, wb_dyn_E, rdqs_termination, rdqs_R_eq, rdqs_dyn_E, wdqs_termination, wdqs_R_eq, wdqs_dyn_E)
203219

204220
struct MemSpecDDR4 : BaseMemSpec
205221
{

include/DRAMUtils/DRAMUtils/memspec/standards/MemSpecDDR5.h

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -184,19 +184,35 @@ struct BankWiseSpecTypeDDR5
184184
NLOHMANN_JSONIFY_ALL_THINGS(BankWiseSpecTypeDDR5, factRho)
185185

186186
struct MemImpedanceSpecTypeDDR5 {
187-
double C_total_cb;
188-
double C_total_ck;
189-
double C_total_dqs;
190-
double C_total_rb;
191-
double C_total_wb;
192-
193-
double R_eq_cb;
194-
double R_eq_ck;
195-
double R_eq_dqs;
196-
double R_eq_rb;
197-
double R_eq_wb;
187+
// Clock
188+
bool ck_termination;
189+
double ck_R_eq;
190+
double ck_dyn_E;
191+
192+
// Commandbus
193+
bool cb_termination;
194+
double cb_R_eq;
195+
double cb_dyn_E;
196+
197+
// Data bus read
198+
bool rb_termination;
199+
double rb_R_eq;
200+
double rb_dyn_E;
201+
// Data bus write
202+
bool wb_termination;
203+
double wb_R_eq;
204+
double wb_dyn_E;
205+
206+
// DQS read
207+
bool rdqs_termination;
208+
double rdqs_R_eq;
209+
double rdqs_dyn_E;
210+
// DQS write
211+
bool wdqs_termination;
212+
double wdqs_R_eq;
213+
double wdqs_dyn_E;
198214
};
199-
NLOHMANN_JSONIFY_ALL_THINGS(MemImpedanceSpecTypeDDR5, C_total_cb, C_total_ck, C_total_dqs, C_total_rb, C_total_wb, R_eq_cb, R_eq_ck, R_eq_dqs, R_eq_rb, R_eq_wb)
215+
NLOHMANN_JSONIFY_ALL_THINGS(MemImpedanceSpecTypeDDR5, ck_termination, ck_R_eq, ck_dyn_E, cb_termination, cb_R_eq, cb_dyn_E, rb_termination, rb_R_eq, rb_dyn_E, wb_termination, wb_R_eq, wb_dyn_E, rdqs_termination, rdqs_R_eq, rdqs_dyn_E, wdqs_termination, wdqs_R_eq, wdqs_dyn_E)
200216

201217
struct DataRateSpecTypeDDR5 {
202218
uint64_t ca_bus_rate;

include/DRAMUtils/DRAMUtils/memspec/standards/MemSpecLPDDR5.h

Lines changed: 28 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -65,21 +65,35 @@ NLOHMANN_JSONIFY_ALL_THINGS(MemArchitectureSpecTypeLPDDR5, nbrOfDevices, nbrOfCh
6565

6666
struct MemImpedanceSpecTypeLPDDR5
6767
{
68-
double C_total_cb;
69-
double C_total_ck;
70-
double C_total_wck;
71-
double C_total_dqs;
72-
double C_total_rb;
73-
double C_total_wb;
74-
75-
double R_eq_cb;
76-
double R_eq_ck;
77-
double R_eq_wck;
78-
double R_eq_dqs;
79-
double R_eq_rb;
80-
double R_eq_wb;
68+
// Clock
69+
bool ck_termination;
70+
double ck_R_eq;
71+
double ck_dyn_E;
72+
73+
// Commandbus
74+
bool cb_termination;
75+
double cb_R_eq;
76+
double cb_dyn_E;
77+
78+
// Data bus read
79+
bool rb_termination;
80+
double rb_R_eq;
81+
double rb_dyn_E;
82+
// Data bus write
83+
bool wb_termination;
84+
double wb_R_eq;
85+
double wb_dyn_E;
86+
87+
// DQS read
88+
bool rdqs_termination;
89+
double rdqs_R_eq;
90+
double rdqs_dyn_E;
91+
// WCK
92+
bool wck_termination;
93+
double wck_R_eq;
94+
double wck_dyn_E;
8195
};
82-
NLOHMANN_JSONIFY_ALL_THINGS(MemImpedanceSpecTypeLPDDR5, C_total_cb, C_total_ck, C_total_wck, C_total_dqs, C_total_rb, C_total_wb, R_eq_cb, R_eq_ck, R_eq_wck, R_eq_dqs, R_eq_rb, R_eq_wb)
96+
NLOHMANN_JSONIFY_ALL_THINGS(MemImpedanceSpecTypeLPDDR5, ck_termination, ck_R_eq, ck_dyn_E, cb_termination, cb_R_eq, cb_dyn_E, rb_termination, rb_R_eq, rb_dyn_E, wb_termination, wb_R_eq, wb_dyn_E, rdqs_termination, rdqs_R_eq, rdqs_dyn_E, wck_termination, wck_R_eq, wck_dyn_E)
8397

8498
struct MemTimingSpecTypeLPDDR5
8599
{

0 commit comments

Comments
 (0)