Skip to content

Rules

A pcb-rules statement represents a set of design rules that the user can define for the system to enforce. These constraints are often driven by the limitations of a specific PCB manufacturer's fabrication process.

Signature

pcb-rules rules-name (arg1:Type1, ...):
  name = <String>           ; optional
  description = <String>    ; optional

  min-copper-width = <Double>
  min-copper-copper-space = <Double>
  min-copper-hole-space = <Double>
  min-copper-edge-space = <Double>
  min-annular-ring = <Double>
  min-drill-diameter = <Double>
  min-silkscreen-width = <Double>
  min-pitch-leaded = <Double>
  min-pitch-bga = <Double>
  max-board-width = <Double>
  max-board-height = <Double>
  min-silk-solder-mask-space = <Double>
  min-silkscreen-text-height = <Double>
  solder-mask-registration = <Double>
  min-th-pad-expand-outer = <Double>
  min-soldermask-opening = <Double>
  min-soldermask-bridge = <Double>
  min-hole-to-hole = <Double>
  min-pth-pin-solder-clearance = <Double>

The expression rules-name uniquely identifies this ruleset definition in the current context.

The argument list (arg1:Type1, ...) is optional and provides a means of constructing parameterized rules definitions.

  • Optional Parameters
  • name - Alternative name for this ruleset. rules-name expression is used by default.
  • description - Statement to describe this ruleset and capture any noteworthy details.

**Note that these parameters are not design rules themselves

All design rules are required to have a value. As such, any ruleset must specify a value for every rule. If no ruleset is explicitly set for the design, JITX applies a default ruleset. The supported design rules and their default values are as follows :

Rule Statement Default Rules Value Description
min-copper-width 0.127mm Minimum size of a copper feature on a geom.
min-copper-copper-space 0.127mm Minimum distance between copper features on the same layer.
min-copper-hole-space 0.2032mm Minimum distance from a hole or cutout feature to a copper feature on any layer.
min-copper-edge-space 0.5mm Minimum distance from the edge of the board to a copper feature on any layer.
min-annular-ring 0.1524mm Minimum size of the annular ring around a hole or via.
min-drill-diameter 0.254mm Minimum diameter of a hole, either in a pad or via.
min-silkscreen-width 0.127mm Minimum size of a silkscreen feature.
min-pitch-leaded 0.35mm Minimum distance between pad centers of a leaded component.
min-pitch-bga 0.35mm Minimum distance between pad centers of a BGA component.
max-board-width 457.2mm Maximum size of a board in the x direction.
max-board-height 609.6mm Maximum size of a board in the y direction.
min-silk-solder-mask-space 0.15mm Minimum distance between silkscreen and solder mask features.
min-silkscreen-text-height 0.1mm Minimum height of text on silkscreen layers.
min-pth-pin-solder-clearance 0.762mm Minimum distance between a through hole pad and solder mask.
solder-mask-registration 0.15mm Minimum distance from the edge of a copper pad and solder mask feature.
min-soldermask-opening 0.152mm Minimum size of a solder mask shape.
min-soldermask-bridge 0.102mm Minimum distance between solder mask features.
min-hole-to-hole 0.254mm Minimum distance between two holes in pads or vias.
min-pth-pin-solder-clearance 3.0mm Minimum distance from the outer edge of a PTH pad's annular ring to any copper feature.

Usage

The design rules for a design are set by passing a pcb-rules definition to the set-rules function. The design rules for a design are set by passing a pcb-rules definition to the set-rules function.

public pcb-rules my-rules :
  name = "ruleset 35"
  description = "This is a toy example for pcb-rules."

  min-copper-width = 0.13
  min-copper-copper-space = 0.2
  min-copper-hole-space = 0.2032
  min-copper-edge-space = 0.381
  min-annular-ring = 0.1524
  min-drill-diameter = 0.254
  min-silkscreen-width = 0.2
  min-pitch-leaded = 0.35
  min-pitch-bga = 0.35
  max-board-width = 457.2
  max-board-height = 609.6
  solder-mask-registration = 0.15
  min-silk-solder-mask-space = 0.15
  min-silkscreen-text-height = 0.762
  min-th-pad-expand-outer = 0.15
  min-soldermask-opening = 0.152
  min-soldermask-bridge = 0.102
  min-hole-to-hole = 0.254
  min-pth-pin-solder-clearance = 3.0

...

set-rules(my-rules)

Introspection

print-current-rules() will print out the list of rules currently being applied and their current values.