ABCDEFGHIJKLMNOPQRSTUVWXY
1
DDR5 Timing Calculator for AMD by RedF & Wolf87, Guided by Veii
2
Version 0.0.08
3
Primary Timingsuse this formula at your own riskcalculatedEditdo not touch !
4
tCL28
5
tRCDWR37
6
tRCDRD37
7
tRP37
8
tRTP12
9
tWR48tWR Rule is not under 48, but 24 is somewhat an option
10
toogle switch for tWR (switch between 48 or fail safe variante ) 1=48 0=failsafe
1
11
12
minimum tRAS49tRCDtRTP
13
tRCD+tRTP3712
14
15
optimum tRAS57tRCDtRTPBurstLength 16 / 2 = BurstChopX = + 2 or 4 Points, minimum = 0
16
tRCD + tRTP + BurstChop + X371280
17
18
safe tRAStCWLtRCDWRtWRthis variant garants always a ROW Hit
19
tCWL+tRCDWR+tWR111263748
20
tRC = tRAS, for safe tRAS
21
22
tRC = for tRAS minimum or optimumtRC = for tRAS mintRC = for tRAS Optimum
23
8694
24
25
tFAW32for all of our DIMMs ~ 32.
32 for 1kb pagesize dimms
48 for 2kb pagesize dimms.
// As long as it is not confirmed that AMD uses 2 MC links each DIMM, the value is 32/48 instead of 16/24 :)
26
27
tRFC
choose your clock value
and your tRFC for
your Dimm type
Hynix A-Die [ns]Hynix M-Die [ns]Samsung B-Die [ns]Samsung D-Die [ns]Micron A+G REV [ns]Micron Rev B [ns] if you stay with 65535 maxed, is 320,352,384,416
If you want to give 65528 a try , then its 308, 340, 372 ,404 ~
pick one that suits you Scale both sets +/- 32. But keep values.
Just test what REFI brings you most consistency(not latency)
28
120160260270260360minimum value
29
DDR5 MHz6400
30
tRFC [tREFi 65528]500156,3156,3156,3156,3156,3156,3if you use tREFi 65528, red value=if you reach min Value
31
tRFC [tREFi 65535]480150,0150,0150,0150,0150,0150,0if you use tREFi 65535, red value=if you reach min Value
32
33
tRRD_S/DG8
34
tRRD_L/SG12recommended 12
35
tWTR_S/DG7Veii tweak (can also run at 4 )Thanks to this I have found a "small" exploit of my own.
DDR4 & DDR5 can execute within 2 writes per read.
Actually a little more, but they can do 2.

As an example:
RRDS 8
RRDL 12
WTRS 4
WTRL 24
RDRDSCL = 12-8+1 = 5

That is,
If CCDLWR is used and WTRL would be exactly double of RRDL (normal)
If the SC_Longs are also correct (the minimums) and RTP is not too low.
Then the loop ends at exactly the right time to run WTRS at half clock.
If not, a delay somewhere between reads would be too slow or too short.
tWR & tRTP as main variables.

36
tWTR_L/SG24
38
39
Interface Timings
40
CCD_S8
41
CCD_L=>tRRDL oder tRRDS 12
42
CCDL_WR= CCDL *224
43
44
Mathematical Offset Timings
45
tRDRDSC_L min5CCDLRdBurstChopOdtEnDly
46
CCDL - RdBurstChop + ODTEnDly1281
47
48
tWRWRSC_L min17CCDLWRWrBurstChopOdtEnDly
49
CCDLWR - WrBurstChop + ODTEnDly2481
50
51
tRDWR min12tCLtCWLBurstChopOdtEnDlyWrPRE (shown in MemTweak) safety delay
52
tCL - tCWL + BC8 + ODTEnDly + WrPRE + SafetyDly28268101
53
54
Tertiäre Timings (SC + SD + DD)
55
If you have single sided Module, then you have to enter value 1 (for example 2*16 GB),
if you have dual sided Modules
(Chips on both sides like 2*32GB) you have to enter the value 0
1_DD & _SD/DR wenn 2x32bit MC/DIMM
56
tRDWR (lower 16 possible min formula above)12tCCD_S4not clear
57
tWRRD 1tRDRD_4not clear
58
tRDRDSC1tWRWR_3not clear
59
tRDRDSD1tRDWR_8not clear
60
tRDRDDD8tWRRD_2not clear
61
tWRWRSC1
62
tWRWRSD1
63
tWRWRDD6
64
65
tREFi < Maximum Value 65536(-1),
please choose lower Value if you have thermal problems
6553665536 (minus 8192 steps) = result -1.
// to choose for thermal problems
66
67
tRRD_L/SG16GB Dimm24GB Dimm
68
tCCD_S oder höher812
CCDS , or bigger. CCDS is
always 8 unless double MC link.
Starting point 8+
69
70
Refresh TimingstRFC
71
tRFC480you have to edit this value for calculate tRFC2+ tRFCsb
at the moment AMD doesn't apply these values
72
tRFC2260
73
tRFCsb212
74
75
tWR FailsafetWRtCLtWTRLBuffer 8
76
tWR = WTR_A+ RTP + X (BC8) ~ tCL+tWTRL+86028248
77
round up multiple of 660
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101