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.