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
hdmi/components/SeriesDampingArray.tsx
import { Hdmifootprint } from "./Hdmifootprint"
import { cadModelForFootprint } from "../../models"
/** Four isolated nominal 33-ohm elements; package lands follow the selected BOM. */
export function SeriesDampingArray({ name, connections, footprintKey = "CAT16_4X33", manufacturerPartNumber = "CAT16-330J4LF", ...placement }: {
name: string
connections: Record<string, string>
footprintKey?: Parameters<typeof Hdmifootprint>[0]["footprintKey"]
manufacturerPartNumber?: string
[key: string]: unknown
}) {
const modelName = `ARRAY33_${name.replace(/[^a-zA-Z0-9_]/g, "_")}`
return <chip name={name} {...placement} manufacturerPartNumber={manufacturerPartNumber}
pinLabels={Object.fromEntries(Array.from({ length: 8 }, (_, i) => [`pin${i+1}`, [`${i+1}`, `P${i+1}`]]))}
connections={Object.fromEntries(Object.entries(connections).map(([pin, net]) => [`pin${pin}`, `net.${net}`]))}
footprint={<Hdmifootprint footprintKey={footprintKey} />}
cadModel={cadModelForFootprint(footprintKey)}
spiceModel={<spicemodel source={`.subckt ${modelName} P1 P2 P3 P4 P5 P6 P7 P8
R1 P1 P8 33
R2 P2 P7 33
R3 P3 P6 33
R4 P4 P5 33
.ends ${modelName}`}
spicePinMapping={Object.fromEntries(Array.from({ length: 8 }, (_, i) => [`P${i+1}`, `pin${i+1}`]))} />}
/>
}