/* * Copyright (c) 2025 Fraunhofer IESE. All rights reserved. * * Authors: * Iron Prando da Silva */ #pragma once #include "../dramtimedependenciesbase.h" class TimeDependenciesInfoDDR3 final : public DRAMTimeDependenciesBase { public: TimeDependenciesInfoDDR3(const QJsonObject& memspec, const uint clk); static const std::vector getPossiblePhases(); protected: void mInitializeValues() override; DependencyMap mSpecializedGetDependencies() const override; protected: uint burstLength; uint dataRate; uint tCCD; uint tRCD; uint tRP; uint tRAS; uint tCL; uint tCWL; uint tAL; uint tRL; uint tWL; uint tRTP; uint tWTR; uint tRRD; uint tWR; uint tFAW; uint tRFC; uint tRC; uint tXP; uint tXS; uint tXSDLL; uint tCKE; uint tCKESR; uint tPD; uint tREFPDEN; uint tACTPDEN; uint tPRPDEN; uint tRTRS; uint tBURST; uint tRDWR; uint tRDWR_R; uint tWRRD; uint tWRPRE; uint tWRRD_R; uint tRDPDEN; uint tWRPDEN; uint tWRAPDEN; };