Academic Company Events NI Developer Zone Support Solutions Products & Services Contact NI MyNI

IPNet - LabVIEW FPGA Functions and Example IP

41 ratings | 4.49 out of 5
Read in | Print

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.

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.

Discuss and Request: IPNet Forum Thread

Style Guidelines for FPGA IP: LabVIEW FPGA Design for Code Modules (IP Cores)

FPGA Module Concepts: LabVIEW FPGA Manual

LabVIEW FPGA Training Module: LabVIEW FPGA Training Material

Math

Name
LabVIEW Version
IP or Example
Source
Code Maturity
 Add 8.0-2009 IP LabVIEW FPGA 5
 High-Throughput Add 2009 IP LabVIEW FPGA 5
 Subtract 8.0-2009 IP LabVIEW FPGA 5
 High-Throughput Subtract 2009 IP LabVIEW FPGA 5
 Multiply 8.0-2009 IP LabVIEW FPGA 5
 High-Throughput Multiply 2009 IP LabVIEW FPGA 5
 Divide 8.6,2009 IP LabVIEW FPGA 5
 High-Throughput Divide

2009

IP

LabVIEW FPGA

5

 Divide (INT Scaling) 8.0 Example Developer Zone 3
 Quotient and Remainder 8.0-2009 IP LabVIEW FPGA 5
 Reciprocal 8.6-2009 IP LabVIEW FPGA 5
 High-Throughput Reciprocal

2009

IP

LabVIEW FPGA

5

 Square Root 8.6-2009 IP LabVIEW FPGA 5
 High-Throughput Square Root

2009

IP

LabVIEW FPGA

5

 High-Throughput Sine

2009

IP

LabVIEW FPGA

5

 High-Throughput Cosine

2009

IP

LabVIEW FPGA

5

 Inverse Sine (aSin) 8.6 IP Community 4
 Inverse Sine (aSin - Four Quadrant) 8.6 IP Community 4
 High-Throughput Arctangent2

2009

IP

LabVIEW FPGA

5

 Polar to Rectangular

2009

IP

LabVIEW FPGA

5

 Rectangular to Polar

2009

IP

LabVIEW FPGA

5

 High-Throughput Hyperbolic Sine

2009

IP

LabVIEW FPGA

5

 High-Throughput Hyperbolic Cosine

2009

IP

LabVIEW FPGA

5

 High-Throughput Exponential

2009

IP

LabVIEW FPGA

5

 High-Throughput Natural Logarithm

2009

IP

LabVIEW FPGA

5

 FXP AddSub

8.5,8.6

IP

Developer Zone

5

 Integer Accumulator

8.5,8.6

IP

Developer Zone

5

 Virtex5 DSP48E (MAC) Multiply Accumulate - Simple 8.5 IP Developer Zone 4
 Virtex5 DSP48E (MAC) Multiply Accumulate - Full Featured 2009 IP NI Labs 5
Scale by Power of Two 2009 IP LabVIEW FPGA 5
Numeric Rounding 2009 IP LabVIEW FPGA 5
 Linear Interpolation 2009 IP LabVIEW FPGA 5
Pseudo-Random Number Gen

8.2

IP

Community

3

Linear Fit Regression (PtByPt)

8.5

IP

Community

3

Temperature Conversion

8.5

IP

Community

2

2n Point-by-Point Average

8.5

IP

Community

2

2n Point Moving Average

8.5

IP

Community

3

8-Point Average (Parallel)

8.5

IP

Community

2

Max/Min/Range (PtByPt)

8.5

IP

Community

2

Range (PtByPt)

8.5

IP

Community

3

Histogram (PtByPt)

8.5

IP

Community

3

 Fixed-Array Cross-Correlation 8.6 IP Community 3
 Fixed-Array Autocorrelation 8.6 IP Community 3
 Least Common Multiple 8.6 IP Developer Zone 3
 Greatest Common Factor 8.6 IP Developer Zone 3
 Comparison Functions 8.0-2009 IP LabVIEW FPGA 5

 

Signal Processing and Measurements

Name
LabVIEW Version
IP or Example
Source
Code Maturity
Butterworth Filter

8.2-2009

IP

LabVIEW FPGA

5

Notch Filter

8.5-2009

IP

LabVIEW FPGA

5

Dolph-Chebyshev Filter (FIR)

8.2-2009

IP

DFD Toolkit

5

Kaiser Window Method Filter (FIR)

8.2-2009

IP

DFD Toolkit

5

Equi-Ripple Filter (Remez) (FIR)

8.2-2009

IP

DFD Toolkit

