Edit: Interessant war gestern noch, dass eine Erhöhung von VDDQ auf 1,51 direkt zu einem Error in Karhu geführt hat.
Balance
VDDQ_CPU & VDDQ_MEM
Gehen hand in hand.
Das Board trainiert dir ein offset hinnein über deinen gesetzen Werte.
Sobald es das 1x trainiert hat, behält es das Offset jeden (warm) reboot ~ Thema MemoryContextRestore (MCR) bzw Fastboot gehört ebenso dazu.
Beide haben während des Tunings aus zu sein.
VDD2_CPU (MC) & VDD_MEM (VDD-MEM, SWA)
Sind beides input variablen. Einen für die CPU und IMC
Einen für Memory (timings).
Man sollte beide getrennt sehen. VDD getrennt und VDDQ getrennt.
VDD ist meinstens DQ , data path
VDDQ ist meinstens DQS , voltage path
Meistens = simplified.
SA ist dann die Prozessor Spannung für Fabric , auch sehr grob erklärt.
SA gibt den internen Richtwert an. VDDQ_CPU gibt den Spannungsrichtwer an.
Durch dieses VDDQ werden alle 3 signal paths gebaut , CA , CS, DQ.
Mit derren up & down VREF margins.
Diese Margins werden dann mit dem RAM syncronisiert und gegentrainiert.
Die VREF im RAM entstehen ebenso durch die VDDQ_MEM.
Das wird abgeglichen.
Danach hast du MC links von der CPU auszugehen zu den RAM.
Diese beinflussen die DQ , data path.
Die stärke dessen muss über dem VDDQ sein (ceiling limit kann nicht unter floor limit sein)
Und du hast je nach board Verluste.
Dann mit diesem fertigen Spannungsgemisch , werden die Boarddelays antrainiert.
Die gesammten CTL0's (foundation) , CTL1's (powering) und CTL2's (floor bzw DQS)
Nun überlege was alles neu trainiert werden muss, wenn du zb nur eines der beiden VDDQ_CPU oder VDDQ_MEM anrührst.
Sobald eine bestimmte Balance reintrainiert wurde, musst du diese einhalten.
Das heißt, TX & VDDQ_MEM bewegen sich gleichzetig. Ob hoch oder runter.
MC kann sich minimal hochbewegen wenn VDD_MEM sich bewegt, Aber grundsätzlich sind beide getrennt.
Und wenn sich SA bewegt, muss alles neu ausgelötet werden
Hoffe das erklärt es ein wenig~