0hmX/am3352-ddr-track-a-local-dfm-wip-20261007

Experimental RJ45-corrected board with isolated PG indication. 1005/1005 source joins pass; 15 expanded-guard physical errors, sourcing and qualification gates remain. Not fabrication-ready.

Version
0.0.14
License
unset
Stars
0

simulations-next/model-review/review-receipt.json

{
  "scope": "Manufacturer buffer-model fidelity/configuration. Does not include PCB extraction or claim DDR functional compliance.",
  "ti": {
    "sourceUrl": "https://www.ti.com/lit/zip/sprm552",
    "originalSha256": "23011a68eb8ff35562615b5b108edcb9f017c5e61f4f68e32f35c5fb88f163be",
    "subsetSha256": "8d4a092bc575a9d2d58d6de478963badee88bf74c056bf9ee6383df1ccd71121",
    "selectedModels": [
      "Model_339",
      "Model_343",
      "Model_348",
      "Model_351",
      "Model_651",
      "Model_655",
      "Model_660",
      "Model_663",
      "Model_843",
      "Model_847",
      "Model_852",
      "Model_855",
      "Model_490",
      "Model_498",
      "Model_494",
      "Model_994",
      "Model_1002",
      "Model_998"
    ],
    "transformation": "Original pre-model header and exact selected model blocks, CRLF normalized to LF; waveform and I/V numeric text unchanged; final [End] appended. Original coupled package reference retained, package matrix definition excluded from subset and package modeling explicitly omitted."
  },
  "winbond": {
    "sourceUrl": "https://www.winbond.com/resource-files/w631gg6mb_ibis.zip",
    "sha256": "f2c0f36e24be68fd95a05f34ca4ab875ac5145f1956c5696e9a60b0d8a03e859",
    "unchangedVendorFile": true,
    "datasheet": "W631GG6MB-A02.pdf, Rev A02 Nov23 2017",
    "datasheetSha256": "e5744945811fb19a74cbfb653e4433b2a6e3249c08e9489caf3a41b7e4652823"
  },
  "modelCornerSupplyV": {
    "typical": 1.5,
    "minimum": 1.425,
    "maximum": 1.575
  },
  "clockProfiles": [
    {
      "clockMHz": 303.030303,
      "dataMTs": 606.060606,
      "uiNs": 1.65,
      "note": "At maximum3.3ns clock period specified by TI; a nominal frequency at the bound has no positive cycle-jitter margin."
    },
    {
      "clockMHz": 320,
      "dataMTs": 640,
      "uiNs": 1.5625
    },
    {
      "clockMHz": 333.333333,
      "dataMTs": 666.666667,
      "uiNs": 1.5
    },
    {
      "clockMHz": 400,
      "dataMTs": 800,
      "uiNs": 1.25,
      "note": "Current converter handles Winbond read driver but refuses all tested TI write models because complete finite vendor waveforms overlap adjacent transitions. This is converter capability evidence, not a PCB pass/fail verdict."
    }
  ],
  "conversionChecks": {
    "total": 240,
    "unexpectedFailures": 0,
    "evidence": "binding-checks.json"
  },
  "fixtureProof": {
    "nativeSimulator": "******\n** ngspice-47 : Circuit level simulation program\n** Compiled with KLU Direct Linear Solver\n** The U. C. Berkeley CAD Group\n** Copyright 1985-1994, Regents of the University of California.\n** Copyright 2001-2026, The ngspice team.\n** Please get your ngspice manual from https://ngspice.sourceforge.io/docs.html\n** Please file your bug-reports at http://ngspice.sourceforge.net/bugrep.html\n******",
    "completed": 96,
    "failed": 0,
    "worstRmsV": 0.0148483564909027,
    "worstMaxV": 0.048014704000000075,
    "tolerance": "RMS <=1%VDD and peak <=5%VDD, inherited from converter vendor consistency proof",
    "evidence": "vendor-fixture-proof/vendor-proof.json",
    "limitation": "Native ngspice reproduction of vendor V/T fixtures using the same fixtures that produced KU/KD. Tests table conversion consistency; it is not independent accuracy validation and contains no PCB or package."
  },
  "terminationProof": {
    "completed": 30,
    "typical": [
      {
        "vendor": "TI",
        "model": "Model_498",
        "corner": "typical",
        "supplyV": 1.5,
        "inputCurrentAtVrefA": -0.00037302785,
        "smallSignalResistanceAroundVrefOhm": 47.21271264419875,
        "inputCurrentAtGroundA": -0.016519507,
        "inputCurrentAtVddA": 0.013330782
      },
      {
        "vendor": "TI",
        "model": "Model_1002",
        "corner": "typical",
        "supplyV": 1.5,
        "inputCurrentAtVrefA": -0.00037302785,
        "smallSignalResistanceAroundVrefOhm": 47.21271264419875,
        "inputCurrentAtGroundA": -0.016519507,
        "inputCurrentAtVddA": 0.013330782
      },
      {
        "vendor": "TI",
        "model": "Model_490",
        "corner": "typical",
        "supplyV": 1.5,
        "inputCurrentAtVrefA": 8.74033681e-10,
        "smallSignalResistanceAroundVrefOhm": 432151846.7501393,
        "inputCurrentAtGroundA": -2.43370575e-9,
        "inputCurrentAtVddA": 3.2021764e-9
      },
      {
        "vendor": "TI",
        "model": "Model_994",
        "corner": "typical",
        "supplyV": 1.5,
        "inputCurrentAtVrefA": 8.74033681e-10,
        "smallSignalResistanceAroundVrefOhm": 432151846.7501393,
        "inputCurrentAtGroundA": -2.43370575e-9,
        "inputCurrentAtVddA": 3.2021764e-9
      },
      {
        "vendor": "Winbond",
        "model": "ODT_20",
        "corner": "typical",
        "supplyV": 1.5,
        "inputCurrentAtVrefA": 0.000558437103,
        "smallSignalResistanceAroundVrefOhm": 23.198683607401755,
        "inputCurrentAtGroundA": -0.0314113,
        "inputCurrentAtVddA": 0.0276941115
      },
      {
        "vendor": "Winbond",
        "model": "ODT_30",
        "corner": "typical",
        "supplyV": 1.5,
        "inputCurrentAtVrefA": 0.000372251258,
        "smallSignalResistanceAroundVrefOhm": 34.79699625508115,
        "inputCurrentAtGroundA": -0.020949,
        "inputCurrentAtVddA": 0.0184630639
      },
      {
        "vendor": "Winbond",
        "model": "ODT_40",
        "corner": "typical",
        "supplyV": 1.5,
        "inputCurrentAtVrefA": 0.000279193371,
        "smallSignalResistanceAroundVrefOhm": 46.374760136117985,
        "inputCurrentAtGroundA": -0.0157226,
        "inputCurrentAtVddA": 0.0138487322
      },
      {
        "vendor": "Winbond",
        "model": "ODT_60",
        "corner": "typical",
        "supplyV": 1.5,
        "inputCurrentAtVrefA": 0.000186111216,
        "smallSignalResistanceAroundVrefOhm": 69.60386847999641,
        "inputCurrentAtGroundA": -0.0104724,
        "inputCurrentAtVddA": 0.00923173224
      },
      {
        "vendor": "Winbond",
        "model": "ODT_120",
        "corner": "typical",
        "supplyV": 1.5,
        "inputCurrentAtVrefA": 0.0000930239679,
        "smallSignalResistanceAroundVrefOhm": 139.22898672542738,
        "inputCurrentAtGroundA": -0.00523954,
        "inputCurrentAtVddA": 0.00461625788
      },
      {
        "vendor": "Winbond",
        "model": "ODT_off",
        "corner": "typical",
        "supplyV": 1.5,
        "inputCurrentAtVrefA": 0,
        "smallSignalResistanceAroundVrefOhm": null,
        "inputCurrentAtGroundA": 0,
        "inputCurrentAtVddA": 1.13773285e-8
      }
    ],
    "evidence": "input-termination-proof/termination-proof.json",
    "limitation": "DC derivative of converted vendor input clamp/termination tables across VREF +/-100mV; not an independent vendor characterization and not a PCB simulation."
  },
  "packageChecks": [
    {
      "component": "cpu",
      "error": "IbisError: Coupled vendor package models are unsupported; choose omit explicitly to exclude them"
    },
    {
      "component": "ram",
      "error": "IbisError: A1: nonzero vendor reference/supply-pin package impedance is unsupported; choose packagePolicy=omit explicitly"
    }
  ],
  "writeTiming": {
    "source": "Winbond W631GG6MB RevA02 sections10.6 and10.16.5: Tables18/19/54/55/57, pp102-104 and157-158",
    "partGrade": "-12 DDR3-1600",
    "baseSetupSeconds": 1e-11,
    "baseHoldSeconds": 4.5e-11,
    "baseReference": "DQ1V/ns, differentialDQS2V/ns; setup measured at AC150, hold at DC100.",
    "conservativeScreen": {
      "vrefV": 0.75,
      "thresholds": {
        "vilAcV": 0.6,
        "vilDcV": 0.65,
        "vihDcV": 0.85,
        "vihAcV": 0.9
      },
      "setupSeconds": 8.5e-11,
      "holdSeconds": 9.5e-11,
      "minimumStrobeDifferentialV": 0.3
    },
    "screenMeaning": "85/95ps = base10/45ps + maximum listed supported-cell derating75/50ps. An engineering screen, not a complete characterized mask: still must verify each actual DQ/DQS slew pair is supported, tangent-line conditions and tVAC.",
    "tVacSeconds": [
      {
        "dqSlewVperNs": 2,
        "minimum": 1.05e-10
      },
      {
        "dqSlewVperNs": 1.5,
        "minimum": 8e-11
      },
      {
        "dqSlewVperNs": 1,
        "minimum": 3e-11
      },
      {
        "dqSlewVperNs": 0.9,
        "minimum": 1.3e-11
      }
    ],
    "vref": "Actual receiver VREFDQ H1; constant ideal half supply assumed. VREF DC and AC deviations not simulated."
  },
  "readTiming": {
    "source": "TI AM335x SPRS717L section5.7 and7.7.2.3 https://www.ti.com/lit/ds/sprs717j/sprs717j.pdf",
    "dcThresholds": "DDR_VREF +/-100mV at nominal1.5V. CPU DDR_VREF isJ4. Model498/1002 receiver thresholds correlate with selected corner.",
    "acMask": "TI provides DDR3 rule-based PCB routing/timing specification rather than a complete public receiver AC setup/hold mask. Do not reuse DRAM write setup/hold as CPU read limits.",
    "phase": "Winbond read DQS launches edge-aligned with read DQ. Any halfUI capture offset is an explicit PHY delay assumption, not proof of training."
  },
  "modelSettingAssumptions": {
    "tiDrive": "Slow9mA SR01 I100, 0.88*Rext, nominalRext50ohm. Fast9mA SR00 I100. Correct PHY register profile and actual VTP reference must match.",
    "winbondWrite": "ODT60 nominalRZQ/4 with240ohmRZQ; MR1/MR2 and ODT control must select the actual burst termination.",
    "winbondRead": "DATA40 representsRZQ/6 output setting; DATA34 representsRZQ/7. Match actualMR1 setting.",
    "noVendorTailTruncation": true
  },
  "omissions": [
    "Vendor package parasitics excluded: coupled TI package and nonzero reference/supply package impedance unsupported by this converter.",
    "Static IBIS ODT/drive selections assume matching actual PHY, MR1/MR2 and ODT control during a burst.",
    "Minimum/maximum IBIS tables are vendor correlated corners; all corner combinations and VREF noise are not covered.",
    "Write DQS is launched half a UI after DQ; read DQS is edge aligned and needs an explicit receiver sampling shift.",
    "TI publishes rule-based DDR3 PCB timing limits; its public datasheet does not provide a complete read receiver AC setup/hold mask."
  ],
  "reproduction": [
    "bun work/ibis-model-review/check-bindings.ts",
    "bun work/ibis-model-review/prove-fixtures.ts",
    "bun work/ibis-model-review/check-input-termination.ts",
    "bun work/ibis-model-review/audit-models.ts",
    "bun work/ibis-model-review/save-receipt.ts"
  ]
}