5

 Time-Domain Window Filter (FIR) 8.2-2009 IP DFD Toolkit 5
 Bessel Filter (IIR) 8.2-2009 IP DFD Toolkit 5
 Chebyshev Filter (IIR) 8.2-2009 IP DFD Toolkit 5
 Inverse Chebyshev Filter (IIR) 8.2-2009 IP DFD Toolkit 5
 Elliptical Filter (IIR) 8.2-2009 IP DFD Toolkit 5
 Least Pth Norm (FIR or IIR) 8.2-2009 IP DFD Toolkit 5
 Arbitrary Group Delay Allpass Filter 8.2-2009 IP DFD Toolkit 5
 Comb Filter (IIR) 8.2-2009 IP DFD Toolkit 5
 Notch/Peak Filter 8.2-2009 IP DFD Toolkit 5
 Max Flat Filter (FIR or IIR) 8.2-2009 IP DFD Toolkit 5
 Narrowband Filter (Interpolated FIR) 8.2-2009 IP DFD Toolkit 5
 Multirate Cascaded Integrator Comb (CIC) 8.2-2009 IP DFD Toolkit 5
 Multirate FIR 8.2-2009 IP DFD Toolkit 5
 Multistage Multirate Filter 8.2-2009 IP DFD Toolkit 5
 Multirate Halfband Filter 8.2-2009 IP DFD Toolkit 5
 Nyquist Filter 8.2-2009 IP DFD Toolkit 5
 Raised Cosine Filter 8.2-2009 IP DFD Toolkit 5
 Root-Raised Cosine Filter 8.2-2009 IP DFD Toolkit 5
Adaptive Filters (LMS)

8.6-2009

IP

AF Toolkit

5

 Octave Filter 8.5 Example Developer Zone 3
Fast Fourier Transform (FFT)

8.6,2009

IP

LabVIEW FPGA

5

 Streaming FFT 8.6,2009 IP LabVIEW FPGA 5
 Multichannel FFT 8.6 IP Community 3
 Circular Memory FFT 8.6 IP Community 3
 Multichannel Circular Memory FFT 8.6 IP Community 3
 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
DC - Mean (DC/RMS)

8.2-2009

IP

LabVIEW FPGA

5

Running Sum (DC/RMS) 

8.2-2009

IP

LabVIEW FPGA

5

Running Sum of Squares (DC/RMS) 

8.2-2009

IP

LabVIEW FPGA

5

Mean Square (DC/RMS)

8.2-2009

IP

LabVIEW FPGA

5

Root Mean Square (DC/RMS)

8.2-2009

IP

LabVIEW FPGA

5

Analog Period Measurement

8.2-2009

IP

LabVIEW FPGA

5

Four Channel Gain/Attenuate

8.2

IP

Community

4

Fuel Injector/Ignition Coil Angle/Time Measurements

8.2

IP

Community

4

Simple Alarming

7.1

IP

Community

2

 Rational Resampling 8.6 IP LabVIEW FPGA 5
 Median Filter 8.5.1 IP Community 3
 Hanning Window 8.6,2009 IP LabVIEW FPGA 5
 Hamming Window 8.6,2009 IP LabVIEW FPGA 5
 Blackman-Harris Window 8.6,2009 IP LabVIEW FPGA 5
 Exact Blackman Window 8.6,2009 IP LabVIEW FPGA 5
 Blackman Window 8.6,2009 IP LabVIEW FPGA 5
 Flat-Top Window 8.6,2009 IP LabVIEW FPGA 5
 4-Term B-Harris Window 8.6,2009 IP LabVIEW FPGA 5
 7-Term B-Harris Window 8.6,2009 IP LabVIEW FPGA 5
 Low Sidelobe Window 8.6,2009 IP LabVIEW FPGA 5

 

Data Manipulation, Transfer, and Storage

Name
LabVIEW Version
IP or Example
Source
Code Maturity
 Direct Memory Access (DMA) FIFO

8.2-2009

IP

LabVIEW FPGA

