Skip to content

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>)
  • &lt;PORT> - The argument to this statement is expected to be a SinglePin port from a pcb-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:

no_connect

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.