// file: so16w_sop2_300_mil_body_geom.txt // // date: 22-Aug-2023 // // // Geometry for the 16 pin SO16W component. // --------------- // // This geometry is developed for the Micron SPI Flash PROM // MT25QL01GBBB8ESF-0SIT in what Micron calls their SF // package also called by them SOP2-16 300 mils Body (SO16W). // // Based on their package dimension drawing this is the // standard IPC SO16W package. // // Pin Pitch 1.27 mm ( 50 mils ) // Body Width 7.50 mm ( 300 mils ) // Body Length 10.30 mm // Pin Outer Edge Width 10.00 to 10.65 mm // // This geometry is made as a standard IPC SO16W and is // confirmed by the Micron TN-1225 Land Pattern Design // for NOR Flash Memories technical note pages 4 and 6. // // In this geometry the Long axis of the component is // Horizontal with its pin #1 in the SW corner. // // Details: // // Device Foot Inner Edge to Inner Edge 7.46 mm min. // Device Foot Outer Edge to Outer Edge 10.65 mm max. // // PCB Pad Size 0.64 mm in X by 2.50 mm in Y // // PCB Pad Center to Pad Center 9.20 mm // // PCB Pad Inner Edge to Inner Edge 6.70 mm // PCB Pad Outer Edge to Outer Edge 11.70 mm // // PCB Air Gap between Pads in X 0.63 mm // // PCB Solder Mask Opening 0.05 mm larger than pad on all edges // // PCB Solder Paste Mask opening is the same size as the pad. // $abort_enable = @false; $$lock_windows(@on) ; $$snap_diagonal(@off) ; $$snap_orthogonal(@off) ; //---------------------------------------------------------------------------- $$create_pin("so16w_pad", @replace); $$page(0.0, 0.0, 0.0, @mm, 0.0, 0.0, [0.0,0.0,'PI$so16w_pad'] ); $$point_mode(@vertex); $$polygon( "PAD", , [ -0.32, -1.25, 0.32, -1.25, 0.32, 1.25, -0.32, 1.25 ]); $$polygon( "SOLDER_MASK", , [ -0.37, -1.30, 0.37, -1.30, 0.37, 1.30, -0.37, 1.30 ]); $$polygon( "PASTE_MASK", , [ -0.32, -1.25, 0.32, -1.25, 0.32, 1.25, -0.32, 1.25 ]); $$attribute( "TERMINAL_SURFACE_DEFINITION", ""); //---------------------------------------------------------------------------- $$create_component("so16w", @replace); $$page(0.0, 0.0, 0.0, @mm, 0.0, 0.0, [0.0,0.0,'CO$so16w'] ); $$point_mode(@vertex); $$attribute( "COMPONENT_LAYOUT_TYPE", "surface"); $$attribute( "COMPONENT_LAYOUT_SURFACE", "both"); $$attribute( "COMPONENT_HEIGHT", "", , @scale , , [ 2.50, 0.0 ]); // Component Placement Outline for the SSOP_16 $$initial([ -4.90, -6.00 ], , @nosnap ); $$terminal([ 4.90, -6.00 ]); $$terminal([ 4.90, 6.00 ]); $$terminal([ -4.90, 6.00 ]); $$attribute( "COMPONENT_PLACEMENT_OUTLINE", "", @mark, @scale ); $$template_line_style( @Solid ); $$path( "SILKSCREEN", 0.20, , [ -5.10, 3.00, 5.10, 3.00 ]); $$path( "SILKSCREEN", 0.20, , [ -5.10, -3.00, 5.10, -3.00 ]); $$path( "SILKSCREEN", 0.20, , [ -5.10, 3.00, -5.10, -3.00 ]); $$path( "SILKSCREEN", 0.20, , [ 5.10, 3.00, 5.10, -3.00 ]); $$path( "SILKSCREEN", 0.20, , [ -5.10, -2.90, -3.80, -2.90 ]); $$path( "SILKSCREEN", 0.20, , [ -5.10, -2.80, -3.80, -2.80 ]); $$path( "SILKSCREEN", 0.20, , [ -5.10, -2.70, -3.80, -2.70 ]); $$path( "SILKSCREEN", 0.20, , [ -5.10, -2.60, -3.80, -2.60 ]); $$path( "SILKSCREEN", 0.20, , [ -5.10, -2.50, -3.80, -2.50 ]); $$path( "SILKSCREEN", 0.20, , [ -5.10, -2.40, -3.80, -2.40 ]); $$path( "SILKSCREEN", 0.20, , [ -5.10, -2.30, -3.80, -2.30 ]); $$path( "SILKSCREEN", 0.20, , [ -5.10, -2.20, -3.80, -2.20 ]); $$path( "SILKSCREEN", 0.20, , [ -5.10, -2.10, -3.80, -2.10 ]); // Reference Designator is on SILKSCREEN Layer. $$text( "SILKSCREEN", "^$ref", -5.8, 0.0, 2.5, @BC, 90, 0.7, 0.20, "std", "None", 0.0, 0.0 ); // Define the 16 pins on the so16w: // pin #1 is to the lower left (standard IC viewing) $$attribute( "COMPONENT_PIN_DEFINITION", "1", , @scale , , [ -4.445, -4.60 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "1,so16w_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "2", , @scale , , [ -3.175, -4.60 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "2,so16w_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "3", , @scale , , [ -1.905, -4.60 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "3,so16w_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "4", , @scale , , [ -0.635, -4.60 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "4,so16w_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "5", , @scale , , [ 0.635, -4.60 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "5,so16w_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "6", , @scale , , [ 1.905, -4.60 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "6,so16w_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "7", , @scale , , [ 3.175, -4.60 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "7,so16w_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "8", , @scale , , [ 4.445, -4.60 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "8,so16w_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "9", , @scale , , [ 4.445, 4.60 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "9,so16w_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "10", , @scale , , [ 3.175, 4.60 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "10,so16w_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "11", , @scale , , [ 1.905, 4.60 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "11,so16w_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "12", , @scale , , [ 0.635, 4.60 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "12,so16w_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "13", , @scale , , [ -0.635, 4.60 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "13,so16w_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "14", , @scale , , [ -1.905, 4.60 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "14,so16w_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "15", , @scale , , [ -3.175, 4.60 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "15,so16w_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "16", , @scale , , [ -4.445, 4.60 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "16,so16w_pad");