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

components/am62l32-ti-land.tsx

import { AM62L32BOGHAANBR } from "@tsci/tscircuit.ti"
import {
  Children,
  cloneElement,
  isValidElement,
  type ComponentProps,
  type ReactElement,
} from "react"

/**
 * Preserve the upstream package map and electrical metadata while applying
 * SPRADI2 Table 3-1's 10 mil NSMD PCB land and 12 mil mask opening.
 */
export const AM62L32_TI_LAND = (
  props: ComponentProps<typeof AM62L32BOGHAANBR>,
) => {
  const chip = AM62L32BOGHAANBR(props) as ReactElement<any>
  const footprint = chip.props.footprint as ReactElement<any>
  const children = Children.map(footprint.props.children, (child) => {
    if (!isValidElement<any>(child) || child.type !== "smtpad") return child
    return cloneElement(child, {
      radius: "0.127mm",
      solderMaskMargin: "0.0254mm",
    })
  })
  return cloneElement(chip, {
    footprint: cloneElement(footprint, {}, children),
  })
}