// // File: cap_0402 // // Date: 9-Jan-2025 original version // // // // Geometry for the Through Hole versions of the 0402 Capacitor // // The Reference Designator is on the SilkScreen Layer. // // The long axis of this part is horizontal with pin #1 to the left. // // The intent of this THD Cap 0402 is for bypass capacitors // under larger BGA components in situations where the BGA // component itself does not have Dog-Bone Pins (so there is // space for this Cap and its THD pins) AND where the BGA // component does not have close by accessable Rail and Ground // pins for this bypass capacitor to connect to (and thus this // bypass capacitor must make it own connections to the Power Rail // and to Ground. // // // The SMD Pads on this comp will exactly match our normal cap_0402. // // The THD Pins on this comp will exactly match the Dog-Bone pins // of the DK boards FCG-1152 FPGA component. // // The connections from SMD Pad to THD Pin are on Breakout layer. // // I will layout this comp so that it is placement side specific, // i.e. it is ment to be placed on the Bottom side of the board - // but for now I'm not going to make the THD Pin have different // size pads on the top and bottom of the board. // // This layout has the long axis of the 0402 cap horizontal // with pin #1 to the left. // // The comp outline will include only the 0402 body for now. // // The THD Pins will be 0.80 mm below the horizontal center // line of the 0402 cap body and separated by +- 0.5 mm. // // This geometry was made for the Disco-Kraken design. // $abort_enable = @false; $$lock_windows(@on) ; $$snap_diagonal(@off) ; $$snap_orthogonal(@off) ; //---------------------------------------------------------------------------- // THD Pin for the cap_0402_thd $$create_pin("cap_0402_thd_pin"); $$page(0.0, 0.0, 0.0, @mm, 0.0, 0.0, [0.0,0.0,'PI$cap_0402_thd_pin'] ); $$point_mode(@vertex); $$attribute( "TERMINAL_THRUHOLE_DEFINITION", ""); $$attribute( "TERMINAL_DRILL_SIZE", "", , @scale , , [0.3, 0.0]); $$circle( "SIGNAL", 0.000, 0.000, 0.58, 0.0); $$circle( "SOLDER_MASK_2", 0.000, 0.000, 0.44, 0.0); $$circle( "POWER", 0.000, 0.000, 0.82, 0.0); $$circle( "PREPREG_5", 0.000, 0.000, 0.30, 0.0 ); //---------------------------------------------------------------------------- $$create_component("cap_0402_thd", @replace); $$page(0.0, 0.0, 0.0, @mm, 0.0, 0.0, [0.0,0.0,'CO$cap_0402_thd'] ); $$point_mode(@vertex); $$attribute( "COMPONENT_LAYOUT_TYPE", "surface"); $$attribute( "COMPONENT_LAYOUT_SURFACE", "both"); $$attribute( "COMPONENT_HEIGHT", "", , @scale , , [0.028, 0.0]); // // Component Placement Outline for the cap_0402 // $$initial([ -1.00, -0.45 ], , @nosnap ); $$terminal([ -1.00, 0.45 ] ); $$terminal([ 1.00, 0.45 ] ); $$terminal([ 1.00, -0.45 ] ); $$attribute( "COMPONENT_PLACEMENT_OUTLINE", "", @mark, @scale ); // Silkscreen layout guide for the cap_0402_thd $$template_line_style( @Solid ); $$path( "SILKSCREEN", 0.20, , [-1.00, 0.55, 1.00, 0.55]); $$path( "SILKSCREEN", 0.20, , [-1.00, -0.55, 1.00, -0.55]); // Reference Designator is on the SILKSCREEN Layer. $$text( "SILKSCREEN", "^$ref", 0.0, 0.0, 1.4, @CC, 0, 0.7, 0.20, "std", "None", 0.0, 0.0 ); // // Now explicitly make the two SMD Pads for the cap_0402_thd // // These pads are centered +- 0.45 mm from the center of the cap 0402 body. // // The Breakout Paths connect the SMD Pads to the THD Pins for this component. // // // Pin #1 to the Left // $$polygon( "BREAKOUT_2", , [ -0.76, -0.31, -0.14, -0.31, -0.14, 0.31, -0.76, 0.31 ]); $$polygon( "SOLDER_MASK_2", , [ -0.81, -0.36, -0.09, -0.36, -0.09, 0.36, -0.81, 0.36 ]); $$polygon( "PASTE_MASK_2", , [ -0.76, -0.31, -0.14, -0.31, -0.14, 0.31, -0.76, 0.31 ]); $$path( "BREAKOUT_2", 0.50, , [ -0.50, -0.80, -0.50, 0.00 ]); $$path( "BREAKOUT_2", 0.50, , [ -0.50, 0.00, -0.45, 0.00 ]); // // Pin #2 to the Right // $$polygon( "BREAKOUT_2", , [ 0.14, -0.31, 0.76, -0.31, 0.76, 0.31, 0.14, 0.31 ]); $$polygon( "SOLDER_MASK_2", , [ 0.09, -0.36, 0.81, -0.36, 0.81, 0.36, 0.09, 0.36 ]); $$polygon( "PASTE_MASK_2", , [ 0.14, -0.31, 0.76, -0.31, 0.76, 0.31, 0.14, 0.31 ]); $$path( "BREAKOUT_2", 0.50, , [ 0.50, -0.80, 0.50, 0.00 ]); $$path( "BREAKOUT_2", 0.50, , [ 0.50, 0.00, 0.45, 0.00 ]); // // Define the two pins on the cap_0402_thd: // pin #1 is to the left, pin #2 to the right, the axis is horizontal $$attribute( "COMPONENT_PIN_DEFINITION", "1", , @scale , , [ -0.50, -0.80 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "1, cap_0402_thd_pin"); $$attribute( "COMPONENT_PIN_DEFINITION", "2", , @scale , , [ 0.50, -0.80 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "2, cap_0402_thd_pin");