// // File: megarray_s1_boilerplate.txt // // Date: 22-Jun-2015 Initial Version // // 4-Jun-2016 "Un-Tent" ALL Via Lands used in the 400 pin MegArray // Geometries. I will keep the edge of the Solder Mask // back 0.125 mm from the edge of the Drill Hole on both // sides of all vias in this geometry. The issue of // handling Blind vias is yet to be understood. // // 19-Sept-2016 Move everything that was on layer SOLDER_MASK // to the layer SOLDER_MASK_1. // // 18-Jan-2017 Actually what is needed is for the BGA SMD Pads to // have Solder_Mask openings on only Side 1 where as // the pin Vias have Solder_Mask Openings on both sides // so that we un-tent them on both sides. There are a // lot of pin/pad stacks to edit to clean this up. At // the same time need to review which pins are using // 0.25 mm drill pin Via and who is using a 0.30 mm // drill based pin Via. // // // // // // // Introduction for the S1 Connector // ---- // // This is the geometry for the S1 MegArray Receptacle. // // - The Hub Module uses the FCI part number 74221 Receptacle. // // - As used on the Hub Module the long axis of this // connector is Vertical with the wider plastic // alignment key is nearer the top edge of the Hub PCB. // // - Thus as placed on the Hub PCB and with the Hub // in standard orientation, pin A1 is in the North // West corner. // // - This 400 pin part is an array of 10x40. These pins // will be numbered: A,B,C,D,E,F,G,H,J,K running // left to right and 1:40 top to bottom // // - I will layout this Geometry in the same orientation // as it is used on the Hub Module. // // - The 0,0 of this geometry is in its physical center, // mid way between pins: E20, E21, F20, F21. // // - This geometry includes its own fancy set of // terminals aka pin-pad-stacks. // // // // // Review the basic requirements from FCI for this BGA // ----------------------------------------------------- // // - The column and row pitch are both 1.27 mm. // // - BGA pad diameter 23 to 25 mils, 0.584 to 0.635 mm. // // - The solder mask is to stay 0.15 mm back from the // outer diameter edge of the pad. // // - They show a 0.25 mm wide dog bone. // // - They show a 0.64 mm via pad diameter // with a 0.30 mm diamenter dirll hole. // // // // // Note that Currently the following Ground Pins // Use the PAD_2_WS Pad and thus Do NOT Have // Actual Ground Via Connections to the S1 MegArray: // // H3, H5, H7, H9, H11, H13, H15, H17, H19, // H23, H25, H27, H29, H31, H33, H35, H37, // // // // // Small Pin Vias based on 0.25 mm Drill // --------------------------------------- // // The MegArray geometries use two type of the small pin // Vias based on the 0.25 mm Drill: // // - MegArray_PAD_SML_VIA_* has the standard small Via // using 0.25 mm Drill and 0.52 mm Pad Land and it // uses the thick 0.25 mm Dog-Bone. This series of // pin/pad stacks is used for the Ground connections // in the area through which the dual-track MGT traces // run. I'm using this small pin Via in these area so // that the impedance bump from all of the Ground pin // Vias through with the MGT dual-track traces run is // not too large. // // - MegArray_PAD_MGT_VIA_* has the standard small Via // using 0.25 mm Drill and 0.52 mm Pad Land and it // uses the thin 0.13 mm Dog-Bone. This series of // pin/pad stacks is used only to carry the MGT // high-speed differential signal pairs. Recall that // 0.13 mm traces width is the standard high-speed // diff trace width that the bare board house will // not adjust the width of. // // // // Now start the actual S1 Meg_400_Receptacle Geometry // $abort_enable = @false; $$lock_windows(@on) ; $$snap_diagonal(@of1f) ; $$snap_orthogonal(@off) ; // // PADSTACKS: // // All required PadStacks for this geometry // are held in this geometry file. // //---------------------------------------------------------------------------- // // A default pin-pad-stack for initial design work only. // Not used in the real production connector design. // //---------------------------------------------------------------------------- // // // Meg-Array Mechanical-Only PadStack Meg_Mech_Only_Pad // ---------------------------------------------------------- // // // When using the Meg_Mech_Only_Pad padstack you must instance it with // // $$attribute( "COMPONENT_PIN_DEFINITION", ... // // that has X,Y values shifted to the actual bga pad location. // // // 0.30 mm drill // 0.65 mm pad land // 0.95 mm soldermask opening // 1.00 mm plane relief $$create_pin("Meg_Mech_Only_Pad"); $$page(0.0, 0.0, 0.0, @mm, 0.0, 0.0, [0.0,0.0,'PI$Meg_Mech_Only_Pad'] ); $$point_mode(@vertex); $$attribute( "TERMINAL_THRUHOLE_DEFINITION", ""); $$attribute( "TERMINAL_DRILL_SIZE", "", , @scale , , [ 0.30, 0.0 ]); $$circle( "PAD", 0.0, 0.0, 0.62, 0.0 ); $$circle( "SIGNAL", 0.0, 0.0, 0.62, 0.0 ); $$circle( "SOLDER_MASK_1", 0.0, 0.0, 0.92, 0.0 ); $$circle( "PASTE_MASK_1", 0.0, 0.0, 0.62, 0.0 ); $$circle( "POWER", 0.0, 0.0, 1.05, 0.0 ); //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- // // Pad Only - No Via // // Use for N.C. Pins or Perimeter Pins with a top surface connection // //---------------------------------------------------------------------------- // MegArray_PAD BGA Pad Only Pin PadStack // -------------------------------------------- // $$create_pin("MegArray_PAD", @replace); $$page(0.0,0.0,0.0, @mm, 0.0, 0.0, [0.0, 0.0, 'PI$MegArray_PAD']); $$point_mode(@vertex); $$attribute( "TERMINAL_SURFACE_DEFINITION", ""); $$circle( "PAD_1", 0.000, 0.000, 0.62, 0.0 ); $$circle( "SOLDER_MASK_1", 0.000, 0.000, 0.92, 0.0 ); $$circle( "PASTE_MASK_1", 0.000, 0.000, 0.62, 0.0 ); //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- // // Now 2 pads with "fingers" to reach the Gnd Vias of adjacent Gnd Pins // // Use only for Gnd pins where there is no space for a private Gnd Via. // //---------------------------------------------------------------------------- // MegArray_PAD_2_WS Pad with Two Fingers West // ------------------------------------------------- // $$create_pin("MegArray_PAD_2_WS", @replace); $$page(0.0,0.0,0.0, @mm, 0.0, 0.0, [0.0, 0.0, 'PI$MegArray_PAD_2_WS']); $$point_mode(@vertex); $$attribute( "TERMINAL_SURFACE_DEFINITION", ""); $$circle( "PAD_1", 0.000, 0.000, 0.62, 0.0 ); $$circle( "SOLDER_MASK_1", 0.000, 0.000, 0.92, 0.0 ); $$circle( "PASTE_MASK_1", 0.000, 0.000, 0.62, 0.0 ); $$path( "BREAKOUT_1", 0.25, , [ -0.635, 0.635, 0.00, 0.00 ]); $$path( "BREAKOUT_1", 0.25, , [ -0.635, -0.635, 0.00, 0.00 ]); //---------------------------------------------------------------------------- // MegArray_PAD_2_ES Pad with Two Fingers East // ------------------------------------------------- // $$create_pin("MegArray_PAD_2_ES", @replace); $$page(0.0,0.0,0.0, @mm, 0.0, 0.0, [0.0, 0.0, 'PI$MegArray_PAD_2_ES']); $$point_mode(@vertex); $$attribute( "TERMINAL_SURFACE_DEFINITION", ""); $$circle( "PAD_1", 0.000, 0.000, 0.62, 0.0 ); $$circle( "SOLDER_MASK_1", 0.000, 0.000, 0.92, 0.0 ); $$circle( "PASTE_MASK_1", 0.000, 0.000, 0.62, 0.0 ); $$path( "BREAKOUT_1", 0.25, , [ 0.635, 0.635, 0.00, 0.00 ]); $$path( "BREAKOUT_1", 0.25, , [ 0.635, -0.635, 0.00, 0.00 ]); //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- // // Now 4 pads with Normal Size NESW Vias for non-GTH signals where space permits // //---------------------------------------------------------------------------- // MegArray_PAD_VIA_N Pin PadStack Pad with a Via 0.90mm to the North // ----------------=== ----- // // COMPONENT_PIN_DEFINITION X value = bga pad X value // COMPONENT_PIN_DEFINITION Y value = bga pad Y value plus 0.90 mm. $$create_pin("MegArray_PAD_VIA_N"); $$page(0.0, 0.0, 0.0, @mm, 0.0, 0.0, [0.0,0.0,'PI$MegArray_PAD_VIA_N'] ); $$point_mode(@vertex); $$attribute( "TERMINAL_THRUHOLE_DEFINITION", ""); $$attribute( "TERMINAL_DRILL_SIZE", "", , @scale , , [ 0.30, 0.0 ]); $$circle( "SIGNAL", 0.00, 0.00, 0.62, 0.0 ); $$circle( "SOLDER_MASK", 0.00, 0.00, 0.50, 0.0 ); $$circle( "POWER", 0.00, 0.00, 1.05, 0.0 ); $$path( "BREAKOUT_1", 0.25, , [ 0.00, -0.90, 0.00, 0.00 ]); $$circle( "BREAKOUT_1", 0.00, -0.90, 0.62, 0.0 ); $$circle( "PASTE_MASK_1", 0.00, -0.90, 0.62, 0.0 ); $$circle( "SOLDER_MASK_1", 0.00, -0.90, 0.92, 0.0 ); //---------------------------------------------------------------------------- // MegArray_PAD_VIA_E Pin PadStack Pad with a Via 0.90mm to the EAST // ----------------=== ---- // // COMPONENT_PIN_DEFINITION X value = bga pad X value plus 0.90 mm. // COMPONENT_PIN_DEFINITION Y value = bga pad Y value $$create_pin("MegArray_PAD_VIA_E"); $$page(0.0, 0.0, 0.0, @mm, 0.0, 0.0, [0.0,0.0,'PI$MegArray_PAD_VIA_E'] ); $$point_mode(@vertex); $$attribute( "TERMINAL_THRUHOLE_DEFINITION", ""); $$attribute( "TERMINAL_DRILL_SIZE", "", , @scale , , [ 0.30, 0.0 ]); $$circle( "SIGNAL", 0.00, 0.00, 0.62, 0.0 ); $$circle( "SOLDER_MASK", 0.00, 0.00, 0.50, 0.0 ); $$circle( "POWER", 0.00, 0.00, 1.05, 0.0 ); $$path( "BREAKOUT_1", 0.25, , [ -0.90, 0.00, 0.00, 0.00 ]); $$circle( "BREAKOUT_1", -0.90, 0.00, 0.62, 0.0 ); $$circle( "PASTE_MASK_1", -0.90, 0.00, 0.62, 0.0 ); $$circle( "SOLDER_MASK_1", -0.90, 0.00, 0.92, 0.0 ); //---------------------------------------------------------------------------- // MegArray_PAD_VIA_S Pin PadStack Pad with a Via 0.90mm to the South // ----------------=== ----- // // COMPONENT_PIN_DEFINITION X value = bga pad X value // COMPONENT_PIN_DEFINITION Y value = bga pad Y value minus 0.90 mm. $$create_pin("MegArray_PAD_VIA_S"); $$page(0.0, 0.0, 0.0, @mm, 0.0, 0.0, [0.0,0.0,'PI$MegArray_PAD_VIA_S'] ); $$point_mode(@vertex); $$attribute( "TERMINAL_THRUHOLE_DEFINITION", ""); $$attribute( "TERMINAL_DRILL_SIZE", "", , @scale , , [ 0.30, 0.0 ]); $$circle( "SIGNAL", 0.00, 0.00, 0.62, 0.0 ); $$circle( "SOLDER_MASK", 0.00, 0.00, 0.50, 0.0 ); $$circle( "POWER", 0.00, 0.00, 1.05, 0.0 ); $$path( "BREAKOUT_1", 0.25, , [ 0.00, 0.90, 0.00, 0.00 ]); $$circle( "BREAKOUT_1", 0.00, 0.90, 0.62, 0.0 ); $$circle( "PASTE_MASK_1", 0.00, 0.90, 0.62, 0.0 ); $$circle( "SOLDER_MASK_1", 0.00, 0.90, 0.92, 0.0 ); //---------------------------------------------------------------------------- // MegArray_PAD_VIA_W Pin PadStack Pad with a Via 0.90mm to the WEST // ----------------=== ---- // // COMPONENT_PIN_DEFINITION X value = bga pad X value minus 0.90 mm. // COMPONENT_PIN_DEFINITION Y value = bga pad Y value $$create_pin("MegArray_PAD_VIA_W"); $$page(0.0, 0.0, 0.0, @mm, 0.0, 0.0, [0.0,0.0,'PI$MegArray_PAD_VIA_W'] ); $$point_mode(@vertex); $$attribute( "TERMINAL_THRUHOLE_DEFINITION", ""); $$attribute( "TERMINAL_DRILL_SIZE", "", , @scale , , [ 0.30, 0.0 ]); $$circle( "SIGNAL", 0.00, 0.00, 0.62, 0.0 ); $$circle( "SOLDER_MASK", 0.00, 0.00, 0.50, 0.0 ); $$circle( "POWER", 0.00, 0.00, 1.05, 0.0 ); $$path( "BREAKOUT_1", 0.25, , [ 0.90, 0.00, 0.00, 0.00 ]); $$circle( "BREAKOUT_1", 0.90, 0.00, 0.62, 0.0 ); $$circle( "PASTE_MASK_1", 0.90, 0.00, 0.62, 0.0 ); $$circle( "SOLDER_MASK_1", 0.90, 0.00, 0.92, 0.0 ); //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- // // Now 4 pads with Normal Size Diagonal Vias for non-GTH signals where space permits // //---------------------------------------------------------------------------- // // // MegArray_PAD_VIA_NE Pin PadStack Pad with a Via 0.898mm to the North-East // ----------------==== ---------- // // COMPONENT_PIN_DEFINITION X value = bga pad X value plus 0.635 mm. // COMPONENT_PIN_DEFINITION Y value = bga pad Y value plus 0.635 mm. $$create_pin("MegArray_PAD_VIA_NE"); $$page(0.0, 0.0, 0.0, @mm, 0.0, 0.0, [0.0,0.0,'PI$MegArray_PAD_VIA_NE'] ); $$point_mode(@vertex); $$attribute( "TERMINAL_THRUHOLE_DEFINITION", ""); $$attribute( "TERMINAL_DRILL_SIZE", "", , @scale , , [ 0.30, 0.0 ]); $$circle( "SIGNAL", 0.00, 0.00, 0.62, 0.0 ); $$circle( "SOLDER_MASK", 0.00, 0.00, 0.50, 0.0 ); $$circle( "POWER", 0.00, 0.00, 1.05, 0.0 ); $$path( "BREAKOUT_1", 0.25, , [ -0.635, -0.635, 0.00, 0.00 ]); $$circle( "BREAKOUT_1", -0.635, -0.635, 0.62, 0.0 ); $$circle( "PASTE_MASK_1", -0.635, -0.635, 0.62, 0.0 ); $$circle( "SOLDER_MASK_1", -0.635, -0.635, 0.92, 0.0 ); //---------------------------------------------------------------------------- // // // MegArray_PAD_VIA_SE Pin PadStack Pad with a Via 0.898mm to the South-East // ----------------==== ---------- // // COMPONENT_PIN_DEFINITION X value = bga pad X value plus 0.635 mm. // COMPONENT_PIN_DEFINITION Y value = bga pad Y value minus 0.635 mm. $$create_pin("MegArray_PAD_VIA_SE"); $$page(0.0, 0.0, 0.0, @mm, 0.0, 0.0, [0.0,0.0,'PI$MegArray_PAD_VIA_SE'] ); $$point_mode(@vertex); $$attribute( "TERMINAL_THRUHOLE_DEFINITION", ""); $$attribute( "TERMINAL_DRILL_SIZE", "", , @scale , , [ 0.30, 0.0 ]); $$circle( "SIGNAL", 0.00, 0.00, 0.62, 0.0 ); $$circle( "SOLDER_MASK", 0.00, 0.00, 0.50, 0.0 ); $$circle( "POWER", 0.00, 0.00, 1.05, 0.0 ); $$path( "BREAKOUT_1", 0.25, , [ -0.635, 0.635, 0.00, 0.00 ]); $$circle( "BREAKOUT_1", -0.635, 0.635, 0.62, 0.0 ); $$circle( "PASTE_MASK_1", -0.635, 0.635, 0.62, 0.0 ); $$circle( "SOLDER_MASK_1", -0.635, 0.635, 0.92, 0.0 ); //---------------------------------------------------------------------------- // // // MegArray_PAD_VIA_SW Pin PadStack Pad with a Via 0.898mm to the South-West // ----------------==== ---------- // // COMPONENT_PIN_DEFINITION X value = bga pad X value minus 0.60 mm. // COMPONENT_PIN_DEFINITION Y value = bga pad Y value minus 0.60 mm. $$create_pin("MegArray_PAD_VIA_SW"); $$page(0.0, 0.0, 0.0, @mm, 0.0, 0.0, [0.0,0.0,'PI$MegArray_PAD_VIA_SW'] ); $$point_mode(@vertex); $$attribute( "TERMINAL_THRUHOLE_DEFINITION", ""); $$attribute( "TERMINAL_DRILL_SIZE", "", , @scale , , [ 0.30, 0.0 ]); $$circle( "SIGNAL", 0.00, 0.00, 0.62, 0.0 ); $$circle( "SOLDER_MASK", 0.00, 0.00, 0.50, 0.0 ); $$circle( "POWER", 0.00, 0.00, 1.05, 0.0 ); $$path( "BREAKOUT_1", 0.25, , [ 0.635, 0.635, 0.00, 0.00 ]); $$circle( "BREAKOUT_1", 0.635, 0.635, 0.62, 0.0 ); $$circle( "PASTE_MASK_1", 0.635, 0.635, 0.62, 0.0 ); $$circle( "SOLDER_MASK_1", 0.635, 0.635, 0.92, 0.0 ); //---------------------------------------------------------------------------- // // // MegArray_PAD_VIA_NW Pin PadStack Pad with a Via 0.898mm to the North-West // ----------------==== ---------- // // COMPONENT_PIN_DEFINITION X value = bga pad X value minus 0.635 mm. // COMPONENT_PIN_DEFINITION Y value = bga pad Y value plus 0.635 mm. $$create_pin("MegArray_PAD_VIA_NW"); $$page(0.0, 0.0, 0.0, @mm, 0.0, 0.0, [0.0,0.0,'PI$MegArray_PAD_VIA_NW'] ); $$point_mode(@vertex); $$attribute( "TERMINAL_THRUHOLE_DEFINITION", ""); $$attribute( "TERMINAL_DRILL_SIZE", "", , @scale , , [ 0.30, 0.0 ]); $$circle( "SIGNAL", 0.00, 0.00, 0.62, 0.0 ); $$circle( "SOLDER_MASK", 0.00, 0.00, 0.50, 0.0 ); $$circle( "POWER", 0.00, 0.00, 1.05, 0.0 ); $$path( "BREAKOUT_1", 0.25, , [ 0.635, -0.635, 0.00, 0.00 ]); $$circle( "BREAKOUT_1", 0.635, -0.635, 0.62, 0.0 ); $$circle( "PASTE_MASK_1", 0.635, -0.635, 0.62, 0.0 ); $$circle( "SOLDER_MASK_1", 0.635, -0.635, 0.92, 0.0 ); //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- // // Now 4 Small Via Pads for the Ground Pins Adjacent to Dual Track MGT Routing // //---------------------------------------------------------------------------- // // // MegArray_PAD_SML_VIA_NE Pin PadStack Pad with a Via 0.898mm to the North-East // -------------===---==== ---------- // // COMPONENT_PIN_DEFINITION X value = bga pad X value plus 0.635 mm. // COMPONENT_PIN_DEFINITION Y value = bga pad Y value plus 0.635 mm. $$create_pin("MegArray_PAD_SML_VIA_NE"); $$page(0.0, 0.0, 0.0, @mm, 0.0, 0.0, [0.0,0.0,'PI$MegArray_PAD_SML_VIA_NE'] ); $$point_mode(@vertex); $$attribute( "TERMINAL_THRUHOLE_DEFINITION", ""); $$attribute( "TERMINAL_DRILL_SIZE", "", , @scale , , [ 0.25, 0.0 ]); $$circle( "SIGNAL", 0.00, 0.00, 0.56, 0.0 ); $$circle( "SOLDER_MASK", 0.00, 0.00, 0.46, 0.0 ); $$circle( "POWER", 0.00, 0.00, 1.05, 0.0 ); $$path( "BREAKOUT_1", 0.25, , [ -0.635, -0.635, 0.00, 0.00 ]); $$circle( "BREAKOUT_1", -0.635, -0.635, 0.62, 0.0 ); $$circle( "PASTE_MASK_1", -0.635, -0.635, 0.62, 0.0 ); $$circle( "SOLDER_MASK_1", -0.635, -0.635, 0.92, 0.0 ); //---------------------------------------------------------------------------- // // // MegArray_PAD_SML_VIA_SE Pin PadStack Pad with a Via 0.898mm to the South-East // -------------===---==== ---------- // // COMPONENT_PIN_DEFINITION X value = bga pad X value plus 0.635 mm. // COMPONENT_PIN_DEFINITION Y value = bga pad Y value minus 0.635 mm. $$create_pin("MegArray_PAD_SML_VIA_SE"); $$page(0.0, 0.0, 0.0, @mm, 0.0, 0.0, [0.0,0.0,'PI$MegArray_PAD_SML_VIA_SE'] ); $$point_mode(@vertex); $$attribute( "TERMINAL_THRUHOLE_DEFINITION", ""); $$attribute( "TERMINAL_DRILL_SIZE", "", , @scale , , [ 0.25, 0.0 ]); $$circle( "SIGNAL", 0.00, 0.00, 0.56, 0.0 ); $$circle( "SOLDER_MASK", 0.00, 0.00, 0.46, 0.0 ); $$circle( "POWER", 0.00, 0.00, 1.05, 0.0 ); $$path( "BREAKOUT_1", 0.25, , [ -0.635, 0.635, 0.00, 0.00 ]); $$circle( "BREAKOUT_1", -0.635, 0.635, 0.62, 0.0 ); $$circle( "PASTE_MASK_1", -0.635, 0.635, 0.62, 0.0 ); $$circle( "SOLDER_MASK_1", -0.635, 0.635, 0.92, 0.0 ); //---------------------------------------------------------------------------- // // // MegArray_PAD_SML_VIA_SW Pin PadStack Pad with a Via 0.898mm to the South-West // -------------===---==== ---------- // // COMPONENT_PIN_DEFINITION X value = bga pad X value minus 0.60 mm. // COMPONENT_PIN_DEFINITION Y value = bga pad Y value minus 0.60 mm. $$create_pin("MegArray_PAD_SML_VIA_SW"); $$page(0.0, 0.0, 0.0, @mm, 0.0, 0.0, [0.0,0.0,'PI$MegArray_PAD_SML_VIA_SW'] ); $$point_mode(@vertex); $$attribute( "TERMINAL_THRUHOLE_DEFINITION", ""); $$attribute( "TERMINAL_DRILL_SIZE", "", , @scale , , [ 0.25, 0.0 ]); $$circle( "SIGNAL", 0.00, 0.00, 0.56, 0.0 ); $$circle( "SOLDER_MASK", 0.00, 0.00, 0.46, 0.0 ); $$circle( "POWER", 0.00, 0.00, 1.05, 0.0 ); $$path( "BREAKOUT_1", 0.25, , [ 0.635, 0.635, 0.00, 0.00 ]); $$circle( "BREAKOUT_1", 0.635, 0.635, 0.62, 0.0 ); $$circle( "PASTE_MASK_1", 0.635, 0.635, 0.62, 0.0 ); $$circle( "SOLDER_MASK_1", 0.635, 0.635, 0.92, 0.0 ); //---------------------------------------------------------------------------- // // // MegArray_PAD_SML_VIA_NW Pin PadStack Pad with a Via 0.898mm to the North-West // -------------===---==== ---------- // // COMPONENT_PIN_DEFINITION X value = bga pad X value minus 0.635 mm. // COMPONENT_PIN_DEFINITION Y value = bga pad Y value plus 0.635 mm. $$create_pin("MegArray_PAD_SML_VIA_NW"); $$page(0.0, 0.0, 0.0, @mm, 0.0, 0.0, [0.0,0.0,'PI$MegArray_PAD_SML_VIA_NW'] ); $$point_mode(@vertex); $$attribute( "TERMINAL_THRUHOLE_DEFINITION", ""); $$attribute( "TERMINAL_DRILL_SIZE", "", , @scale , , [ 0.25, 0.0 ]); $$circle( "SIGNAL", 0.00, 0.00, 0.56, 0.0 ); $$circle( "SOLDER_MASK", 0.00, 0.00, 0.46, 0.0 ); $$circle( "POWER", 0.00, 0.00, 1.05, 0.0 ); $$path( "BREAKOUT_1", 0.25, , [ 0.635, -0.635, 0.00, 0.00 ]); $$circle( "BREAKOUT_1", 0.635, -0.635, 0.62, 0.0 ); $$circle( "PASTE_MASK_1", 0.635, -0.635, 0.62, 0.0 ); $$circle( "SOLDER_MASK_1", 0.635, -0.635, 0.92, 0.0 ); //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- // // Now 4 Small Via Pads for the MGT Differential Signal Pins // //---------------------------------------------------------------------------- // // // MegArray_PAD_MGT_VIA_NE Pin PadStack Pad with a Via 0.898mm to the North-East // -------------===---==== ---------- // // COMPONENT_PIN_DEFINITION X value = bga pad X value plus 0.635 mm. // COMPONENT_PIN_DEFINITION Y value = bga pad Y value plus 0.635 mm. $$create_pin("MegArray_PAD_MGT_VIA_NE"); $$page(0.0, 0.0, 0.0, @mm, 0.0, 0.0, [0.0,0.0,'PI$MegArray_PAD_MGT_VIA_NE'] ); $$point_mode(@vertex); $$attribute( "TERMINAL_THRUHOLE_DEFINITION", ""); $$attribute( "TERMINAL_DRILL_SIZE", "", , @scale , , [ 0.25, 0.0 ]); $$circle( "SIGNAL", 0.00, 0.00, 0.56, 0.0 ); $$circle( "SOLDER_MASK", 0.00, 0.00, 0.46, 0.0 ); $$circle( "POWER", 0.00, 0.00, 1.05, 0.0 ); $$path( "BREAKOUT_1", 0.13, , [ -0.635, -0.635, 0.00, 0.00 ]); $$circle( "BREAKOUT_1", -0.635, -0.635, 0.62, 0.0 ); $$circle( "PASTE_MASK_1", -0.635, -0.635, 0.62, 0.0 ); $$circle( "SOLDER_MASK_1", -0.635, -0.635, 0.92, 0.0 ); //---------------------------------------------------------------------------- // // // MegArray_PAD_MGT_VIA_SE Pin PadStack Pad with a Via 0.898mm to the South-East // -------------===---==== ---------- // // COMPONENT_PIN_DEFINITION X value = bga pad X value plus 0.635 mm. // COMPONENT_PIN_DEFINITION Y value = bga pad Y value minus 0.635 mm. $$create_pin("MegArray_PAD_MGT_VIA_SE"); $$page(0.0, 0.0, 0.0, @mm, 0.0, 0.0, [0.0,0.0,'PI$MegArray_PAD_MGT_VIA_SE'] ); $$point_mode(@vertex); $$attribute( "TERMINAL_THRUHOLE_DEFINITION", ""); $$attribute( "TERMINAL_DRILL_SIZE", "", , @scale , , [ 0.25, 0.0 ]); $$circle( "SIGNAL", 0.00, 0.00, 0.56, 0.0 ); $$circle( "SOLDER_MASK", 0.00, 0.00, 0.46, 0.0 ); $$circle( "POWER", 0.00, 0.00, 1.05, 0.0 ); $$path( "BREAKOUT_1", 0.13, , [ -0.635, 0.635, 0.00, 0.00 ]); $$circle( "BREAKOUT_1", -0.635, 0.635, 0.62, 0.0 ); $$circle( "PASTE_MASK_1", -0.635, 0.635, 0.62, 0.0 ); $$circle( "SOLDER_MASK_1", -0.635, 0.635, 0.92, 0.0 ); //---------------------------------------------------------------------------- // // // MegArray_PAD_MGT_VIA_SW Pin PadStack Pad with a Via 0.898mm to the South-West // -------------===---==== ---------- // // COMPONENT_PIN_DEFINITION X value = bga pad X value minus 0.60 mm. // COMPONENT_PIN_DEFINITION Y value = bga pad Y value minus 0.60 mm. $$create_pin("MegArray_PAD_MGT_VIA_SW"); $$page(0.0, 0.0, 0.0, @mm, 0.0, 0.0, [0.0,0.0,'PI$MegArray_PAD_MGT_VIA_SW'] ); $$point_mode(@vertex); $$attribute( "TERMINAL_THRUHOLE_DEFINITION", ""); $$attribute( "TERMINAL_DRILL_SIZE", "", , @scale , , [ 0.25, 0.0 ]); $$circle( "SIGNAL", 0.00, 0.00, 0.56, 0.0 ); $$circle( "SOLDER_MASK", 0.00, 0.00, 0.46, 0.0 ); $$circle( "POWER", 0.00, 0.00, 1.05, 0.0 ); $$path( "BREAKOUT_1", 0.13, , [ 0.635, 0.635, 0.00, 0.00 ]); $$circle( "BREAKOUT_1", 0.635, 0.635, 0.62, 0.0 ); $$circle( "PASTE_MASK_1", 0.635, 0.635, 0.62, 0.0 ); $$circle( "SOLDER_MASK_1", 0.635, 0.635, 0.92, 0.0 ); //---------------------------------------------------------------------------- // // // MegArray_PAD_MGT_VIA_NW Pin PadStack Pad with a Via 0.898mm to the North-West // -------------===---==== ---------- // // COMPONENT_PIN_DEFINITION X value = bga pad X value minus 0.635 mm. // COMPONENT_PIN_DEFINITION Y value = bga pad Y value plus 0.635 mm. $$create_pin("MegArray_PAD_MGT_VIA_NW"); $$page(0.0, 0.0, 0.0, @mm, 0.0, 0.0, [0.0,0.0,'PI$MegArray_PAD_MGT_VIA_NW'] ); $$point_mode(@vertex); $$attribute( "TERMINAL_THRUHOLE_DEFINITION", ""); $$attribute( "TERMINAL_DRILL_SIZE", "", , @scale , , [ 0.25, 0.0 ]); $$circle( "SIGNAL", 0.00, 0.00, 0.56, 0.0 ); $$circle( "SOLDER_MASK", 0.00, 0.00, 0.46, 0.0 ); $$circle( "POWER", 0.00, 0.00, 1.05, 0.0 ); $$path( "BREAKOUT_1", 0.13, , [ 0.635, -0.635, 0.00, 0.00 ]); $$circle( "BREAKOUT_1", 0.635, -0.635, 0.62, 0.0 ); $$circle( "PASTE_MASK_1", 0.635, -0.635, 0.62, 0.0 ); $$circle( "SOLDER_MASK_1", 0.635, -0.635, 0.92, 0.0 ); //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- // // Now start the actual description of the S1 MegArray Receptacle // ------------------------------------------------------------------ // $$create_component("MegArray_S1", @replace); $$page( 0.0, 0.0, 0.0, @mm, 0.0, 0.0, [0.0, 0.0, 'CO$MegArray_S1']); $$point_mode(@vertex); $$attribute( "COMPONENT_HEIGHT", "4.50", , @scale , , [0.0, 0.0] ); // Setup the Component Placement Outline for this connector $$initial([ -8.70, -28.40 ], , @nosnap ); $$terminal([ 8.70, -28.40 ] ); $$terminal([ 8.70, 28.40 ] ); $$terminal([ -8.70, 28.40 ] ); $$attribute( "COMPONENT_PLACEMENT_OUTLINE", "", @mark, @scale ); // // Silkscreen Outline pf MEG-Array connector // ------------------------------------------- // // Vertical Lines $$path( "SILKSCREEN_1", 0.20 , , [ 8.70, -24.80, 8.70, 24.80 ] ); $$path( "SILKSCREEN_1", 0.20 , , [ -8.70, -24.80, -8.70, 24.80 ] ); $$path( "SILKSCREEN_1", 0.20 , , [ 3.80, 28.40, 3.80, 27.00 ] ); $$path( "SILKSCREEN_1", 0.20 , , [ -3.80, 28.40, -3.80, 27.00 ] ); $$path( "SILKSCREEN_1", 0.20 , , [ 2.40, -28.40, 2.40, -27.00 ] ); $$path( "SILKSCREEN_1", 0.20 , , [ -2.40, -28.40, -2.40, -27.00 ] ); // Horizontal Lines $$path( "SILKSCREEN_1", 0.20 , , [ 6.50, 27.00, 3.80, 27.00 ] ); $$path( "SILKSCREEN_1", 0.20 , , [ -3.80, 27.00, -6.50, 27.00 ] ); $$path( "SILKSCREEN_1", 0.20 , , [ -6.50, -27.00, -2.40, -27.00 ] ); $$path( "SILKSCREEN_1", 0.20 , , [ 2.40, -27.00, 6.50, -27.00 ] ); $$path( "SILKSCREEN_1", 0.20 , , [ 3.80, 28.40, -3.80, 28.40 ] ); $$path( "SILKSCREEN_1", 0.20 , , [ 2.40, -28.40, -2.40, -28.40 ] ); // Diagonal Lines $$path( "SILKSCREEN_1", 0.20 , , [ 6.50, -27.00, 8.70, -24.80 ] ); $$path( "SILKSCREEN_1", 0.20 , , [ 6.50, 27.00, 8.70, 24.80 ] ); $$path( "SILKSCREEN_1", 0.20 , , [ -6.50, 27.00, -8.70, 24.80 ] ); $$path( "SILKSCREEN_1", 0.20 , , [ -6.50, -27.00, -8.70, -24.80 ] ); // Pin #1 Marker $$circle( "SILKSCREEN_1", -6.10, 26.00, 0.6, 0.20 ); $$text( "SILKSCREEN_1", "A1", -9.00, 26.50, 1.50, @BC, 0, 0.90, 0.20, "std", "None", 0.0, 0.0 ); // Reference Designator $$text( "SILKSCREEN_1", "^$ref", 0.0, 32.0, 2.0, @CC, 0, 0.7, 0.20, "std", "None", 0.0, 0.0 ); // // Meg_400_Receptacle Pad Layout // ----------------------------------- // // // Note that this pad layout places pin A1 in the Upper // Left-hand corner. The long axis is Vertical. // // Outer pad location = ( [ (N/2) -1 ] x 1.27 ) + 1.27/2 // // Thus: Column A is at X = -5.715 // Column B is at X = -4.445 // Column C is at X = -3.175 // Column D is at X = -1.905 // Column E is at X = -0.635 // Column F is at X = +0.635 // Column G is at X = +1.905 // Column H is at X = +3.175 // Column J is at X = +4.445 // Column K is at X = +5.715 // // The top row starts at Y = 24.765 // $$attribute( "COMPONENT_DEFAULT_PADSTACK", "Meg_Mech_Only_Pad"); // Row #1 $$attribute( "COMPONENT_PIN_DEFINITION", "A1", , @scale , , [ -6.615, 24.765 ] ); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A1, MegArray_PAD_VIA_W" ); $$attribute( "COMPONENT_PIN_DEFINITION", "B1", , @scale , , [ -4.445, 25.665 ] ); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B1, MegArray_PAD_VIA_N" ); $$attribute( "COMPONENT_PIN_DEFINITION", "C1", , @scale , , [ -3.175, 25.665 ] ); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "C1, MegArray_PAD_VIA_N" ); $$attribute( "COMPONENT_PIN_DEFINITION", "D1", , @scale , , [ -1.905, 25.665 ] ); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "D1, MegArray_PAD_VIA_N" ); $$attribute( "COMPONENT_PIN_DEFINITION", "E1", , @scale , , [ -0.635, 25.665 ] ); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "E1, MegArray_PAD_VIA_N" ); $$attribute( "COMPONENT_PIN_DEFINITION", "F1", , @scale , , [ 0.635, 25.665 ] ); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "F1, MegArray_PAD_VIA_N" ); $$attribute( "COMPONENT_PIN_DEFINITION", "G1", , @scale , , [ 1.905, 25.665 ] ); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "G1, MegArray_PAD_VIA_N" ); $$attribute( "COMPONENT_PIN_DEFINITION", "H1", , @scale , , [ 3.175, 25.665 ] ); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "H1, MegArray_PAD_VIA_N" ); $$attribute( "COMPONENT_PIN_DEFINITION", "J1", , @scale , , [ 4.445, 25.665 ] ); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "J1, MegArray_PAD_VIA_N" ); $$attribute( "COMPONENT_PIN_DEFINITION", "K1", , @scale , , [ 5.715, 25.665 ] ); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "K1, MegArray_PAD_VIA_N" ); // Row #40 $$attribute( "COMPONENT_PIN_DEFINITION", "A40", , @scale , , [ -6.615, -24.765 ] ); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A40, MegArray_PAD_VIA_W" ); $$attribute( "COMPONENT_PIN_DEFINITION", "B40", , @scale , , [ -4.445, -25.665 ] ); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B40, MegArray_PAD_VIA_S" ); $$attribute( "COMPONENT_PIN_DEFINITION", "C40", , @scale , , [ -3.175, -25.665 ] ); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "C40, MegArray_PAD_VIA_S" ); $$attribute( "COMPONENT_PIN_DEFINITION", "D40", , @scale , , [ -1.905, -25.665 ] ); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "D40, MegArray_PAD_VIA_S" ); $$attribute( "COMPONENT_PIN_DEFINITION", "E40", , @scale , , [ -0.635, -25.665 ] ); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "E40, MegArray_PAD_VIA_S" ); $$attribute( "COMPONENT_PIN_DEFINITION", "F40", , @scale , , [ 0.635, -25.665 ] ); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "F40, MegArray_PAD_VIA_S" ); $$attribute( "COMPONENT_PIN_DEFINITION", "G40", , @scale , , [ 1.905, -25.665 ] ); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "G40, MegArray_PAD_VIA_S" ); $$attribute( "COMPONENT_PIN_DEFINITION", "H40", , @scale , , [ 3.175, -25.665 ] ); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "H40, MegArray_PAD_VIA_S" ); $$attribute( "COMPONENT_PIN_DEFINITION", "J40", , @scale , , [ 4.445, -25.665 ] ); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "J40, MegArray_PAD_VIA_S" ); $$attribute( "COMPONENT_PIN_DEFINITION", "K40", , @scale , , [ 5.715, -25.665 ] ); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "K40, MegArray_PAD_VIA_S" );