No Connect Statement¶
The no-connect()
statement is a tool for marking a port on a component or module as "Not Connected". This is an indication to the JITX runtime that this port can be left floating without any ill-effect.
This statement can be used from the following contexts:
Signature¶
no-connect(<PORT>)
<PORT>
- The argument to this statement is expected to be aSinglePin
port from apcb-component
definition or instance.
Usage¶
The no-connect()
statement is typically used to mark individual pins as intentionally not connected:
public pcb-component component :
name = "XDCR_LIS3DHTR"
manufacturer = "STMicroelectronics"
mpn = "LIS3DHTR"
pin-properties :
[pin:Ref | pads:Int ... | side:Dir]
[CS | 8 | Left]
[GND | 5, 12 | Down]
...
[nc[0] | 2 | Down]
[nc[1] | 3 | Down]
[VDD-IO | 1 | Up]
make-box-symbol()
assign-landpattern(xdcr-lis3dhtr)
for i in indices(self.nc) do:
no-connect(self.nc[i])
Here the LIS3DHTR
has two "NC" pins, pin 2 and 3. This component defines these pins in a PortArray
of length 2. The for-loop at the end uses the indices command to loop over all the NC pins.
Here the LIS3DHTR
has two "NC" pins, pin 2 and 3. This component defines these pins in a PortArray
of length 2. The for-loop at the end uses the indices command to loop over all the NC pins.
Notice - that we did not pass self.nc
, the PortArray
, directly to the no-connect
statement. This would elicit an error.
When we view this component in the schematic, we see:
Notice the X
over the two NC pins. This is the "No Connect" representation in the schematic.
Usage from pcb-module
¶
When using this statement from a module, we must use the no-connect()
statement on one of the ports of the instantiated components in the module. It is an error to apply the no-connect()
statement to one of a module's ports.
public pcb-module module :
public inst acc : ocdb/components/st-microelectronics/LIS3DH/component
...
for i in indices(acc.nc) do:
no-connect(acc.nc[i])
Note that duplicate no-connect()
statements on a component's port will not throw an error.
If you attempt to use the no-connect
statement on a module's port:
pcb-module bad-module:
port unused : pin
no-connect(self.unused)
This will throw an exception:
Uncaught Exception: Tried to get type with an invalid definition.
Testing for "No Connect" Status¶
The no-connect? command can be used to interrogate a component and determine the "No Connect" status of its pins. The no-connect? command can be used to interrogate a component and determine the "No Connect" status of its pins.