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/mt53e1g16d1zw-nsmd.tsx

import {
  MT53E1G16D1ZW_DATASHEET_URL,
  MT53E1G16D1ZW_PART_NUMBER,
  ballMap,
  pinAttributes,
  pinLabels,
} from "@tsci/0hmX.mt53e1g16d1zw-footprint"
import type { ChipProps } from "@tscircuit/props"
import { Fragment } from "react"

const makePads = () =>
  ballMap.map(({ ball, x, y }, index) => (
    <Fragment key={ball}>
      <smtpad
        portHints={[`pin${index + 1}`, ball]}
        pcbX={`${x}mm`}
        pcbY={`${y}mm`}
        radius="0.16mm"
        solderMaskMargin="0.04mm"
        shape="circle"
      />
    </Fragment>
  ))

/** Micron CSN-33 NSMD PCB land for the ZW 200-ball package. */
export const MT53E1G16D1ZW_NSMD = (
  props: ChipProps<typeof pinLabels>,
) => (
  <chip
    {...props}
    datasheetUrl={MT53E1G16D1ZW_DATASHEET_URL}
    manufacturerPartNumber={MT53E1G16D1ZW_PART_NUMBER}
    pinLabels={pinLabels}
    pinAttributes={pinAttributes}
    footprint={
      <footprint>
        {makePads()}
        <silkscreenpath
          route={[
            { x: -5, y: -7.25 },
            { x: 5, y: -7.25 },
            { x: 5, y: 7.25 },
            { x: -5, y: 7.25 },
            { x: -5, y: -7.25 },
          ]}
          strokeWidth={0.15}
        />
        <silkscreencircle pcbX="-4.65mm" pcbY="6.9mm" radius="0.18mm" />
      </footprint>
    }
  />
)