Skip to main content
Part 3 · Hard: DDR3 on a real board

18 · Corners and settings

Status: 🟡 Not run yet. DdrIbisBoard already accepts corner, drive and ramOdt props. Nobody has run the sweep yet.

Goal: find the worst combination, not the typical one.

Settings to cover​

PropValuesWhat it changes
cornertypical, minimum, maximumSilicon speed and supply: 1.5, 1.425 and 1.575 V
driveslow9mA, fast9mA, fast8mA, fast12mAThe TI DDR PHY's output drive and slew
ramOdtODT_20 … ODT_120, ODT_offWinbond on-die termination (writes)

Build​

One entry file per combination, so each gets its own report:

corner-min-fast12-odt40.circuit.tsx
import DdrIbisBoard from "./simulations-next/ibis.circuit"
import { physicalRecords } from "./simulations-next/run-ddr.circuit"
import { dqStagesChannel } from "./simulations-next/run-dq-stages.circuit"

export default () => (
<DdrIbisBoard circuitJson={physicalRecords} lanes={["DQ"]} activities={["QUIET"]}
corner="minimum" drive="fast12mA" ramOdt="ODT_40" pcbSpiceChannel={dqStagesChannel} />
)

What you should see​

  • Weaker ODT (ODT_120, ODT_off): a taller eye, but more overshoot and ringing.
  • Stronger ODT (ODT_20): flatter edges, a shorter eye, and more DC current.
  • Minimum corner: slower edges and a smaller eye. This is often the worst-case eye height.

Check by hand​

With a driver of about R_drv into ODT R_odt, the DC swing ≈ VDDQ × R_odt / (R_drv + R_odt), centred on VDDQ/2. The eye can't be taller than that.

Try this​

Make a table of eye height and width for all 3 × 4 × 6 combinations, and mark the worst cell.