bga module#
The BGA Landpattern Generator#
BGA (Ball Grid Array) packages use an array of solder balls on the bottom surface instead of peripheral leads. This module provides generators for creating BGA landpatterns with customizable grid configurations.
The BGA landpattern has three entry points:
BGA: Complete generator with A1 alphanumeric numbering (rows A-Z, columns 1-N, e.g.,.p['A1'],.p['B3'])BGADecorated: With silkscreen but no numbering schemeBGABase: Basic pads only
- Constructor Parameters:
num_rows: Number of rows in the ball grid (vertical) num_cols: Number of columns in the ball grid (horizontal) ball_diameter: Diameter of solder balls (typical: 0.3-0.6mm) pitch: Center-to-center spacing between balls (typical: 0.4-1.27mm)
>>> from jitx import Component, Port >>> from jitxlib.landpatterns.generators.bga import BGA >>> >>> class MyBGA(Component): ... # 10x10 BGA = 100 balls ... pins = {f'{chr(65+r)}{c+1}': Port() for r in range(10) for c in range(10)} ... def __init__(self): ... self.landpattern = BGA( ... num_rows=10, ... num_cols=10, ... ball_diameter=0.4, # 0.4mm balls ... pitch=0.8, # 0.8mm pitch ... )
Note
BGA packages require careful PCB design for routing escape paths. Consider via-in-pad or dog-bone patterns for dense arrays.
- class BGABase(num_rows: int, num_cols: int, ball_diameter: float, pitch: float | tuple[float, float])[source]#
Bases:
GridPlannerMixin,GridPadShapeGeneratorMixin,GridLandpatternGeneratorBGA Landpattern Generator Base
- class BGADecorated(*args, **kwargs)[source]#
Bases:
SilkscreenOutline,Pad1Marker,ReferenceDesignatorMixin,ExcessCourtyard,BGABase
- class BGA(*args, **kwargs)[source]#
Bases:
A1,AlphaDictNumbering,BGADecoratedBGA Landpattern Generator