Bundle Statements
A pcb-bundle
definition groups a set of pins. Bundles can include ports and other bundles. You can connect bundles using a net
statement, or use supports
and require
statements with bundles for automated pin assignment.
For example we can create a bundle for an i2c bus with the following statement:
pcb-bundle i2c:
port sda
port scl
Bundles can be parametric and include other bundles. Here is a definition for a bank of lvds pins of variable size:
pcb-bundle diff-pair :
port N
port P
pcb-bundle lvds-bank (width:Int) :
port clk : diff-pair
port data : diff-pair[width]
You can make bundles parametric to represent optional pins. Here's an example of a parametric SWD bundle, that can optionally include the SWO pin:
pcb-bundle swd (swo:True|False) :
port swdio
port swclk
port reset
if swo :
port swo
Statements
Here is the list of all of the statements you can use in a pcb-bundle
:
Statement | Description |
---|---|
name | Name of the bundle |
description | Description for the bundle |
ports | Creates elements you can connect to |