// // File: megarray_s2_boilerplate.txt // // Date: 22-Jun-2015 Initial Version // 24-Jun-2015 Current Version // // // // Introduction for the S2 Connector // ---- // // This is the geometry for the S2 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 S2 MegArray: // // C3, C5, C7, C9, C11, C13, C15, C17, C19, // C23, C25, C27, C29, C31, C33, C35, C37, // // // // Now start the actual Meg_400_Receptacle Geometry // $abort_enable = @false; $$lock_windows(@on) ; $$snap_diagonal(@of1f) ; $$snap_orthogonal(@off) ; // // PADSTACKS: // // All required PadStacks for this S2 MegArray // geometry are held in the file: // // megarray_s1_boilerplate.txt // // //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- // // Now start the actual description of the S2 MegArray Receptacle // ------------------------------------------------------------------ // $$create_component("MegArray_S2", @replace); $$page( 0.0, 0.0, 0.0, @mm, 0.0, 0.0, [0.0, 0.0, 'CO$MegArray_S2']); $$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", -7.10, 25.20, 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 , , [ -5.715, 25.665 ] ); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A1, MegArray_PAD_VIA_N" ); $$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 , , [ 6.615, 24.765 ] ); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "K1, MegArray_PAD_VIA_E" ); // Row #40 $$attribute( "COMPONENT_PIN_DEFINITION", "A40", , @scale , , [ -5.715, -25.665 ] ); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A40, MegArray_PAD_VIA_S" ); $$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 , , [ 6.615, -24.765 ] ); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "K40, MegArray_PAD_VIA_E" );