Operating the Crosspoint Switch Module
Once the Crosspoint Switch module has been configured and the design processed and downloaded into the physical FPGA device, the instrument can be used. Displays and controls for the instrument can be found on the device's associated instrument panel. This panel enables you to effectively use the instrument in your design.
The following sections detail how the instrument panel is accessed, and subsequent use of the panel to switch signals.
Accessing the Crosspoint Switch Module's Instrument Panel
The host computer is connected to the target Crosspoint Switch module using the IEEE 1149.1 (JTAG) standard interface. This is the physical interface, providing connection to physical pins of the FPGA device in which the instrument has been embedded.
The Nexus 5001 standard is used as the protocol for communications between the host and all devices that are debug-enabled with respect to this protocol. This includes the crosspoint switch modules, as well as other Nexus-compliant devices such as debug-enabled processors, frequency generators, logic analyzers, counters and digital I/O modules.
All such devices are connected in a chain – the Soft Devices chain – which is determined when the design has been implemented within the target FPGA device and presents within the Devices view (Figure 1). It is not a physical chain, in the sense that you can see no external wiring – the connections required between the Nexus-enabled devices are made internal to the FPGA itself.
For instruments such as the Crosspoint Switch module, the Nexus protocol enables you to access the registers used for controlling the device. These registers are not exposed as such, rather input to them is provided through an instrument panel, which allows you to view and set the required internal connections between input and output blocks.
The controls for a Crosspoint Switch module used in a design can be accessed from the Devices view. Simply double-click on the icon representing the CROSSPOINT_SWITCH device whose controls you wish to access, in the Soft Devices region of the view. The Instrument Rack - Soft Devices panel will appear, with the chosen instrument added to the rack (Figure 2).
Figure 2. Accessing the Crosspoint Switch Module instrument panel.
Each CROSSPOINT_SWITCH device that you have included in the design will appear, when double-clicked, as an instrument in the rack (along with any other Nexus-enabled devices).
Switching Signals
The INPUTS region of the instrument panel lists all of the defined input blocks for the instrument. Likewise, the OUTPUTS region lists all defined output blocks. The initial connections defined during configuration of the instrument are also present, showing which input blocks connect to which output blocks.
To make a signal switch on-the-fly – from the instrument panel – you simply change the connections between blocks as required. This is performed in much the same way as it is in the Crosspoint Switch Configuration dialog:
- To delete an existing connection, click the Remove Connection button on the instrument panel, then click on the required output block whose associated connection you wish to remove. As you hover over a connected output block, its connection line will be highlighted in red, to indicate the connection that will be removed.
- To add a connection, click the Add Connection button on the panel. Then, for the blocks you wish to connect, click first on the output block and then on the input block. After clicking on the output block, hovering over an input block will show a green connection line, to indicate how the connection will appear when you click on that input block.
At the bottom-left of the instrument panel is an indicator which is used to reflect the synchronization state between the panel and the instrument in the FPGA design:
– | The connections displayed on the instrument panel are the same as those defined for the instrument in the FPGA design. |
– | The connections displayed on the instrument panel differ from those for the instrument in the FPGA design. A change to connectivity has been made local to the instrument panel and must be passed to the instrument in the design. |
Once any change to connectivity has been made on the instrument panel, you can pass that change down to the instrument in the FPGA design, and resynchronize, by clicking on the Apply button.
To illustrate this switching of signals by example, consider the circuitry of Figure 5.
The initial connections for the Crosspoint Switch module are:
AIN
connected toCOUT
BIN
connected toAOUT
We will assume that the initial value for each of the output signals generated by the Digital I/O module is 0000h
. Figure 6 shows the initial state of the instrument panels for the two devices.
With the connections for the Crosspoint Switch module configured in this way, the following can be observed:
- If the values for digital outputs
X_Addr
andX_Data
are changed, the values chosen will be fed through the Crosspoint Switch module and displayed by inputsChannelC_Addr
andChannelC_Data
respectively.
- If the values for digital outputs
Y_Addr
andY_Data
are changed, the values chosen will be fed through the Crosspoint Switch module and displayed by inputsChannelA_Addr
andChannelA_Data
respectively.
Figure 7 shows the input signals for the DIGITAL_IO device when the following values are set for the four outputs:
X_Addr
=FF00h
X_Data
=00FFh
Y_Addr
=0F0Fh
Y_Data
=F0F0h
Now, using the instrument panel for the Crosspoint Switch module, let us delete the current connection linking AIN
to COUT
, and make a new connection, from AIN
to BOUT
– remembering to click the Apply button afterwards, to resynchronize the panel with actual device in the FPGA design.
Figure 8 illustrates both the change in connections on the instrument panel for the CROSSPOINT_SWITCH, as well as the resulting input signals displayed on the instrument panel for the DIGITAL_IO device.
As you can see:
ChannelA_Addr
andChannelA_Data
signals are unchanged, as the connection fromBIN
toAOUT
was untouched. They still reflect and follow the values for theY_Addr
andY_Data
outputs.
ChannelB_Addr
andChannelB_Data
signals now reflect and follow theX_Addr
andX_Data
outputs, after performing the signal switching.
ChannelC_Addr
andChannelC_Data
signals still show their previous values, as theCOUT
output block retains the last values output for the signals in the block. If theX_Addr
andX_Data
outputs are subsequently changed in value however, these inputs will no longer reflect that change.