0hmX/mt41k512m8da-107-it-p-fanout

This code defines the physical footprint, routing, and layout configuration for a DDR3 memory module using surface-mount pads, vias, and copper traces on a printed circuit board (PCB).

Version
0.2.3
License
unset
Stars
0

dist/index.d.ts

import * as react from 'react';
import { FanoutTracePath } from '@tscircuit/props';

declare const LAYOUT_PROFILES: readonly ["outward_north", "outward_south", "inward_north", "inward_south"];
type LayoutProfile = typeof LAYOUT_PROFILES[number];
declare const PROFILE_LAYOUTS: {
    readonly outward_north: {
        readonly xDirection: "outward";
        readonly yDirection: "north";
    };
    readonly outward_south: {
        readonly xDirection: "outward";
        readonly yDirection: "south";
    };
    readonly inward_north: {
        readonly xDirection: "inward";
        readonly yDirection: "north";
    };
    readonly inward_south: {
        readonly xDirection: "inward";
        readonly yDirection: "south";
    };
};
declare const RULES: {
    readonly traceWidth: 0.12;
    readonly clearance: 0.1;
    readonly viaDiameter: 0.45;
    readonly viaDrill: 0.2;
    readonly layers: 4;
};
declare const PACKAGE_BODY: {
    readonly width: 8;
    readonly height: 10.5;
};
declare const FANOUT_PADDING_MM = 1;
declare const BREAKOUT: {
    readonly halfWidth: number;
    readonly halfHeight: number;
};
declare function getExitLayer(ball: string): "top" | "inner1" | "inner2";

declare const PIN_MAP: {
    ball: string;
    pin: number;
    x: number;
    y: number;
    signal: string;
    terminal: string;
    routed: boolean;
    radius: number;
}[];
declare const EXTERNAL_TERMINALS: string[];

declare function getRamFanoutTracePaths(profile?: LayoutProfile): FanoutTracePath[];

declare const PAIRS: readonly (readonly string[])[];
declare const MATCH_GROUPS: {
    readonly byte: readonly ["DQ0", "DQ1", "DQ2", "DQ3", "DQ4", "DQ5", "DQ6", "DQ7", "DM", "DQS_P", "DQS_N"];
    readonly addressControlClock: readonly [...string[], "BA0", "BA1", "BA2", "CS_N", "RAS_N", "CAS_N", "WE_N", "CKE", "ODT", "RESET_N", "CK_P", "CK_N"];
};
declare const TUNING: {
    readonly maxSkewMm: 0.005;
    readonly pairGapMm: 0.2;
    readonly pairCenterSpacingMm: 0.32;
    readonly startX: 3.2;
    readonly topTuningStartX: 3.4;
    readonly pairConvergenceStartX: 3.8;
    readonly minPairedTailMm: 0.9;
};
declare const PROVISIONAL_STACKUP: {
    readonly status: "placeholder-not-impedance-verified";
    readonly boardThicknessMm: 1.6;
    readonly copperThicknessMm: 0.035;
    readonly dielectricEr: 4.2;
    readonly copperCenterDepthMm: {
        readonly top: 0;
        readonly inner1: 0.2;
        readonly inner2: 1.4;
        readonly bottom: 1.6;
    };
    readonly targetSingleEndedOhms: 50;
    readonly targetDifferentialOhms: 100;
};

interface MT41K512M8FanoutProps {
    name: string;
    layoutProfile?: LayoutProfile;
    pcbX?: number;
    pcbY?: number;
    pcbRotation?: number;
    schX?: number;
    schY?: number;
    connections?: Partial<Record<string, string>>;
}
declare function MT41K512M8Fanout({ name, layoutProfile, connections, ...placement }: MT41K512M8FanoutProps): any;

export { BREAKOUT, EXTERNAL_TERMINALS, FANOUT_PADDING_MM, LAYOUT_PROFILES, MATCH_GROUPS, MT41K512M8Fanout, PACKAGE_BODY, PAIRS, PIN_MAP, PROFILE_LAYOUTS, PROVISIONAL_STACKUP, RULES, TUNING, MT41K512M8Fanout as default, getExitLayer, getRamFanoutTracePaths };
export type { LayoutProfile, MT41K512M8FanoutProps };