mem: add DRAM powerdown timing
This commit is contained in:
parent
20e6bb0140
commit
d19dc35b06
3 changed files with 34 additions and 1 deletions
|
@ -370,6 +370,12 @@ class DDR3_1600_x64(DRAMCtrl):
|
||||||
# <=85C, half for >85C
|
# <=85C, half for >85C
|
||||||
tREFI = '7.8us'
|
tREFI = '7.8us'
|
||||||
|
|
||||||
|
# active powerdown and precharge powerdown exit time
|
||||||
|
tXP = '6ns'
|
||||||
|
|
||||||
|
# self refresh exit time
|
||||||
|
tXS = '270ns'
|
||||||
|
|
||||||
# Current values from datasheet
|
# Current values from datasheet
|
||||||
IDD0 = '75mA'
|
IDD0 = '75mA'
|
||||||
IDD2N = '50mA'
|
IDD2N = '50mA'
|
||||||
|
@ -591,6 +597,12 @@ class DDR4_2400_x64(DRAMCtrl):
|
||||||
# <=85C, half for >85C
|
# <=85C, half for >85C
|
||||||
tREFI = '7.8us'
|
tREFI = '7.8us'
|
||||||
|
|
||||||
|
# active powerdown and precharge powerdown exit time
|
||||||
|
tXP = '6ns'
|
||||||
|
|
||||||
|
# self refresh exit time
|
||||||
|
tXS = '120ns'
|
||||||
|
|
||||||
# Current values from datasheet
|
# Current values from datasheet
|
||||||
IDD0 = '70mA'
|
IDD0 = '70mA'
|
||||||
IDD02 = '4.6mA'
|
IDD02 = '4.6mA'
|
||||||
|
@ -659,6 +671,12 @@ class LPDDR2_S4_1066_x32(DRAMCtrl):
|
||||||
tRFC = '130ns'
|
tRFC = '130ns'
|
||||||
tREFI = '3.9us'
|
tREFI = '3.9us'
|
||||||
|
|
||||||
|
# active powerdown and precharge powerdown exit time
|
||||||
|
tXP = '7.5ns'
|
||||||
|
|
||||||
|
# self refresh exit time
|
||||||
|
tXS = '140ns'
|
||||||
|
|
||||||
# Irrespective of speed grade, tWTR is 7.5 ns
|
# Irrespective of speed grade, tWTR is 7.5 ns
|
||||||
tWTR = '7.5ns'
|
tWTR = '7.5ns'
|
||||||
|
|
||||||
|
@ -815,6 +833,12 @@ class LPDDR3_1600_x32(DRAMCtrl):
|
||||||
tRFC = '130ns'
|
tRFC = '130ns'
|
||||||
tREFI = '3.9us'
|
tREFI = '3.9us'
|
||||||
|
|
||||||
|
# active powerdown and precharge powerdown exit time
|
||||||
|
tXP = '7.5ns'
|
||||||
|
|
||||||
|
# self refresh exit time
|
||||||
|
tXS = '140ns'
|
||||||
|
|
||||||
# Irrespective of speed grade, tWTR is 7.5 ns
|
# Irrespective of speed grade, tWTR is 7.5 ns
|
||||||
tWTR = '7.5ns'
|
tWTR = '7.5ns'
|
||||||
|
|
||||||
|
@ -1057,3 +1081,9 @@ class HBM_1000_4H_x64(HBM_1000_4H_x128):
|
||||||
# Default different rank bus delay to 2 CK, @1000 MHz = 2 ns
|
# Default different rank bus delay to 2 CK, @1000 MHz = 2 ns
|
||||||
tCS = '2ns'
|
tCS = '2ns'
|
||||||
tREFI = '3.9us'
|
tREFI = '3.9us'
|
||||||
|
|
||||||
|
# active powerdown and precharge powerdown exit time
|
||||||
|
tXP = '10ns'
|
||||||
|
|
||||||
|
# self refresh exit time
|
||||||
|
tXS = '65ns'
|
||||||
|
|
|
@ -82,7 +82,8 @@ DRAMCtrl::DRAMCtrl(const DRAMCtrlParams* p) :
|
||||||
tCK(p->tCK), tWTR(p->tWTR), tRTW(p->tRTW), tCS(p->tCS), tBURST(p->tBURST),
|
tCK(p->tCK), tWTR(p->tWTR), tRTW(p->tRTW), tCS(p->tCS), tBURST(p->tBURST),
|
||||||
tCCD_L(p->tCCD_L), tRCD(p->tRCD), tCL(p->tCL), tRP(p->tRP), tRAS(p->tRAS),
|
tCCD_L(p->tCCD_L), tRCD(p->tRCD), tCL(p->tCL), tRP(p->tRP), tRAS(p->tRAS),
|
||||||
tWR(p->tWR), tRTP(p->tRTP), tRFC(p->tRFC), tREFI(p->tREFI), tRRD(p->tRRD),
|
tWR(p->tWR), tRTP(p->tRTP), tRFC(p->tRFC), tREFI(p->tREFI), tRRD(p->tRRD),
|
||||||
tRRD_L(p->tRRD_L), tXAW(p->tXAW), activationLimit(p->activation_limit),
|
tRRD_L(p->tRRD_L), tXAW(p->tXAW), tXP(p->tXP), tXS(p->tXS),
|
||||||
|
activationLimit(p->activation_limit),
|
||||||
memSchedPolicy(p->mem_sched_policy), addrMapping(p->addr_mapping),
|
memSchedPolicy(p->mem_sched_policy), addrMapping(p->addr_mapping),
|
||||||
pageMgmt(p->page_policy),
|
pageMgmt(p->page_policy),
|
||||||
maxAccessesPerRow(p->max_accesses_per_row),
|
maxAccessesPerRow(p->max_accesses_per_row),
|
||||||
|
|
|
@ -726,6 +726,8 @@ class DRAMCtrl : public AbstractMemory
|
||||||
const Tick tRRD;
|
const Tick tRRD;
|
||||||
const Tick tRRD_L;
|
const Tick tRRD_L;
|
||||||
const Tick tXAW;
|
const Tick tXAW;
|
||||||
|
const Tick tXP;
|
||||||
|
const Tick tXS;
|
||||||
const uint32_t activationLimit;
|
const uint32_t activationLimit;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in a new issue