Digital 64x64 Switch Matrix Reference Example for LabVIEW FPGA
Overview
Acts as a dynamic 64x64 bit digital switch matrix. Any of the 64 inputs can be connected to any of the outputs. A single input can drive multiple outputs.
The matrix of connections from input to output can be remapped on the fly without recompiling the FPGA VI.
Downloads
Filename: fpga_switch_matrix_64x64.zip
Requirements: View
This example program implements a 64x64 bit digital switch matrix in FPGA. The example also includes a host VI that can update the lookup table of the switch matrix on the fly without recompiling the FPGA code. The host VI updates the look up table of the FPGA via DMA Transfer.
The functionality of the code is implemented by polling 64 digital inputs of the card and comparing them to a look up table in FPGA flash memory. Based on the matrix map in memory, the correct output values are then updated. Because this application polls the input values at 40Mhz, the output is updated within 2 us of a value change on the input. If an input pulse is shorter than 2 us, the FPGA may miss the input pulse and no resulting pulse may be output.
The example is compiled for a PXI-7833R card. Because the PXI-7833R has only 96 DIO line, the effective matrix built on this card is 48x48. You can Create a 64x64 matrix by adding the additional lines to the project and VI and then recompiling.
Signal Connections:
Digital Input Ports: DIO 0.0, 0.1, 1.1, 2.1, 3.1, 4.1
Digital Output Ports : DIO 1.0, 0.2, 1.2, 2.2, 3.2, 4.2
The example can easily be edited and recompiled for any of the RIO targets.
Requirements
Filename: fpga_switch_matrix_64x64.zip
Software Requirements
Application Software: LabVIEW Professional Development System
Toolkits and Add-Ons: LabVIEW FPGA Module
Language(s): LabVIEW
Hardware Requirements
Hardware Group: Reconfigurable I/O (RIO)
Hardware Model: PCI-7811R, PCI-7813R, PCI-7830R, PCI-7833R, PXI-7834R, PXI-7813R, PXI-7830R, PXI-7831R, PXI-7833R, PXI-7811R
Driver: NI-VISA, NI-RIO
Reader Comments | Submit a comment »
Legal
This example program (this "program") was developed by a National Instruments ("NI") Applications Engineer. Although technical support of this program may be made available by National Instruments, this program may not be completely tested and verified, and NI does not guarantee its quality in any way or that NI will continue to support this program with each new revision of related products and drivers. THIS EXAMPLE PROGRAM IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND AND SUBJECT TO CERTAIN RESTRICTIONS AS MORE SPECIFICALLY SET FORTH IN NI.COM'S TERMS OF USE (http://ni.com/legal/termsofuse/unitedstates/us/).
