1. MDK Contents
The NI FlexRIO Adapter MDK contains all the information necessary to enable the user to develop a custom adapter module. It comes with extensive documentation detailing the hardware and software interfaces to NI FlexRIO. The kit includes files and examples to get started. You will receive enclosures, front panels, PCB layout files, and mechanical drawings. Finally, the MDK users will have access to specialized NI FlexRIO MDK support resources and direct technical assistance from NI R&D. The following list details the exact contents of the MDK:
Documentation
- NI FlexRIO Adapter Module Development Kit User Manual
- MDK End-User License Agreement
- MDK Info Sheet
Software
- Example adapter module support files
- I2C access example VIs
Hardware
- 3 blank adapter module enclosures
- 1 windowed adapter module enclosure for probing circuitry
Design Files
- PCB outline mechanical drawing
- Card edge connector mechanical drawing
- Adapter module front panel mechanical drawing
Special Support Resources
- Direct R&D support via private email address
- One hour of NI R&D schematic/layout review time
2. Using the MDK to Create a Custom Adapter Module
The high-level steps to creating a custom adapter module are as follows:
1. Design and build adapter module—Schematic, layout, assembly, etc.
The MDK includes all the necessary drawings, layout files, and instructions to create a PCB that will mechanically and electrically interface with the NI FlexRIO FPGA module. Files are available in standard .dxf and .dwg format for use with your own PCB design tools.
2. Register IO Module ID and program ID EEPROM
Instructions to program the EEPROM are contained in the NI FlexRIO Adapter Module Development Kit User Manual.
3. Create adapter module definition file (.tbc)
The definition file makes the module appear in the LabVIEW development environment and defines certain electrical characteristics of the module. There are instructions and example files included in the MDK.
4. Create adapter module CLIP (HDL and XML)
The Component-level IP (CLIP) and an XML description of the adapter module establishes the mapping of individual input and output ports from your hardware to LabVIEW. The MDK contains documentation and examples of these files.
5. Write LV FPGA VI for adapter module and CLIP
After all of the interfaces are defined, use LabVIEW FPGA to communicate to your custom adapter module and develop the rest of your system. Included in the MDK, you will receive examples and documentation of FPGA design VIs, examples using DMA to communicate across the PXI bus, and example host programs.
Successful adapter module development requires you and/or your team to have the following skills:
- PCB design—Schematic and layout
- PCB manufacturing/assembly
- HDL development/integration
- LabVIEW and LabVIEW FPGA development

3. Adapter Module Electrical Interface
The adapter module interface is designed to expose the full power and flexibility of the Virtex-5 FPGA I/O while keeping a general interface for diverse adapter module applications. This interface includes fixed and configurable power rails as well as defined control signals for adapter module detection and identification. Here is a summary of the physical interface between the NI FlexRIO FPGA and adapter module.
Power rails
- +3.3V, +12V rails
- Configurable VccoA and VccoB rails for FPGA I/O banks and adapter module (set to 1.2, 1.5, 1.8, 2.5, 3.3)
General Purpose FPGA I/O
- 132 Single-ended lines (configurable as 66 differential pairs) from the Virtex-5 FPGA connected to the adapter module
- FPGA I/O banks (powered by VccoA and VccoB)
- Trace impedance: 50 Ohm single-ended, 100 Ohm differential
Clocking
- Two global clock inputs from adapter module to NI FlexRIO FPGA
- One 3.3V LVTTL input
- One 2.5 LVDS differential pair input
Control
- Two IO Module status handshaking signals to NI FlexRIO FPGA (present and power good)
- I2C bus for IO Module identification EEPROM
4. Adapter Module Mechanical Details
The standard NI FlexRIO adapter module design is a PCB which fits in a metal enclosure that can be mounted onto the face of the NI FlexRIO FPGA module. NI recommends that all adapter modules conform to these mechanical requirements, although some applications may require other dimensions. Operating outside of these recommendations would require modified enclosure/mounting solutions.
Adapter Module PCB Dimensions
The adapter module PCB is about 3.6 in. wide by 4.3 in. tall (not including the edge connector area). This provides about 14 sq. in. for adapter module circuitry on each side. The recommended PCB thickness is 0.062 in. (1.57 mm) ±10%. The secondary side should only be used for small passives as the height clearance is 0.05 in. (1.27 mm). [v1] The interface to the NI FlexRIO FPGA module utilizes an edge connector. This removes the need for special connectors on all adapter modules, however, it does require specific PCB manufacturing specifications. Layout files and mechanical drawings of the card edge connector are included in the MDK.

Adapter Module Enclosure
The adapter module enclosure is a two-piece clamshell design. The PCB attaches via four mounting screws. It includes alignment pins and mounting screws for connecting to the NI FlexRIO FPGA module. The MDK includes three total enclosures and one windowed enclosure to allow direct probing for debugging.

Adapter Module Front Connector Window
The adapter module enclosure includes a slot to capture the front panel connector face. This front panel is a simple metal rectangle that can be customized based on the required connectors. The MDK includes four blank front panel faces. The following figure shows an example front panel with two BNC connectors:

5. For more information
- Join the NI FlexRIO Community
- NI FlexRIO Adapter MDK
- Third-party adapter modules and services for NI FlexRIO
- NI FlexRIO Frequently Asked Questions (FAQ)