5

 VI- or Target-Scope FIFO 8.2-2009 IP LabVIEW FPGA 5
 Memory Read/Write (FPGA Block RAM) 8.2-2009 IP LabVIEW FPGA 5
 Fixed-Point to Integer Bitwise Cast 2009 IP LabVIEW FPGA 5
 Integer to Fixed-Point Bitwise Cast 2009 IP LabVIEW FPGA 5
 Fixed-Point Overflow Bit Handlers 8.0-2009 IP LabVIEW FPGA 5
 Split/Join Number 8.0-2009 IP LabVIEW FPGA 5
 Rotate Right/Left 8.0-2009 IP LabVIEW FPGA 5
 Swap Bytes/Words 8.0-2009 IP LabVIEW FPGA 5
 Numeric Conversion 8.0-2009 IP LabVIEW FPGA 5
 Number To/From Boolean Array 8.0-2009 IP LabVIEW FPGA 5
 Binary to BCD to ASCII 8.5 IP Community 3
 Lookup Table 8.0-2009 IP LabVIEW FPGA 5
 Array Manipulation Functions 8.0-2009 IP LabVIEW FPGA 5
 Boolean Functions 8.0-2009 IP LabVIEW FPGA 5
 Z-Transform Delay Element (SRL32) 8.0-2009 IP LabVIEW FPGA 5

Simple Binary Shift Register

8.5

IP

Community

3

 Basic Digital Elements (flip-flops, multiplexers, and so on) 8.6 IP Developer Zone 4
 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
 Watchdog Safety Architecture 8.5.1 Example Developer Zone 4
 Biphase Manchester Encoding 8.6 IP Community 3
 16-Bit Cyclic Redundancy Checker (CRC) 8.6 IP Community 3
 8-Bit Fibonacci Linear Feedback Shift Reg (LFSR) 8.6 IP Community 3
Fixed-Point to Floating-Point (SGL) Conversion 8.6 IP Developer Zone 3

 

RF and Communications

Name
LabVIEW Version
IP or Example
Source
Code Maturity
 Amplitude Modulation (AM)

8.2, 8.5

IP

Community

3

 FM Demodulation 8.6.1 IP NI Labs 4
 On-Off Keying Modulator 8.6.1 IP NI Labs 4
 On-Off Keying Demod (Burst) 8.6.1 IP NI Labs 4
 Binary Phase Shift Keying (BPSK) Modulate 8.6.1 IP NI Labs 4
 Binary Phase Shift Keying (BPSK) Demod 8.6.1 IP NI Labs 4
 Differential Binary PSK (DBPSK) Modulate 8.6.1 IP NI Labs 4
 Differential Binary PSK (DBPSK) Demod 8.6.1 IP NI Labs 4
 Quadrature PSK (QPSK) Modulate 8.6.1 IP NI Labs 4
 Quadrature PSK (QPSK) Demod 8.6.1 IP NI Labs 4
 Diff. Quadrature PSK (DQPSK) Modulate 8.6.1 IP NI Labs 4
 Diff. Quadrature PSK (DQPSK) Demod 8.6.1 IP NI Labs 4
 8-PSK Modulate 8.6.1 IP NI Labs 4
 8-PSK Demod 8.6.1 IP NI Labs 4
 Diff. 8-PSK (D8PSK) Modulate 8.6.1 IP NI Labs 4
 Diff. 8-PSK (D8PSK) Demod 8.6.1 IP NI Labs 4
 PSK Timing Recovery 8.6.1 IP NI Labs 4
 PSK Carrier Tracking 8.6.1 IP NI Labs 4
 Phase-Locked Loop 8.6.1 IP NI Labs 4
 Reed-Solomon Encoder 8.6.1 IP NI Labs 4
 Reed-Solomon Decoder 8.6.1 IP NI Labs 4
 Viterbi Decoding 8.6.1 IP NI Labs 4
 IQ Fractional Resampler (Upsampling) 8.6.1 IP NI Labs 4
 IQ Fractional Resampler (Downsampling) 8.6.1 IP NI Labs 4
 Matched Filter 8.6.1 IP NI Labs 4
 Pulse-Shaping Filter 8.6.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
CompactRIO Waveform Acquisition API 8.6 IP Developer Zone 4
Digital Debouncing

8.6

IP

Developer Zone

4

Digital Delay Generator 8.6 Example Developer Zone 4
Balanced Analog I/O

8.2

Example

Developer Zone

4

Multirate Analog Output

8.2

Example

Developer Zone

4

Buffered DAQ with DMA Streaming

8.2

Example

Developer Zone

4

Synchronous Loop Scheduler

8.5

Example

Community

3

Latching Digital Input

8.5

IP

Community

3

Digital Event Recorder

7.0

Example

Developer Zone

4

Edge Detection (Simple)

8.5

IP

Community

3

Edge Detection (with decimation)

8.5

Example

Community

3

Custom Analog Triggering

7.1, 8.0

Example

Developer Zone

4

Reference Triggering on FPGA 8.5 Example Developer Zone 3
Custom Digital Triggering

8.5

IP

Community

4

Hysteresis Trigger

8.5

IP

Community

4

