Agenda
• Programming FPGAs
• Why Are They Useful?
• NI FPGA Hardware
• Common Applications for FPGAs
• How to Learn More
FPGA Technology
Programmable
Interconnects
Logic
Blocks
I/O Blocks
FPGA Logic Implementation
Implementing Logic on FPGA: F = {(A+B)CD} E
LabVIEW FPGA Code E F
A
B
C
D
Demo
• Filter
LabVIEW FPGA Code Abstraction
Counter Analog I/O I/O with DMA
LabVIEW FPGA VHDL ~4000 lines
LabVIEW FPGA Module
FPGA
• LabVIEW code is translated to hardware
circuitry implemented on the FPGA
• Natural representation of FPGA logic
Demo
• Simple I/O
Agenda
• Programming FPGAs
• Why Are They Useful?
• NI FPGA Hardware
• Common Applications for FPGAs
• How to Learn More
Why Are They Useful?
• True Parallelism – Provides parallel tasks and pipelining
• High Reliability – Designs become a custom circuit
• High Determinism – Runs algorithms at deterministic
rates down to 25 ns (faster in many cases)
• Reconfigurable – Create new and alter existing task-
specific personalities
True Parallelism
E
F
A
B
C
D
Z
W X Y
High Reliability and Determinism
Decision Making in Software Multiple Software Layers
Application Software
Operating System
Calculation
Driver API
Hardware
~25 ms
UUT Response
Outputs
High Reliability and Determinism
Decision Making in Hardware
Highest
Application Software
Operating System
Determinism
Calculation
Driver API
Hardware
25 ns*
UUT Response
Outputs
* Faster response for
80 and 120 MHz clocks Highest Reliability
Demo
• AI, AO, Custom Threshold logic
From LabVIEW to Hardware
Translation Optimization Synthesis Bit Stream
VHDL Generation Analysis Place and Route Generation
Logic Reduction Timing Verification Download/Run
Agenda
• Programming FPGAs
• What Are FPGAs and Why Are They Useful?
• NI FPGA Hardware
• Common Applications for FPGAs
• How to Learn More
What Is RIO Technology?
FPGA
• Use NI LabVIEW to design custom hardware
circuitry with off-the-shelf devices
NI LabVIEW FPGA Hardware Targets
R Series NI CompactRIO NI NI FlexRIO Other
Multifunction •Industrial Control SingleboardRIO •Manufacturing Test •RIO IF Transceiver
RIO and Monitoring •Embedded Systems and Design •PCIe Framegrabbers
Validation •Compact Vision
•General Purpose
I/O for System
Measurement and
Control
Agenda
• Programming FPGAs
• What Are FPGAs and Why Are They Useful?
• NI FPGA Hardware
• Common Applications for FPGAs
• How to Learn More
Common Applications
• High-speed control
• Custom DAQ
• Digital communication protocols
• Sensor simulation
• Onboard processing and data reduction
Common Applications
• High-speed control
• Custom DAQ
• Digital communication protocols
• Sensor simulation
• Onboard processing and data reduction
• Coprocessing
High-Speed Control
About 200 kHz loop rate
Common Applications
• High-speed control
• Custom DAQ
• Digital communication protocols
• Sensor simulation
• Onboard processing and data reduction
Customize Your DAQ Device
• Custom timing & synchronization
• Multi-rate sampling
• Custom triggering
• Custom counters
• Flexible PWM
• Flexible encoder interface
Custom Triggered Analog Input
Common Applications
• High-speed control
• Custom DAQ
• Digital communication protocols
• Sensor simulation
• Onboard processing and data reduction
Digital Communication
Example – SPI
Common Applications
• High-speed control
• Custom DAQ
• Digital communication protocols
• Sensor simulation
• Onboard processing and data reduction
Sensor Simulation and FPGA
• Fully customizable hardware – Many types of sensors
• Parallelism – Many sensors on chip with no interference
• Strict timing requirements – Deterministic or highly
realistic
• Onboard processing – Engineering units to sensor signals
Sensor Signals
Common Applications
• High-speed control
• Custom DAQ
• Digital communication protocols
• Sensor simulation
• Onboard processing and data reduction
Onboard Processing and Data
Reduction
Built-In I/O Processing Output
• Analog voltages • Encoding/decoding • DMA preprocessed data
• Digital communications • Filtering/averaging • Streaming from input to
• Sensor signals • Modulation/ output without host
demodulation involvement
• Decimation
• Stream processing DMA to
Input Host
Process Output
Intellectual Property (IP)
FFT
DC/RMS
Waveform Averaging
Digital filtering
Windowing
Resampling
LabVIEW FPGA Math
IPNet Signal Processing
[Link]/ipnet
Data Manipulation and Transfer
RF and Communications
Digital Protocols
Data Acquisition
Signal Generation
Control
Sensor Simulation
More than 200 IP cores and examples
HDL-Based IP in LabVIEW FPGA
• HDL Interface Node
Inline HDL integration
• Component-Level IP Node
Parallel HDL integration
How to Learn More
Questions?
[Link]/fpga [Link]/training
2 Day LabVIEW FPGA
Module Course