0hmX/am62l-lpddr4-ti-pth-router

This code defines a hardware-oriented React/TypeScript setup for a PCB breakout circuit featuring an AM62L LPDDR4 interface, including detailed PCB component placement, routing algorithms, and validation scripts for DDR connections, via placement, and manufacturing constraints.

Version
1.0.1
License
unset
Stars
0

tests/create-in-process-autorouter.test.ts

import { expect, test } from "bun:test"
import type { AutorouterCompleteEvent, SimpleRouteJson } from "@tscircuit/core"
import { InProcessAutorouter } from "../autorouting/create-in-process-autorouter"

test("adapts a synchronous fanout SRJ transform to Core's autorouter lifecycle", async () => {
  const input: SimpleRouteJson = {
    layerCount: 8,
    minTraceWidth: 0.08128,
    obstacles: [],
    connections: [],
    bounds: { minX: -1, maxX: 1, minY: -1, maxY: 1 },
  }
  const outputSimpleRouteJson: SimpleRouteJson = { ...input, traces: [] }
  const autorouter = new InProcessAutorouter(
    input,
    (_input, reportProgress) => {
      reportProgress({
        type: "progress",
        steps: 1,
        progress: 1,
        phase: "validate_reconstructed_geometry",
      })
      return { traces: [], outputSimpleRouteJson }
    },
  )

  const completed = new Promise<AutorouterCompleteEvent>((resolve, reject) => {
    autorouter.on("complete", resolve)
    autorouter.on("error", ({ error }) => reject(error))
  })
  autorouter.start()

  expect((await completed).traces).toEqual([])
  expect(autorouter.getOutputSimpleRouteJson()).toBe(outputSimpleRouteJson)
})