64-Bit Counters

8.2

Example

Developer Zone

4

Tachometers

7.1

Example

Developer Zone

4

Pulse-Width Modulation (PWM)

8.2

Example

Developer Zone

4

Pulse Phase Shift (on-the-fly)

8.2.1

IP

Community

3

Tachometer Measure (with hysteresis)

7.1

IP

Community

3

Quadrature Encoders

7.1

Example

Developer Zone

4

 Two-Edge Separation 8.6 IP Community 3
 Rising Edge Delay 8.6 IP Community 4
 Interrupt 8.0-2009 IP LabVIEW FPGA 5
 Occurrence 8.0-2009 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 CompactRIO Modules 8.0 Example Developer Zone 3
 CompactRIO Data-Logging Architecture 8.5 Example Developer Zone 3

 

Signal Generation

Name
LabVIEW Version
IP or Example
Source
Code Maturity
Direct Digital Synthesis

8.5.1

Example

Developer Zone

3

Sine Wave Generation

8.0-2009

IP

LabVIEW FPGA

5

Square Wave Generation

8.5-2009

IP

LabVIEW FPGA

5

Ramp Function

7.1

IP

Community

2

Sawtooth Generator

8.5

IP

Community

3

Linear Waveforms

7.1

Example

Developer Zone

3

Nonlinear Waveforms

7.1

Example

Developer Zone

3

Periodic Waveforms

7.1

Example

Developer Zone

3

Arbitrary Waveform Generation

7.1

Example

Developer Zone

3

Uniform White Noise

8.5-2009

IP

LabVIEW FPGA

5

Gaussian White Noise

8.5-2009

IP

LabVIEW FPGA

5

Digital Pulse Generation

7.1

Example

Developer Zone

3

Pulse-Width Modulation (PWM)

8.2

Example

Developer Zone

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

Discrete Linear Systems

Multichannel PID

8.0-2009

IP

LabVIEW FPGA

5

 PID, Analog, PWM Example 8.5 Example Developer Zone 3
Motion PID (Spline and Step)

8.5-2009

IP

NI SoftMotion

5

Discrete PID

8.0, 8.2

IP

LabVIEW FPGA

5

 Multiaxis Motion PID 8.5 IP Developer Zone 3
 Adaptive Gain Control Filter 8.6 IP Community 3
 Field-Oriented Controller (FOC) 8.6 Example Community 4
 Half-Bridge Controller (H-Bridge) 8.6 IP Community 4
 6-Phase (Trapezoidal) Brushless DC Motor 8.6 IP Community 4
 Spline Interpolation 8.0-2009 IP NI SoftMotion 5
 Lookup Table for Sinusoidal (V/f) Control 8.6 IP Community 4
 Cam/Crank Angle Measurement 8.6 Example Community 3
Discrete Control Filter

8.0-2009

IP

LabVIEW FPGA

5

Discrete Delay

8.0-2009

IP

LabVIEW FPGA

5

Discrete Normalized Integrator

8.0-2009

IP

LabVIEW FPGA

5

Initial Condition

8.0-2009

IP

LabVIEW FPGA

5

Unit Delay

8.0-2009

IP

LabVIEW FPGA

5

Zero-Order Hold

8.0-2009

IP

LabVIEW FPGA

5

Nonlinear Systems
Backlash

8.0-2009

IP

LabVIEW FPGA

5

Boolean Crossing

8.0-2009

IP

LabVIEW FPGA

5

Dead Zone

8.0-2009

IP

LabVIEW FPGA

5

Friction

8.0-2009

IP

LabVIEW FPGA

5

Memory Element

8.0-2009

IP

LabVIEW FPGA

5

Quantizer

8.0-2009

IP

LabVIEW FPGA

5

Rate Limiter

8.0-2009

IP

LabVIEW FPGA

5

Relay

8.0-2009

IP

LabVIEW FPGA

5

Saturation

8.0-2009

IP

LabVIEW FPGA

5

Switch

8.0-2009

IP

LabVIEW FPGA

5

Trigger

8.0-2009

IP

LabVIEW FPGA

5

Zero Crossing

8.0-2009

IP

LabVIEW FPGA

5

 

Digital Buses and Protocols

Name
LabVIEW Version
IP or Example
Source
Code Maturity
SPI

8.6

Example

Developer Zone

4

I2C

8.2

IP

Community

4

S/PDIF

7.1

Example

Developer Zone

4

RS232 (Serial)

7.0, 8.2, 8.6

Example

Developer Zone

2

HDLC

8.2

IP

Developer Zone

4

I2S

8.2

IP

