LabVIEW User Group Meeting
Long Island Chapter September 11th 2008
LabVIEW FPGA and CompactRIO
Wei Lin, PhD Department of Biomedical Engineering Stony Brook University 631-632-1639 Email: wei.lin@sunysb.edu
What is FPGA?
A field-programmable gate array is a semiconductor device containing programmable logic components called "logic blocks", and programmable interconnects.
From: Wikipedia
Typical FPGA Structure
Logic Block I/O Block
Interconnects
Inside the I/O Block
FPGA Configurable I/O block (Xilinx)
Inside the Logic Block
FPGA Configurable logic block (CLB) (Xilinx)
Inside Interconnect
FPGA programmable interconnect (Xilinx) Two types of interconnect: Local and Global
FPGA Design Flow
Design: determine functionality and describe the functionality using hardware description language such as VHDL. Verification: Use simulator to verify functionality. Synthesis: Use CAD tools generate optimized bit-stream file to program the FPGA.
The process has a steep learning curve.
LabVIEW FPGA
The NI LabVIEW FPGA Module uses LabVIEW graphic program technology to generate bitstream file for FPGA. LabVIEW FPGA Module can simulate the functionality of FPGA Advantages of LabVIEW FPGA module:
Easy to use, no requirement on the knowledge of HDL The parallel processing of LabVIEW is well fit for FPGA
Limitation of LabVIEW FPGA module:
It currently targets NI FPGA hardware such as CompactRIO.
LabVIEW FPGA Features
Graphic Design Built-in VIs for Control, Filtering, and Signal Generation IP Implementation of FIFO, DMA and interrupt HDL Interface Node to import HDL code Fixed-point support Component-Level IP (CLIP)
NI CompactRIO System
NI CompactRIO system is an advanced embedded system for data acquisition. Its open architecture, small form factor and extreme ruggedness enables engineers to quickly build custom embedded systems.
NI CompactRIO System
Running RT VIs on controller
FPGA code for chassis backbone
CompactRIO I/O Module
LabVIEW VI Design for CompactRIO
Ethernet Cable
Host VIs
RT VIs
FPGA VIs
Three types of VIs required. CompactRIO can run independently from host PC.
Applications of LabVIEW FPGA
Embedded control system Communication protocol evaluation Hardware in the loop