From 1f8b45432941e8f116c88d2e74daf6d9a063f2aa Mon Sep 17 00:00:00 2001 From: marcomoerz Date: Wed, 30 Jul 2025 16:38:38 +0200 Subject: [PATCH] added DBI to MemSpecs --- .../DRAMUtils/memspec/standards/MemSpecDDR4.h | 11 ++++++++++- .../DRAMUtils/memspec/standards/MemSpecDDR5.h | 12 +++++++++++- .../DRAMUtils/memspec/standards/MemSpecLPDDR4.h | 11 ++++++++++- .../DRAMUtils/memspec/standards/MemSpecLPDDR5.h | 11 ++++++++++- 4 files changed, 41 insertions(+), 4 deletions(-) diff --git a/include/DRAMUtils/DRAMUtils/memspec/standards/MemSpecDDR4.h b/include/DRAMUtils/DRAMUtils/memspec/standards/MemSpecDDR4.h index d995ec9..f1e1621 100644 --- a/include/DRAMUtils/DRAMUtils/memspec/standards/MemSpecDDR4.h +++ b/include/DRAMUtils/DRAMUtils/memspec/standards/MemSpecDDR4.h @@ -214,8 +214,17 @@ struct MemImpedanceSpecTypeDDR4 { bool wdqs_termination; double wdqs_R_eq; double wdqs_dyn_E; + + // DBI read + bool rdbi_termination; + double rdbi_R_eq; + double rdbi_dyn_E; + // DBI write + bool wdbi_termination; + double wdbi_R_eq; + double wdbi_dyn_E; }; -NLOHMANN_JSONIFY_ALL_THINGS(MemImpedanceSpecTypeDDR4, ck_termination, ck_R_eq, ck_dyn_E, ca_termination, ca_R_eq, ca_dyn_E, rdq_termination, rdq_R_eq, rdq_dyn_E, wdq_termination, wdq_R_eq, wdq_dyn_E, rdqs_termination, rdqs_R_eq, rdqs_dyn_E, wdqs_termination, wdqs_R_eq, wdqs_dyn_E) +NLOHMANN_JSONIFY_ALL_THINGS(MemImpedanceSpecTypeDDR4, ck_termination, ck_R_eq, ck_dyn_E, ca_termination, ca_R_eq, ca_dyn_E, rdq_termination, rdq_R_eq, rdq_dyn_E, wdq_termination, wdq_R_eq, wdq_dyn_E, rdqs_termination, rdqs_R_eq, rdqs_dyn_E, wdqs_termination, wdqs_R_eq, wdqs_dyn_E, rdbi_termination, rdbi_R_eq, rdbi_dyn_E, wdbi_termination, wdbi_R_eq, wdbi_dyn_E) struct MemSpecDDR4 : BaseMemSpec { diff --git a/include/DRAMUtils/DRAMUtils/memspec/standards/MemSpecDDR5.h b/include/DRAMUtils/DRAMUtils/memspec/standards/MemSpecDDR5.h index 028a068..6d0da3c 100644 --- a/include/DRAMUtils/DRAMUtils/memspec/standards/MemSpecDDR5.h +++ b/include/DRAMUtils/DRAMUtils/memspec/standards/MemSpecDDR5.h @@ -38,6 +38,7 @@ #include #include +#include #include "DRAMUtils/util/json_utils.h" #include "DRAMUtils/memspec/BaseMemSpec.h" @@ -211,8 +212,17 @@ struct MemImpedanceSpecTypeDDR5 { bool wdqs_termination; double wdqs_R_eq; double wdqs_dyn_E; + + // DBI read + bool rdbi_termination; + double rdbi_R_eq; + double rdbi_dyn_E; + // DBI write + bool wdbi_termination; + double wdbi_R_eq; + double wdbi_dyn_E; }; -NLOHMANN_JSONIFY_ALL_THINGS(MemImpedanceSpecTypeDDR5, ck_termination, ck_R_eq, ck_dyn_E, ca_termination, ca_R_eq, ca_dyn_E, rdq_termination, rdq_R_eq, rdq_dyn_E, wdq_termination, wdq_R_eq, wdq_dyn_E, rdqs_termination, rdqs_R_eq, rdqs_dyn_E, wdqs_termination, wdqs_R_eq, wdqs_dyn_E) +NLOHMANN_JSONIFY_ALL_THINGS(MemImpedanceSpecTypeDDR5, ck_termination, ck_R_eq, ck_dyn_E, ca_termination, ca_R_eq, ca_dyn_E, rdq_termination, rdq_R_eq, rdq_dyn_E, wdq_termination, wdq_R_eq, wdq_dyn_E, rdqs_termination, rdqs_R_eq, rdqs_dyn_E, wdqs_termination, wdqs_R_eq, wdqs_dyn_E, rdbi_termination, rdbi_R_eq, rdbi_dyn_E, wdbi_termination, wdbi_R_eq, wdbi_dyn_E) struct DataRateSpecTypeDDR5 { uint64_t ca_bus_rate; diff --git a/include/DRAMUtils/DRAMUtils/memspec/standards/MemSpecLPDDR4.h b/include/DRAMUtils/DRAMUtils/memspec/standards/MemSpecLPDDR4.h index 2712e8f..b5827bb 100644 --- a/include/DRAMUtils/DRAMUtils/memspec/standards/MemSpecLPDDR4.h +++ b/include/DRAMUtils/DRAMUtils/memspec/standards/MemSpecLPDDR4.h @@ -89,8 +89,17 @@ struct MemImpedanceSpecTypeLPDDR4 { bool wdqs_termination; double wdqs_R_eq; double wdqs_dyn_E; + + // DBI read + bool rdbi_termination; + double rdbi_R_eq; + double rdbi_dyn_E; + // DBI write + bool wdbi_termination; + double wdbi_R_eq; + double wdbi_dyn_E; }; -NLOHMANN_JSONIFY_ALL_THINGS(MemImpedanceSpecTypeLPDDR4, ck_termination, ck_R_eq, ck_dyn_E, ca_termination, ca_R_eq, ca_dyn_E, rdq_termination, rdq_R_eq, rdq_dyn_E, wdq_termination, wdq_R_eq, wdq_dyn_E, rdqs_termination, rdqs_R_eq, rdqs_dyn_E, wdqs_termination, wdqs_R_eq, wdqs_dyn_E) +NLOHMANN_JSONIFY_ALL_THINGS(MemImpedanceSpecTypeLPDDR4, ck_termination, ck_R_eq, ck_dyn_E, ca_termination, ca_R_eq, ca_dyn_E, rdq_termination, rdq_R_eq, rdq_dyn_E, wdq_termination, wdq_R_eq, wdq_dyn_E, rdqs_termination, rdqs_R_eq, rdqs_dyn_E, wdqs_termination, wdqs_R_eq, wdqs_dyn_E, rdbi_termination, rdbi_R_eq, rdbi_dyn_E, wdbi_termination, wdbi_R_eq, wdbi_dyn_E) struct MemTimingSpecTypeLPDDR4 { diff --git a/include/DRAMUtils/DRAMUtils/memspec/standards/MemSpecLPDDR5.h b/include/DRAMUtils/DRAMUtils/memspec/standards/MemSpecLPDDR5.h index 7da22ae..156265c 100644 --- a/include/DRAMUtils/DRAMUtils/memspec/standards/MemSpecLPDDR5.h +++ b/include/DRAMUtils/DRAMUtils/memspec/standards/MemSpecLPDDR5.h @@ -92,8 +92,17 @@ struct MemImpedanceSpecTypeLPDDR5 bool wck_termination; double wck_R_eq; double wck_dyn_E; + + // DBI read + bool rdbi_termination; + double rdbi_R_eq; + double rdbi_dyn_E; + // DBI write + bool wdbi_termination; + double wdbi_R_eq; + double wdbi_dyn_E; }; -NLOHMANN_JSONIFY_ALL_THINGS(MemImpedanceSpecTypeLPDDR5, ck_termination, ck_R_eq, ck_dyn_E, ca_termination, ca_R_eq, ca_dyn_E, rdq_termination, rdq_R_eq, rdq_dyn_E, wdq_termination, wdq_R_eq, wdq_dyn_E, rdqs_termination, rdqs_R_eq, rdqs_dyn_E, wck_termination, wck_R_eq, wck_dyn_E) +NLOHMANN_JSONIFY_ALL_THINGS(MemImpedanceSpecTypeLPDDR5, ck_termination, ck_R_eq, ck_dyn_E, ca_termination, ca_R_eq, ca_dyn_E, rdq_termination, rdq_R_eq, rdq_dyn_E, wdq_termination, wdq_R_eq, wdq_dyn_E, rdqs_termination, rdqs_R_eq, rdqs_dyn_E, wck_termination, wck_R_eq, wck_dyn_E, rdbi_termination, rdbi_R_eq, rdbi_dyn_E, wdbi_termination, wdbi_R_eq, wdbi_dyn_E) struct MemTimingSpecTypeLPDDR5 {