2.1.1 Ports

Port components represent the interface between a hierarchical layer and the layer above and are strictly input or output.

An input port is an input to the CLB:

An output port is an output from the CLB:

There are two main categories of ports:
  • I/O ports (Global)
  • Off-sheet ports (hierarchical)

Global Input Ports

Global I/O ports represent the interface to other peripherals on the MCU. To place an input port, drag and drop the input port symbol onto the canvas and select the I/O option in the Properties panel.

The selection box specifies to which signal the input is mapped.
Note: Selecting a signal to be used as an input does not configure the actual source of that signal. Make sure to configure the peripheral or clock source to produce the signal.

Input ports from other peripherals have one of four synchronizer options selected in the Input Synchronizer options box. For more information, see Input Synchronizers.

Input ports from the CPU do not have synchronizer options. For more information, see Using CLBSWIN.

Usually, the global ports are used only at the top level (main), but there are cases in which it makes sense to use global input ports on sub-sheets. It is also possible to use the same input signal with an alternative synchronizer option - in which case a second input port symbol must be used, and the alternative synchronizer option applied to that input.

Global output ports

To place an output port, drag and drop the output port symbol onto the canvas and select the I/O option in the Properties panel.

The selection box specifies to which signal the output is mapped.
Note: Selecting a signal to be used as an output does not configure the actual destination of that signal. Make sure to configure the peripheral to use the signal as its input.
For more information on output signals, see CLB Outputs to other Peripherals.

Off-Sheet I/O Ports

Off-sheet ports represent the interface from the module defined on that particular sheet to the sheets in which the module is used. To place an off-sheet port, drag and drop the input or output symbol onto the canvas, select the Off-Sheet Port option in the Properties panel, and give the signal an appropriate name.
Note: Verilog keywords and other reserved words cannot be used as sheet or signal names.

For more information on hierarchical design, see Using Hierarchical Modules.