// // file: qfn_mr_76_pin_geom.txt // // date: 1-Dec-2022 Start work on the original version // of the 76 pin multi row qfn // // // // // This geometry is for the 76 pin plus thermal pad // multi-row qfn package // // // Now used for the TI Bluetooth Transceiver: CC2564C // // // // This geometry mostly comes from various TI documents // but as of its initial writting I'm still missing some // critical information, e.g. the size of the thermal pad, // the distance from the center of the package to the center // of the inner and outer rows of pins. // // I found a note on the web from e2e.ti.com/support from // TI_Mastermind that in a round about way confirms that: // // The distance from the center of the package to the center // of both the Inner Row pin and pad is 3.10 mm. // // The distance from the center of the package to the center // of the Outer Row pins is 3.80 mm. // // That the pcb pad for the Outer Row needs to have a length // greater than the length of the Outer Row pin and that // this extra Outer Row pad length needs to be outside of the // perimeter of the package, i.e. to provide a solder fillet // for the outside vertical surface of the Outer Row pins. // // That because of the point just above the TI_Mastermind // confirms that the center of the Outer Row pads will be // further than 3.80 mm from the center of the package // and in one example shows 3.925 mm. // // // Basic Design: // // My understanding of the PACKAGE: // // The outer shape of this package is a square nominally // 8.0 mm on a side range 7:90 to 8:10 mm. // // There are two rows of pins along each side of this package. // // The outer row is numbered A1 : A40 // The inner row is numbered B1 : B36 // I will number the thermal pad as pins 77:85. // // The center line of the package is between 2 pins in the outer row. // The center line of the package is in the middle of a pin in the // inner row. // // The outer edge of the outer row of pins is flush // with the edge of the package. // // The pitch between adjacent pins is 0.60 mm // // The width of a pin is between 0.15 and 0.25 mm // // The length of a pin is between 0.30 and 0.50 mm nominal 0.40 mm. // // The distance from the center of the outer row of pins // to the center of the inner row of pins is 0.70 mm // // I'm guessing that the distance from the center of the // package to the center of the Outer row of pins is 3.80 mm. // // I'm guessing that the distance from the center of the // package to the center of the Inner row of pins is 3.10 mm. // // I'm guessing that the Thermal Pad is: // // 3.30 mm by 3.00 mm overall size // // That its longer 3.30 mm edges are adjacent to the // A11-A20 (B10-B18) and A31-A40 (B28-B36) // rows of pins. // // That its shorter 3.00 mm edges are adjacent to the // A1-A10 (B1-B9) and A21-A30 (B19-B27) // rows of pins. // // That the center of the thermal pad is offset from // the center of the overall package by 0.17 mm in the // direction of the A21-A30 (B19-B27) row of pins. // // Their drawing of the thermal pad in swrs121e says // that there is this 0.17 mm offset but it does not // show any offset. For now (2-Dec-2022) I will make a // proper 3.30 x 3.00 mm Thermal Pad but not offset it. // // // // Pads for the INNER Row of Pins: // // I will use inner row pads that are 0.24 mm wide by 0.52 mm long. // // I will keep the Solder Mask back from the edge of // the pin pad land by 0.05 mm on all edges. That makes // the Solder Mask opening 0.34 mm wide by 0.62 mm long. // // I will make the Paste Stencil opening 77% of the // signal pad land size, i.e. the Paste Stencil opening // is 0.20 mm wide by 0.48 mm long. // // I will center the inner row of pads at the center // of the inner row of pins. This makes the distance // from the center of the package to the center of // the inner row of pin pads 3.10 mm. // // // // Pads for the OUTER Row of Pins: // // The Outer row of pin pads are different because they are // longer than the longth of their matching pins. The outer // row pads stick out past the edge of the package to provide // a solder attachment point for the vertical edge of the pin's // metal on the outer edge surface of the package. // // As is normal for the other QFN packages I will make the // length of these outer row pads be about 0.45 mm longer // than the nominal 0.40 length of the outer row pins and // I will position the pads so that their inner edge is about // 0.05 mm closer to the center of the package than the nominal // location of the inner edge of the outer row pins. Thus: // // I will use outer row pads that are 0.24 mm wide by 0.86 mm long. // // I will keep the Solder Mask back from the edge of // the pin pad land by 0.05 mm on all edges. That makes // the Solder Mask opening 0.34 mm wide by 0.96 mm long. // // I will make the Paste Stencil opening 76% of the // signal pad land size, i.e. the Paste Stencil opening // is 0.20 mm wide by 0.80 mm long. // // I will position the outer row of pads so that their // inner edge is 0.05 mm closer to the center of the // package than the 3.60 mm nominal location of the inner // edge of the outer row pins. This puts the center of // the outer row pads 3.98 mm from the center of the package. // // // // The Thermal Exposed Pad is 3.30 mm in X by 3.00 mm in Y. // // There are 9 Ground Rivets in the Thermal Pad in a 3x3 array. // // The Solder Mask has been held back on all edges by 0.05 mm. // // There are 4 Solder Paste windows, 1.40 mm in X by 1.25 mm // in Y. The horz and vert bars are 0.30 mm wide. These 4 // windows give 70.7% solder paste coverage over the Thermal Pad. // // So far 2-Dec-22 I have not offset any of these Thermal Pad // design elements by the 0.17 mm described in the data sheet. // // // // // Minimum Clearances between Adjacent Copper Conductors // and Minimum Solder Mask Widths: // // to be calculated // // The interior tip of the signal pad land is 0.195 mm from // the thermal pad land, i.e. the air gap between the signal // pad land and the thermal pad land is 0.195 mm. // // // // Lay this out with the Pin #1 in the top left-hand corner, NW corner. // // Label the 9 "Thermal Vias" as component pins: 77:85 // // //---------------------------------------------------------------------------- $abort_enable = @false; $$lock_windows(@on) ; $$snap_diagonal(@off) ; $$snap_orthogonal(@off) ; //---------------------------------------------------------------------------- // Outer Pads with a long axis Vertical $$lock_windows(@on); $$create_pin("qfn_mr_76_outer_vert_pad", @replace); $$page(0.0,0.0,0.0, @mm, 0.0, 0.0, [0.0, 0.0, 'PI$qfn_mr_76_outer_vert_pad']); $$point_mode(@vertex); $$polygon( "PAD_1", , [ 0.12, 0.43, -0.12, 0.43, -0.12, -0.43, 0.12, -0.43 ] ); $$polygon( "SOLDER_MASK_1", , [ 0.17, 0.48, -0.17, 0.48, -0.17, -0.48, 0.17, -0.48 ] ); $$polygon( "PASTE_MASK_1", , [ 0.10, 0.40, -0.10, 0.40, -0.10, -0.40, 0.10, -0.40 ] ); $$attribute( "TERMINAL_SURFACE_DEFINITION", ""); //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- // Outer Pads with a long axis Horizontal $$lock_windows(@on); $$create_pin("qfn_mr_76_outer_horz_pad", @replace); $$page(0.0,0.0,0.0, @mm, 0.0, 0.0, [0.0, 0.0, 'PI$qfn_mr_76_outer_horz_pad']); $$point_mode(@vertex); $$polygon( "PAD_1", , [ 0.43, 0.12, -0.43, 0.12, -0.43, -0.12, 0.43, -0.12 ] ); $$polygon( "SOLDER_MASK_1", , [ 0.48, 0.17, -0.48, 0.17, -0.48, -0.17, 0.48, -0.17 ] ); $$polygon( "PASTE_MASK_1", , [ 0.40, 0.10, -0.40, 0.10, -0.40, -0.10, 0.40, -0.10 ] ); $$attribute( "TERMINAL_SURFACE_DEFINITION", ""); //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- // Inner Pads with a long axis Vertical $$lock_windows(@on); $$create_pin("qfn_mr_76_inner_vert_pad", @replace); $$page(0.0,0.0,0.0, @mm, 0.0, 0.0, [0.0, 0.0, 'PI$qfn_mr_76_inner_vert_pad']); $$point_mode(@vertex); $$polygon( "PAD_1", , [ 0.12, 0.26, -0.12, 0.26, -0.12, -0.26, 0.12, -0.26 ] ); $$polygon( "SOLDER_MASK_1", , [ 0.17, 0.31, -0.17, 0.31, -0.17, -0.31, 0.17, -0.31 ] ); $$polygon( "PASTE_MASK_1", , [ 0.10, 0.24, -0.10, 0.24, -0.10, -0.24, 0.10, -0.24 ] ); $$attribute( "TERMINAL_SURFACE_DEFINITION", ""); //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- // Inner Pads with a long axis Horizontal $$lock_windows(@on); $$create_pin("qfn_mr_76_inner_horz_pad", @replace); $$page(0.0,0.0,0.0, @mm, 0.0, 0.0, [0.0, 0.0, 'PI$qfn_mr_76_inner_horz_pad']); $$point_mode(@vertex); $$polygon( "PAD_1", , [ 0.26, 0.12, -0.26, 0.12, -0.26, -0.12, 0.26, -0.12 ] ); $$polygon( "SOLDER_MASK_1", , [ 0.31, 0.17, -0.31, 0.17, -0.31, -0.17, 0.31, -0.17 ] ); $$polygon( "PASTE_MASK_1", , [ 0.24, 0.10, -0.24, 0.10, -0.24, -0.10, 0.24, -0.10 ] ); $$attribute( "TERMINAL_SURFACE_DEFINITION", ""); //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- // Through Hole Pin/Pad Stack for the 9 "Thermal Vias" // These are component pins 77 through 85. // // 0.30 mm finished hole diameter // 0.60 mm land pad // 0.85 mm plane relief // 0.28 mm PrePreg_5 flash to indicate a // via that is plugged from the top // // --> 0.275 mm clearance from edge of drill hole to Planes // // --> for 1.00 mm spacing there is a 0.15 mm wide neck // in the Ground web between drills // $$lock_windows(@on); $$create_pin( "qfn_mr_76_thd_pin" ); $$page(0.0, 0.0, 0.0, @mm, 0.0, 0.0, [ 0.0, 0.0, 'PI$qfn_mr_76_thd_pin' ] ); $$point_mode(@vertex); $$attribute( "TERMINAL_THRUHOLE_DEFINITION", ""); $$attribute( "TERMINAL_DRILL_SIZE", "", , @scale , , [ 0.30, 0.0 ]); $$circle( "SIGNAL", 0.0, 0.0, 0.60, 0.0 ); $$circle( "POWER", 0.0, 0.0, 0.85, 0.0 ); $$circle( "PREPREG_5", 0.0, 0.0, 0.28, 0.0 ); //---------------------------------------------------------------------------- $$lock_windows(@on) ; $$create_component("qfn_mr_76", @replace); $$page( 0.0, 0.0, 0.0, @mm, 0.0, 0.0, [ 0.0, 0.0, 'CO$qfn_mr_76' ]); $$point_mode(@vertex); $$attribute( "COMPONENT_LAYOUT_SURFACE", "both"); $$attribute( "COMPONENT_HEIGHT", "1.20", , @scale , , [0.0, 0.0] ); // // Component Placement Outline for the QFN_MR_76 // $$initial([ -4.50, -4.50 ], , @nosnap ); $$terminal([ -4.50, 4.50 ] ); $$terminal([ 4.50, 4.50 ] ); $$terminal([ 4.50, -4.50 ] ); $$attribute( "COMPONENT_PLACEMENT_OUTLINE", "", @mark, @scale ); // // Silkscreen // $$template_line_style( @Solid ); $$initial([ -4.80, -4.80 ], , @nosnap ); $$terminal([ -4.80, 4.80 ] ); $$terminal([ 4.80, 4.80 ] ); $$terminal([ 4.80, -4.80 ] ); $$terminal([ -4.80, -4.80 ] ); $$path( "SILKSCREEN_1", 0.20 ); $$circle( "SILKSCREEN_1", -5.3, 5.3, 0.5, 0.20 ); $$circle( "SILKSCREEN_1", -5.3, 5.3, 1.0, 0.20 ); // // End of Silkscreen // // // Guide Line Plot on DAM_3 // $$template_line_style( @Solid ); $$initial([ -4.00, -4.00 ], , @nosnap ); $$terminal([ -4.00, 4.00 ] ); $$terminal([ 4.00, 4.00 ] ); $$terminal([ 4.00, -4.00 ] ); $$terminal([ -4.00, -4.00 ] ); $$path( "DAM_3", 0.02 ); // // End of the Guide Line Plot on DAM_3 // // Reference Designator $$text( "SILKSCREEN", "^$ref", 0.0, 7.0, 2.0, @CC, 0, 0.7, 0.20, "std", "None", 0.0, 0.0 ); // Setup the Local Fiducial Marks //$$circle( "PAD_1", 0.00, 4.50, 1.0, 0.0); //$$circle( "SOLDER_MASK_1", 0.00, 4.50, 1.3, 0.0); //$$circle( "PAD_1", 0.00, -4.50, 1.0, 0.0); //$$circle( "SOLDER_MASK_1", 0.00, -4.50, 1.3, 0.0); // // Now place the center Thermal Pad // // - Copper on Breakout 1 and Sheet_Dielectric_1 // // - Solder Mask Relief for this Thermal Pad // // - Paste Mask openings // $$polygon( "BREAKOUT_1", , [ -1.65, -1.50, 1.65, -1.50, 1.65, 1.50, -1.65, 1.50 ] ); $$polygon( "SOLDER_MASK_1", , [ -1.70, -1.55, 1.70, -1.55, 1.70, 1.55, -1.70, 1.55 ] ); $$polygon( "SHEET_DIELECTRIC_1", , [ -1.70, -1.55, 1.70, -1.55, 1.70, 1.55, -1.70, 1.55 ] ); $$polygon( "PASTE_MASK_1", , [ -1.55, 0.15, -0.15, 0.15, -0.15, 1.40, -1.55, 1.40 ] ); $$polygon( "PASTE_MASK_1", , [ 0.15, 0.15, 1.55, 0.15, 1.55, 1.40, 0.15, 1.40 ] ); $$polygon( "PASTE_MASK_1", , [ -1.55, -1.40, -0.15, -1.40, -0.15, -0.15, -1.55, -0.15 ] ); $$polygon( "PASTE_MASK_1", , [ 0.15, -1.40, 1.55, -1.40, 1.55, -0.15, 0.15, -0.15 ] ); // Define the pins // OUTER Pads Along the Left-Hand Edge $$attribute( "COMPONENT_PIN_DEFINITION", "A1", , @scale , , [ -3.980, 2.70 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A1, qfn_mr_76_outer_horz_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "A2", , @scale , , [ -3.980, 2.10 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A2, qfn_mr_76_outer_horz_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "A3", , @scale , , [ -3.980, 1.50 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A3, qfn_mr_76_outer_horz_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "A4", , @scale , , [ -3.980, 0.90 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A4, qfn_mr_76_outer_horz_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "A5", , @scale , , [ -3.980, 0.30 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A5, qfn_mr_76_outer_horz_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "A6", , @scale , , [ -3.980, -0.30 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A6, qfn_mr_76_outer_horz_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "A7", , @scale , , [ -3.980, -0.90 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A7, qfn_mr_76_outer_horz_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "A8", , @scale , , [ -3.980, -1.50 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A8, qfn_mr_76_outer_horz_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "A9", , @scale , , [ -3.980, -2.10 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A9, qfn_mr_76_outer_horz_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "A10", , @scale , , [ -3.980, -2.70 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A10, qfn_mr_76_outer_horz_pad"); // OUTER Pads Along the Bottom Edge $$attribute( "COMPONENT_PIN_DEFINITION", "A11", , @scale , , [ -2.70, -3.980 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A11, qfn_mr_76_outer_vert_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "A12", , @scale , , [ -2.10, -3.980 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A12, qfn_mr_76_outer_vert_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "A13", , @scale , , [ -1.50, -3.980 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A13, qfn_mr_76_outer_vert_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "A14", , @scale , , [ -0.90, -3.980 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A14, qfn_mr_76_outer_vert_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "A15", , @scale , , [ -0.30, -3.980 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A15, qfn_mr_76_outer_vert_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "A16", , @scale , , [ 0.30, -3.980 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A16, qfn_mr_76_outer_vert_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "A17", , @scale , , [ 0.90, -3.980 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A17, qfn_mr_76_outer_vert_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "A18", , @scale , , [ 1.50, -3.980 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A18, qfn_mr_76_outer_vert_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "A19", , @scale , , [ 2.10, -3.980 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A19, qfn_mr_76_outer_vert_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "A20", , @scale , , [ 2.70, -3.980 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A20, qfn_mr_76_outer_vert_pad"); // OUTER Pads Along the Right-Hand Edge $$attribute( "COMPONENT_PIN_DEFINITION", "A21", , @scale , , [ 3.980, -2.70 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A21, qfn_mr_76_outer_horz_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "A22", , @scale , , [ 3.980, -2.10 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A22, qfn_mr_76_outer_horz_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "A23", , @scale , , [ 3.980, -1.50 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A23, qfn_mr_76_outer_horz_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "A24", , @scale , , [ 3.980, -0.90 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A24, qfn_mr_76_outer_horz_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "A25", , @scale , , [ 3.980, -0.30 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A25, qfn_mr_76_outer_horz_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "A26", , @scale , , [ 3.980, 0.30 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A26, qfn_mr_76_outer_horz_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "A27", , @scale , , [ 3.980, 0.90 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A27, qfn_mr_76_outer_horz_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "A28", , @scale , , [ 3.980, 1.50 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A28, qfn_mr_76_outer_horz_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "A29", , @scale , , [ 3.980, 2.10 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A29, qfn_mr_76_outer_horz_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "A30", , @scale , , [ 3.980, 2.70 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A30, qfn_mr_76_outer_horz_pad"); // OUTER Pads Along the Top Edge $$attribute( "COMPONENT_PIN_DEFINITION", "A31", , @scale , , [ 2.70, 3.980 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A31, qfn_mr_76_outer_vert_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "A32", , @scale , , [ 2.10, 3.980 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A32, qfn_mr_76_outer_vert_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "A33", , @scale , , [ 1.50, 3.980 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A33, qfn_mr_76_outer_vert_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "A34", , @scale , , [ 0.90, 3.980 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A34, qfn_mr_76_outer_vert_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "A35", , @scale , , [ 0.30, 3.980 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A35, qfn_mr_76_outer_vert_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "A36", , @scale , , [ -0.30, 3.980 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A36, qfn_mr_76_outer_vert_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "A37", , @scale , , [ -0.90, 3.980 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A37, qfn_mr_76_outer_vert_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "A38", , @scale , , [ -1.50, 3.980 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A38, qfn_mr_76_outer_vert_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "A39", , @scale , , [ -2.10, 3.980 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A39, qfn_mr_76_outer_vert_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "A40", , @scale , , [ -2.70, 3.980 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "A40, qfn_mr_76_outer_vert_pad"); // INNER Pads Along the Left-Hand Edge $$attribute( "COMPONENT_PIN_DEFINITION", "B1", , @scale , , [ -3.100, 2.40 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B1, qfn_mr_76_inner_horz_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "B2", , @scale , , [ -3.100, 1.80 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B2, qfn_mr_76_inner_horz_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "B3", , @scale , , [ -3.100, 1.20 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B3, qfn_mr_76_inner_horz_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "B4", , @scale , , [ -3.100, 0.60 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B4, qfn_mr_76_inner_horz_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "B5", , @scale , , [ -3.100, 0.00 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B5, qfn_mr_76_inner_horz_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "B6", , @scale , , [ -3.100, -0.60 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B6, qfn_mr_76_inner_horz_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "B7", , @scale , , [ -3.100, -1.20 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B7, qfn_mr_76_inner_horz_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "B8", , @scale , , [ -3.100, -1.80 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B8, qfn_mr_76_inner_horz_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "B9", , @scale , , [ -3.100, -2.40 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B9, qfn_mr_76_inner_horz_pad"); // INNER Pads Along the Bottom Edge $$attribute( "COMPONENT_PIN_DEFINITION", "B10", , @scale , , [ -2.40, -3.100 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B10, qfn_mr_76_inner_vert_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "B11", , @scale , , [ -1.80, -3.100 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B11, qfn_mr_76_inner_vert_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "B12", , @scale , , [ -1.20, -3.100 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B12, qfn_mr_76_inner_vert_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "B13", , @scale , , [ -0.60, -3.100 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B13, qfn_mr_76_inner_vert_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "B14", , @scale , , [ 0.00, -3.100 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B14, qfn_mr_76_inner_vert_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "B15", , @scale , , [ 0.60, -3.100 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B15, qfn_mr_76_inner_vert_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "B16", , @scale , , [ 1.20, -3.100 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B16, qfn_mr_76_inner_vert_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "B17", , @scale , , [ 1.80, -3.100 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B17, qfn_mr_76_inner_vert_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "B18", , @scale , , [ 2.40, -3.100 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B18, qfn_mr_76_inner_vert_pad"); // INNER Pads Along the Right-Hand Edge $$attribute( "COMPONENT_PIN_DEFINITION", "B19", , @scale , , [ 3.100, -2.40 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B19, qfn_mr_76_inner_horz_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "B20", , @scale , , [ 3.100, -1.80 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B20, qfn_mr_76_inner_horz_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "B21", , @scale , , [ 3.100, -1.20 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B21, qfn_mr_76_inner_horz_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "B22", , @scale , , [ 3.100, -0.60 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B22, qfn_mr_76_inner_horz_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "B23", , @scale , , [ 3.100, 0.00 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B23, qfn_mr_76_inner_horz_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "B24", , @scale , , [ 3.100, 0.60 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B24, qfn_mr_76_inner_horz_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "B25", , @scale , , [ 3.100, 1.20 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B25, qfn_mr_76_inner_horz_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "B26", , @scale , , [ 3.100, 1.80 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B26, qfn_mr_76_inner_horz_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "B27", , @scale , , [ 3.100, 2.40 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B27, qfn_mr_76_inner_horz_pad"); // INNER Pads Along the Top Edge $$attribute( "COMPONENT_PIN_DEFINITION", "B28", , @scale , , [ 2.40, 3.100 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B28, qfn_mr_76_inner_vert_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "B29", , @scale , , [ 1.80, 3.100 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B29, qfn_mr_76_inner_vert_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "B30", , @scale , , [ 1.20, 3.100 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B30, qfn_mr_76_inner_vert_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "B31", , @scale , , [ 0.60, 3.100 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B31, qfn_mr_76_inner_vert_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "B32", , @scale , , [ 0.00, 3.100 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B32, qfn_mr_76_inner_vert_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "B33", , @scale , , [ -0.60, 3.100 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B33, qfn_mr_76_inner_vert_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "B34", , @scale , , [ -1.20, 3.100 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B34, qfn_mr_76_inner_vert_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "B35", , @scale , , [ -1.80, 3.100 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B35, qfn_mr_76_inner_vert_pad"); $$attribute( "COMPONENT_PIN_DEFINITION", "B36", , @scale , , [ -2.40, 3.100 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "B36, qfn_mr_76_inner_vert_pad"); // // Now the 9 Thermal Vias in the center for the Thermal Pad // $$attribute( "COMPONENT_PIN_DEFINITION", "77", , @scale , , [ -1.00, 0.90 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "77, qfn_mr_76_thd_pin"); $$attribute( "COMPONENT_PIN_DEFINITION", "78", , @scale , , [ 0.00, 0.90 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "78, qfn_mr_76_thd_pin"); $$attribute( "COMPONENT_PIN_DEFINITION", "79", , @scale , , [ 1.00, 0.90 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "79, qfn_mr_76_thd_pin"); $$attribute( "COMPONENT_PIN_DEFINITION", "80", , @scale , , [ -1.00, 0.00 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "80, qfn_mr_76_thd_pin"); $$attribute( "COMPONENT_PIN_DEFINITION", "81", , @scale , , [ 0.00, 0.00 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "81, qfn_mr_76_thd_pin"); $$attribute( "COMPONENT_PIN_DEFINITION", "82", , @scale , , [ 1.00, 0.00 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "82, qfn_mr_76_thd_pin"); $$attribute( "COMPONENT_PIN_DEFINITION", "83", , @scale , , [ -1.00, -0.90 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "83, qfn_mr_76_thd_pin"); $$attribute( "COMPONENT_PIN_DEFINITION", "84", , @scale , , [ 0.00, -0.90 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "84, qfn_mr_76_thd_pin"); $$attribute( "COMPONENT_PIN_DEFINITION", "85", , @scale , , [ 1.00, -0.90 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "85, qfn_mr_76_thd_pin"); //----------------------------------------------------------------------------