Community

3

SSI

8.2

IP

Community

3

Huffman Decoder

8.2

IP

Community

3

IRIG-B

7.1

Example

Developer Zone

3

Modbus Interface (using NI 987x) 8.6 Example Developer Zone 4
PCM Telemetry

7.1

Example

Developer Zone

3

UART

8.5

IP

Community

3

 Direct Stream Digital Decode 8.5 Example Developer Zone 3
Clock Division

8.5

IP

Community

3

Custom Serial Protocol

8.0

Example

Developer Zone

3

 1-Wire Protocol (DS2432) 8.5 IP Community 3
 1-Wire Protocol (DS2505) 8.5.1 IP Community 3
FPGA to FPGA Communication - ACK/REQ Protocol 2009 IP Community 3

Related Links:

Developing Digital Communication Interfaces

 

Simulation

Name
LabVIEW Version
IP or Example
Source
Code Maturity

LVDT Simulation

7.1

Example

Developer Zone

3

Resolver Simulation

7.1

Example

Developer Zone

3

Thermocouple Simulation

7.1

Example

Developer Zone

3

Quadrature Encoder Simulation 

8.5

IP

Community

4

 Crankshaft Simulation 8.6 Example Developer Zone 4
 Camshaft Simulation 8.6 Example Developer Zone 4

Brushless DC Motor Model Diff Eqs

8.6

IP

Community

3

 Euler's Method - Diff Eq 1st Order Solver 8.6 IP Community 3
 Fixed-Point PMSM BLDC models 8.6 IP Developer Zone 4

 

Encryption

Name
LabVIEW Version
IP or Example
Source
Code Maturity
Tiny Encryption Algorithm (TEA)

8.5

IP

Developer Zone

3

Extended Tiny Encryption (XTEA)

8.5

IP

Developer Zone

3

 FPGA-Based HW/SW Lock Key 8.6 Example Developer Zone 3

 

Image Processing

Name
LabVIEW Version
IP or Example
Source
Code Maturity
 Image Buffering (neighborhood) 8.6 IP Community 3
 Bayer Decoder

8.6

IP

Community

3

 Sobel Edge Detector 8.6 IP Community 3
 Grayscale Conversion 8.6 IP Community 3
 Image Reduction 8.6 IP Community 3

 

Specific Device Drivers

Name
LabVIEW Version
IP or Example
Source
Code Maturity
 Hitachi HD44870-Based LCD 8.6 Example Community 4
 Num to 7-Segment LED 8.5 IP Community 3
 VEX Robotics 6-Channel Radio Controller Receiver Decoder 2009 IP Community 3
Devantech SRF04/SRF05 Ultrasonic Range Finder 8.6 IP Community 4
Analog Devices ADIS16060 Digital Gyroscope (Yaw Rate) 8.6 IP Developer Zone 4
Analog Devices ADIS16003 Accelerometer 8.6 IP Developer Zone 4
Analog Devices ADIS16209 Dual-Axis Inclinometer 8.6 IP Developer Zone 4
Analog Devices ADIS16250 Programmable Low-Powered Gyroscope (also ADIS16255) 8.6 IP Developer Zone 4
Analog Devices ADIS16350 Tri-axis Inertial Sensor (also ADIS 16355) 8.6 IP Developer Zone 4
National Semiconductor Differential Sensor Board SP102S01RB 8.6 IP Developer Zone 4
NI 9853 CAN Engine Reference Example 8.6 Example Developer Zone 4
Crossbow NAV440 GPS-aided MEMS Inertial Navigation System 8.2 IP IDNet 5
ConnectBlue OWSPA311g Wireless 802.11 Serial 2009 Example Developer Zone 1

 

External IP Integration

Name
LabVIEW Version
IP or Example
Source
Code Maturity
 Component-Level IP (CLIP) Node 8.6-2009 IP LabVIEW FPGA 5
 HDL Interface Node 8.0-2009 IP LabVIEW FPGA 5
 IP Integration Node 2009 IP NI Labs 5

 

Submit Your LabVIEW FPGA IP or Example Program

You can share your LabVIEW FPGA IP blocks or submit an update to existing IP in the NI Community. Create a new document, make your content downloadable, and send an e-mail to ipnet@ni.com to alert the webmaster to add your functions to this list. 



You can also

Related Links

LabVIEW FPGA Customer Case Studies

LabVIEW FPGA Webcasts on Demand

R Series Intelligent DAQ

CompactRIO

NI FlexRIO

LabVIEW FPGA Module

 

41 ratings | 4.49 out of 5
Read in | Print

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/).