Skip to content

jsl/landpatterns/BGA/planner

Package name: jsl/landpatterns/BGA/planner

Summary

Data Types

BGA-PadPlanner

Default BGA Pad Planner

Constructors

Function Description
BGA-PadPlanner Constructor for defstruct BGA-PadPlanner

EquilateralTriangle-Matrix-Planner

Equilateral Triangle Matrix - Similar to Staggered but all pads are equidistant.

Constructors

Function Description
EquilateralTriangle-Matrix-Planner (+ 1) Constructor for defstruct EquilateralTriangle-Matrix-Planner

Full-Matrix-Planner

Full Matrix - All Pads in the grid are active

Constructors

Function Description
Full-Matrix-Planner (+ 1) Constructor for defstruct Full-Matrix-Planner

Perimeter-Matrix-Planner

Perimeter Matrix - Full matrix with an island of pads in-active.

Constructors

Function Description
Perimeter-Matrix-Planner (+ 1) Constructor for defstruct Perimeter-Matrix-Planner

Staggered-Matrix-Planner

Staggered Matrix - Every other pad is in-active.

Constructors

Function Description
Staggered-Matrix-Planner (+ 1) Constructor for defstruct Staggered-Matrix-Planner

Corner-Cut-Matrix-Planner

Corner Cut Matrix - A triangle of pads in each corner are inactive

Constructors

Function Description
Corner-Cut-Matrix-Planner (+ 1) Constructor for defstruct Corner-Cut-Matrix-Planner

ThermallyEnhanced-Matrix-Planner

Thermally Enhanced Matrix

Constructors

Function Description
ThermallyEnhanced-Matrix-Planner (+ 1) Constructor for defstruct ThermallyEnhanced-Matrix-Planner

General Definitions

Function Description
BGA-Pad-Shaper Default Pad Shaper for BGA packages.

Definitions

BGA-PadPlanner

Default BGA Pad Planner

public defstruct BGA-PadPlanner <: PadPlanner & GridPlanner
    pad-config: PadConfig

  • pad-config: PadConfig - Defines the features of each individual BGA pad. This defines the shape and parameters for the copper, soldermask opening, paste application, etc.

This pad planner will create circular pads for each BGA ball location. The user can use the pad-config to modify the construction of each pad including the soldermask and pastemask openings.

This type is derived from two parent implementations: 1. PadPlanner which manages selection of which pads to populate and how they should be constructed 2. GridPlanner which manages the placement of the created pads at particular grid locations.

Constructors

BGA-PadPlanner

Constructor for defstruct BGA-PadPlanner

public defn BGA-PadPlanner (pad-config:PadConfig = ?, pose:Pose = ?)

EquilateralTriangle-Matrix-Planner

Equilateral Triangle Matrix - Similar to Staggered but all pads are equidistant.

public defstruct EquilateralTriangle-Matrix-Planner <: Staggered-Matrix-Planner
    tri-pitch: Double

  • tri-pitch: Double - Equilateral Distance between triangle points All pads in this planner are equidistant apart and this parameter sets that distance.

TODO - Diagram

Constructors

EquilateralTriangle-Matrix-Planner

Constructor for defstruct EquilateralTriangle-Matrix-Planner

public defn EquilateralTriangle-Matrix-Planner (phase:StaggerPhase, pad-config:PadConfig = ?, rows:Int, columns:Int, pose:Pose = ?, tri-pitch:Double)

EquilateralTriangle-Matrix-Planner

Constructor for defstruct EquilateralTriangle-Matrix-Planner

public defn EquilateralTriangle-Matrix-Planner ( -- phase:StaggerPhase = ?, pad-config:PadConfig = ?, rows:Int, columns:Int, pose:Pose = ?, tri-pitch:Double)

Full-Matrix-Planner

Full Matrix - All Pads in the grid are active

public defstruct Full-Matrix-Planner <: BGA-PadPlanner

Constructors

Full-Matrix-Planner

Constructor for defstruct Full-Matrix-Planner

public defn Full-Matrix-Planner (pad-config:PadConfig, rows:Int, columns:Int, pitch:Double|Dims, pose:Pose = ?)

Full-Matrix-Planner

Constructor for defstruct Full-Matrix-Planner

public defn Full-Matrix-Planner ( -- pad-config:PadConfig = ?, rows:Int, columns:Int, pitch:Double|Dims, pose:Pose = ?)

Perimeter-Matrix-Planner

Perimeter Matrix - Full matrix with an island of pads in-active.

public defstruct Perimeter-Matrix-Planner <: BGA-PadPlanner
    inactive: PadIsland|Tuple<PadIsland>

  • inactive: PadIsland|Tuple<PadIsland> - Island of Pads that will be marked inactive. Typically, this will be an interior region near the center of the device. This argument can be either a single PadIsland or a Tuple&#60;PadIsland>. In the Tuple case, the union of all PadIslands in the tuple forms the inactive region.

