IPNet - LabVIEW FPGA Functions and Example IP
Overview
The LabVIEW FPGA IPNet is your one-stop resource for browsing, understanding, and downloading LabVIEW FPGA functions or IP (intellectual property). The table below is a collection of FPGA IP and examples gathered from the LabVIEW FPGA function palette, internal National Instruments developers, and the LabVIEW FPGA community. You should use this resource to acquire IP that you need for your application, download examples to help learn programming techniques, and explore the depth of IP offered by the LabVIEW FPGA platform. In addition to exploring what is offered here, you can also share your LabVIEW FPGA IP or submit an update to existing IP for the LabVIEW community by clicking the link below.
Note:
Code Maturity of 1 = unreleased or untested code. Minimum flexibility and/or usability.
Code Maturity of 5 = fully tested, shipping IP. Maximum flexibility and usability.
* indicates example or IP is coming soon.
Table of Contents
Discuss and Request: IPNet Forum Thread
Style Guidelines for FPGA IP: LabVIEW FPGA Design for Code Modules (IP Cores)
Integrate 3rd Party HDL IP with CLIP: Integrate IP using CLIP (tutorial), CLIP XML Wizard
FPGA Module Concepts: LabVIEW FPGA Manual
LabVIEW FPGA Training Module: LabVIEW FPGA Training Material
Math
Name |
LabVIEW Version |
IP or Example |
Source |
Code Maturity |
|
8.5,8.6 |
IP |
5 |
||
| Multiply (LV FPGA) | 8.6 | IP | LabVIEW FPGA | 5 |
|
8.5,8.6 |
IP |
5 |
||
| Divide (LV FPGA) | 8.6 | IP | LabVIEW FPGA | 5 |
| Divide (INT Scaling) | 8.0 | Example | Developer Zone | 3 |
|
8.5,8.6 |
IP |
5 |
||
| Reciprocal (LV FPGA) | 8.6 | IP | LabVIEW FPGA | 5 |
|
8.5,8.6 |
IP |
5 |
||
| Square Root (LV FPGA) | 8.6 | IP | LabVIEW FPGA | 5 |
|
8.5,8.6 |
IP |
5 |
||
|
8.5,8.6 |
IP |
5 |
||
| Inverse Sine (aSin) |
8.6 | IP | Community | 4 |
| Inverse Sine (aSin - Four Quadrant) | 8.6 | IP | Community | 4 |
|
8.5,8.6 |
IP |
5 |
||
|
8.5,8.6 |
IP |
5 |
||
|
8.5,8.6 |
IP |
5 |
||
|
8.5,8.6 |
IP |
5 |
||
|
8.5,8.6 |
IP |
5 |
||
|
8.5,8.6 |
IP |
5 |
||
|
8.5,8.6 |
IP |
5 |
||
|
8.5,8.6 |
IP |
5 |
||
|
8.5,8.6 |
IP |
5 |
||
| Multiply Accum (Virtex5 DSP48E) | 8.5 | IP | Developer Zone | 4 |
|
8.5, 8.6 |
IP |
5 |
||
|
8.5, 8.6 |
IP |
5 |
||
| Linear Interpolation | 8.5, 8.6 | IP | LabVIEW FPGA | 5 |
|
8.2 |
IP |
3 |
||
|
8.5 |
IP |
3 |
||
|
8.5 |
IP |
2 |
||
|
8.5 |
IP |
2 |
||
|
8.5 |
IP |
3 |
||
|
8.5 |
IP |
2 |
||
|
8.5 |
IP |
2 |
||
|
8.5 |
IP |
3 |
||
|
8.5 |
IP |
3 |
Signal Processing and Measurements
Name |
LabVIEW Version |
IP or Example |
Source |
Code Maturity |
|
8.2, 8.5, 8.6 |
IP |
5 |
||
|
8.5, 8.6 |
IP |
5 |
||
|
8.0, 8.2, 8.5, 8.6 |
IP |
5 |
||
|
8.6 |
IP |
5 |
||
| Octave Filter | 8.5 | Example | Developer Zone | 3 |
|
8.6 |
IP |
5 |
||
| Streaming FFT | 8.6 | IP | LabVIEW FPGA | 5 |
| Inverse FFT | 8.6 | IP | LabVIEW FPGA | 5 |
| Clarke Transform | 8.6 | IP | Community | 3 |
| Inverse Clarke Transform | 8.6 | IP | Community | 3 |
| Park Transform | 8.6 | IP | Community | 3 |
| Inverse Park Transform | 8.6 | IP | Community | 3 |
|
8.2, 8.5, 8.6 |
IP |
5 |
||
|
8.2, 8.5, 8.6 |
IP |
5 |
||
|
8.2, 8.5, 8.6 |
IP |
5 |
||
|
8.2, 8.5, 8.6 |
IP |
5 |
||
|
8.2, 8.5, 8.6 |
IP |
5 |
||
|
8.2, 8.5, 8.6 |
IP |
5 |
||
|
8.2 |
IP |
4 |
||
|
7.1 |
IP |
2 |
||
| Rational Resampling | 8.6 | IP | LabVIEW FPGA | 5 |
| Median Filter | 8.5.1 | IP | Community | 3 |
| Hanning Window | 8.6 | IP | LabVIEW FPGA | 5 |
| Hamming Window | 8.6 | IP | LabVIEW FPGA | 5 |
| Blackman-Harris Window | 8.6 | IP | LabVIEW FPGA | 5 |
| Exact Blackman Window | 8.6 | IP | LabVIEW FPGA | 5 |
| Blackman Window | 8.6 | IP | LabVIEW FPGA | 5 |
| Flat-Top Window | 8.6 | IP | LabVIEW FPGA | 5 |
| 4-Term B-Harris Window | 8.6 | IP | LabVIEW FPGA | 5 |
| 7-Term B-Harris Window | 8.6 | IP | LabVIEW FPGA | 5 |
| Low Sidelobe Window | 8.6 | IP | LabVIEW FPGA | 5 |
Data Manipulation, Transfer, and Storage
Name |
LabVIEW Version |
IP or Example |
Source |
Code Maturity |
|
8.2, 8.5, 8.6 |
IP |
5 |
||
| VI- or Target-Scope FIFO | 8.2, 8.5, 8.6 | IP | LabVIEW FPGA | 5 |
| Memory Read/Write (FPGA Block RAM) | 8.2, 8.5, 8.6 | IP | LabVIEW FPGA | 5 |
| Split/Join Number | 8.0, 8.2, 8.5, 8.6 | IP | LabVIEW FPGA | 5 |
| Rotate Right/Left | 8.0, 8.2, 8.5, 8.6 | IP | LabVIEW FPGA | 5 |
| Swap Bytes/Words | 8.0, 8.2, 8.5, 8.6 | IP | LabVIEW FPGA | 5 |
| Numeric Conversion | 8.0, 8.2, 8.5, 8.6 | IP | LabVIEW FPGA | 5 |
| Number To/From Boolean Array | 8.0, 8.2, 8.5, 8.6 | IP | LabVIEW FPGA | 5 |
| Binary to BCD to ASCII | 8.5 | IP | Community | 3 |
| Look-up Table | 8.0, 8.2, 8.5, 8.6 | IP | LabVIEW FPGA | 5 |
| Array Manipulation Functions | 8.0, 8.2, 8.5, 8.6 | IP | LabVIEW FPGA | 5 |
| Boolean Functions | 8.0, 8.2, 8.5, 8.6 | IP | LabVIEW FPGA | 5 |
|
8.5 |
IP |
3 |
||
| Loop Benchmark Timer | 8.5 | IP | Developer Zone | 4 |
| Sort Array (Bubble Sort) | 8.5 | IP | Community | 3 |
| 64X64 Virtual Digital Switch Matrix | 8.5 | IP | Developer Zone | 3 |
| FPGA On-chip Debug Library | 8.5 | IP | Developer Zone | 4 |
RF and Communications
Name |
LabVIEW Version |
IP or Example |
Source |
Code Maturity |
|
8.2, 8.5 |
IP |
3 |
||
| FM Demodulation | 8.5.1 | IP | NI Labs | 4 |
| IQ Fractional Resampler (Upsampling) | 8.5.1 | IP | NI Labs | 4 |
| IQ Fractional Resampler (Downsampling) | 8.5.1 | IP | NI Labs | 4 |
| On-Off Keying Modulator | 8.5.1 | IP | NI Labs | 4 |
| On-Off Keying Demod (Burst) | 8.5.1 | IP | NI Labs | 4 |
| Diff. Binary Phase Shift Keying (DBPSK) Demod | 8.5.1 | IP | NI Labs | 4 |
| Quadrature Phase-Shift Keying (QPSK) Demod | 8.5.1 | IP | NI Labs | 4 |
| Reed-Solomon Encoder | 8.5.1 | IP | NI Labs | 4 |
| Reed-Solomon Decoder | 8.5.1 | IP | NI Labs | 4 |
| Viterbi Decoding | 8.5.1 | IP | NI Labs | 4 |
| Lock-In Amplifier | 8.5 | IP | Community | 4 |
Data Acquisition and Triggering
Name |
LabVIEW Version |
IP or Example |
Source |
Code Maturity |
|
8.2 |
Example |
4 |
||
|
160 Correlated DIO* |
8.2 |
Example |
4 |
|
|
8.2 |
Example |
4 |
||
|
8.2 |
Example |
4 |
||
|
8.5 |
Example |
3 |
||
|
8.5 |
IP |
3 |
||
|
7.0 |
Example |
4 |
||
|
8.5 |
IP |
3 |
||
|
8.5 |
Example |
3 |
||
|
7.1, 8.0 |
Example |
4 |
||
| Reference Triggering on FPGA | 8.5 | Example | Developer Zone | 3 |
|
8.5 |
IP |
4 |
||
|
8.5 |
IP |
4 |
||
|
8.2 |
Example |
4 |
||
|
7.1 |
Example |
4 |
||
|
8.2 |
Example |
4 |
||
|
8.2.1 |
IP |
3 |
||
|
7.1 |
IP |
3 |
||
|
7.1 |
Example |
4 |
||
| Two-Edge Separation | 8.6 | IP | Community | 3 |
| Rising Edge Delay | 8.6 | IP | Community | 4 |
| Interrupt | 8.0, 8.2, 8.5, 8.6 | IP | LabVIEW FPGA | 5 |
| Occurance | 8.0, 8.2, 8.5, 8.6 | IP | LabVIEW FPGA | 5 |
| Semaphore | 8.5.1 | IP | Developer Zone | 4 |
| 64-bit Tick Count | 8.5.1 | IP | Developer Zone | 4 |
| Synchronize Multiple cRIOs | 8.0 | Example | Developer Zone | 3 |
Signal Generation
Name |
LabVIEW Version |
IP or Example |
Source |
Code Maturity |
|
8.5.1 |
Example |
3 |
||
|
8.0, 8.2, 8.5 |
IP |
5 |
||
|
8.5 |
IP |
5 |
||
|
7.1 |
IP |
2 |
||
|
8.5 |
IP |
3 |
||
|
7.1 |
Example |
3 |
||
|
7.1 |
Example |
3 |
||
|
7.1 |
Example |
3 |
||
|
7.1 |
Example |
3 |
||
|
8.5 |
IP |
5 |
||
|
8.5 |
IP |
5 |
||
|
VGA Signal Generation* |
8.0 |
IP |
2 |
|
|
Audio Output Example* |
8.0 |
Example |
2 |
|
|
7.1 |
Example |
3 |
||
|
8.2 |
Example |
4 |
||
| PWM output (Center-Aligned) | 8.6 | IP | Community | 4 |
| PWM Triangle wave | 8.6 | IP | Community | 4 |
| Space-Vector Generator | 8.6 | IP | Community | 4 |
Control
Name |
LabVIEW Version |
IP or Example |
Source |
Code Maturity |
|
8.0, 8.2, 8.5, 8.6 |
IP |
5 |
||
|
8.0, 8.2, 8.5, 8.6 |
IP |
5 |
||
|
8.0, 8.2 |
IP |
5 |
||
| Field-Oriented Controller (FOC) | 8.6 | Example | Community | 4 |
| Half-Bridge Controller (H-Bridge) | 8.6 | IP | Community | 4 |
| Spline Interpolation | 8.0, 8.2, 8.5, 8.6 | IP | SoftMotion | 5 |
| Look-up Table for Sinusoidal (V/f) Control | 8.6 | IP | Community | 4 |
|
8.0, 8.2, 8.5, 8.6 |
IP |
5 |
||
|
8.0, 8.2, 8.5, 8.6 |
IP |
5 |
||
|
8.0, 8.2, 8.5, 8.6 |
IP |
5 |
||
|
8.0, 8.2, 8.5, 8.6 |
IP |
5 |
||
|
8.0, 8.2, 8.5, 8.6 |
IP |
5 |
||
|
8.0, 8.2, 8.5, 8.6 |
IP |
5 |
||
|
8.0, 8.2, 8.5, 8.6 |
IP |
5 |
||
|
8.0, 8.2, 8.5, 8.6 |
IP |
5 |
||
|
8.0, 8.2, 8.5, 8.6 |
IP |
5 |
||
|
8.0, 8.2, 8.5, 8.6 |
IP |
5 |
||
|
8.0, 8.2, 8.5, 8.6 |
IP |
5 |
||
|
8.0, 8.2, 8.5, 8.6 |
IP |
5 |
||
|
8.0, 8.2, 8.5, 8.6 |
IP |
5 |
||
|
8.0, 8.2, 8.5, 8.6 |
IP |
5 |
||
|
8.0, 8.2, 8.5, 8.6 |
IP |
5 |
||
|
8.0, 8.2, 8.5, 8.6 |
IP |
5 |
||
|
8.0, 8.2, 8.5, 8.6 |
IP |
5 |
||
|
8.0, 8.2, 8.5, 8.6 |
IP |
5 |
||
Digital Buses and Protocols
Name |
LabVIEW Version |
IP or Example |
Source |
Code Maturity |
|
7.0 |
Example |
4 |
||
|
8.2 |
IP |
4 |
||
|
7.1 |
Example |
4 |
||
|
7.0, 8.2 |
Example |
2 |
||
|
8.2 |
IP |
4 |
||
|
8.2 |
IP |
3 |
||
|
8.2 |
IP |
3 |
||
|
8.2 |
IP |
3 |
||
|
7.1 |
Example |
3 |
||
|
7.1 |
Example |
3 |
||
|
8.5 |
IP |
3 |
||
| Direct Stream Digital® Decode | 8.5 | Example | Developer Zone | 3 |
|
8.5 |
IP |
3 |
||
|
8.0 |
Example |
3 |
||
| Num to 7-Segment LED | 8.5 | IP | Community | 3 |
| 1-wire protocol (DS2432) | 8.5 | IP | Community | 3 |
Related Links:
Developing Digital Communication Interfaces
Simulation
Name |
LabVIEW Version |
IP or Example |
Source |
Code Maturity |
|
7.1 |
Example |
3 |
||
|
7.1 |
Example |
3 |
||
|
7.1 |
Example |
3 |
||
|
8.2 |
IP |
4 |
||
|
8.6 |
IP |
3 |
||
| Euler's Method - Diff Eq 1st Order Solver | 8.6 | IP | Community | 3 |
Encryption
Name |
LabVIEW Version |
IP or Example |
Source |
Code Maturity |
|
8.5 |
IP |
3 |
||
|
8.5 |
IP |
3 |
Submit Your LabVIEW FPGA IP or Example Program
You can share your LabVIEW FPGA IP or submit an update to existing IP for the entire LabVIEW FPGA community. Click here for a simple 3 step process to submit IP to the LabVIEW Developer Zone Community.
You can also,
-
Discuss or Request IP on the IPNet Discussion Forum
-
For questions about the LabVIEW FPGA IPNet, please email ipnet@ni.com.
-
For questions about NI Community, please refer to the Frequently Asked Questions (FAQ) about NI Community.
Related Links:
Browse LabVIEW FPGA Customer Case Studies
View LabVIEW FPGA Webcasts on Demand
National Instruments LabVIEW FPGA Module
Reader Comments | Submit a comment »
Legal
This tutorial (this "tutorial") was developed by National Instruments ("NI"). Although technical support of this tutorial may be made available by National Instruments, the content in this tutorial 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 content with each new revision of related products and drivers. THIS TUTORIAL 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/).
