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

tests/ddr-simulation-entry.test.tsx

import { expect, test } from "bun:test"
import { Circuit } from "@tscircuit/core"
import { serializeSimulation } from "@tscircuit/pcb-spice-pipeline/tsx"
import RunDdr, { ddrInput, physicalRecords } from "../simulations-next/run-ddr.circuit"

test("native DDR entry retains the physical board and declares both experiments", async () => {
  const removed = physicalRecords.filter(r => !ddrInput.includes(r))
  expect(removed).toHaveLength(7)
  expect(removed.every(r => r.type === "simulation_spice_subcircuit")).toBe(true)
  const circuit = new Circuit({ platform: { partsEngineDisabled: true, netlistDrcChecksDisabled: true } })
  circuit.add(<RunDdr />)
  await circuit.renderUntilSettled()
  const output = serializeSimulation(circuit)
  for (const record of ddrInput.filter(r => r.type === "pcb_trace" || r.type === "pcb_stackup")) {
    expect(output).toContainEqual(record)
  }
  expect(output.filter(r => r.type === "simulation_experiment").map(r => r.name).sort()).toEqual([
    "BYTE0_WRITE_QUIET", "BYTE0_WRITE_SWITCHING",
  ])
  expect(output.filter(r => r.type === "simulation_eye_diagram")).toHaveLength(4)
  expect(output.filter(r => r.type === "simulation_ibis_model").every(r => r.ibis_model_asset.project_relative_path.startsWith("simulations-next/model-review/"))).toBe(true)
}, 120000)