TODO - Diagram

Constructors

Perimeter-Matrix-Planner

Constructor for defstruct Perimeter-Matrix-Planner

public defn Perimeter-Matrix-Planner (inactive:PadIsland|Tuple<PadIsland>, pad-config:PadConfig, rows:Int, columns:Int, pitch:Double|Dims, pose:Pose = ?)

Perimeter-Matrix-Planner

Constructor for defstruct Perimeter-Matrix-Planner

public defn Perimeter-Matrix-Planner ( -- inactive:PadIsland|Tuple<PadIsland>, pad-config:PadConfig = ?, rows:Int, columns:Int, pitch:Double|Dims, pose:Pose = ?)

Staggered-Matrix-Planner

Staggered Matrix - Every other pad is in-active.

public defstruct Staggered-Matrix-Planner <: BGA-PadPlanner
    phase: StaggerPhase

  • phase: StaggerPhase - Phase indicates whether the first row pad 0 is empty or populated. By default this function uses Even-Phase

TODO - Diagram here

This pad planner assumes that the grid is structured as

Constructors

Staggered-Matrix-Planner

Constructor for defstruct Staggered-Matrix-Planner

public defn Staggered-Matrix-Planner (phase:StaggerPhase, pad-config:PadConfig = ?, rows:Int, columns:Int, pitch:Double|Dims, pose:Pose = ?)

Staggered-Matrix-Planner

Constructor for defstruct Staggered-Matrix-Planner

public defn Staggered-Matrix-Planner ( -- phase:StaggerPhase = ?, pad-config:PadConfig = ?, rows:Int, columns:Int, pitch:Double|Dims, pose:Pose = ?)

Corner-Cut-Matrix-Planner

Corner Cut Matrix - A triangle of pads in each corner are inactive

public defstruct Corner-Cut-Matrix-Planner <: BGA-PadPlanner
    corner-cut: Int

  • corner-cut: Int - Width of the triangular region in each corner that will be inactive

Example: corner-cut = 2

  X | X | O  ...  O | X | X
  X | O | O  ...  O | O | X
  O | O | O  ...  O | O | O
     ...     ...     ...
  O | O | O  ...  O | O | O
  X | O | O  ...  O | O | X
  X | X | O  ...  O | X | X

Constructors

Corner-Cut-Matrix-Planner

Constructor for defstruct Corner-Cut-Matrix-Planner

public defn Corner-Cut-Matrix-Planner (corner-cut:Int, pad-config:PadConfig, rows:Int, columns:Int, pitch:Double|Dims, pose:Pose = ?)

Corner-Cut-Matrix-Planner

Constructor for defstruct Corner-Cut-Matrix-Planner

public defn Corner-Cut-Matrix-Planner ( -- corner-cut:Int, pad-config:PadConfig = ?, rows:Int, columns:Int, pitch:Double|Dims, pose:Pose = ?)

ThermallyEnhanced-Matrix-Planner

Thermally Enhanced Matrix

public defstruct ThermallyEnhanced-Matrix-Planner <: Perimeter-Matrix-Planner
    active: PadIsland|Tuple<PadIsland>

  • active: PadIsland|Tuple<PadIsland> - Island of Pads that will be marked active. This island will override the inactive island. This region is typically an interior region near the center of the device and enclosed by the inactive island.

    This argument can be either a single PadIsland or a Tuple&#60;PadIsland>. In the Tuple case, the union of all PadIslands in the tuple forms the active center region.

TODO - Diagram

Constructors

ThermallyEnhanced-Matrix-Planner

Constructor for defstruct ThermallyEnhanced-Matrix-Planner

public defn ThermallyEnhanced-Matrix-Planner (inactive:PadIsland|Tuple<PadIsland>, active:PadIsland|Tuple<PadIsland>, pad-config:PadConfig, rows:Int, columns:Int, pitch:Double|Dims, pose:Pose = ?)

ThermallyEnhanced-Matrix-Planner

Constructor for defstruct ThermallyEnhanced-Matrix-Planner

public defn ThermallyEnhanced-Matrix-Planner ( -- inactive:PadIsland|Tuple<PadIsland>, active:PadIsland|Tuple<PadIsland>, pad-config:PadConfig = ?, rows:Int, columns:Int, pitch:Double|Dims, pose:Pose = ?)

General Definitions

BGA-Pad-Shaper

Default Pad Shaper for BGA packages.

public defn BGA-Pad-Shaper (s:Dims) -> Shape

  • Returns Shape

This accepts a Dims object and will convert it to a Circle using the x dimension of the Dims.

Related Packages

Forwarded by packages: jsl/landpatterns/BGA, jsl/landpatterns/generators, jsl/landpatterns