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

C Interface to LabVIEW FPGA FAQ

0 ratings | 0.00 out of 5
Read in | Print | PDF

Overview

The NI LabVIEW FPGA Module is a development tool that enables you to program a field-programmable gate array (FPGA) on NI Reconfigurable I/O (RIO) hardware, such as NI CompactRIO, NI FlexRIO, and R Series Multifunction RIO devices, for embedded control and acquisition applications without the burden of learning traditional hardware description languages (HDL). C/C++ programmers now have an easy interface to FPGA applications, including DMA data streaming, from host applications using the new C Interface to LabVIEW FPGA. This tool provides an easy method to integrate FPGA technologies into existing embedded C applications that are under development.

What is the C Interface to LabVIEW FPGA?

The C Interface to LabVIEW FPGA is a C/C++ API for communicating between processor and FPGA within NI reconfigurable I/O (RIO) hardware, such as NI CompactRIO, NI Single-Board RIO, NI FlexRIO, and R Series FPGA I/O.

 

Which C/C++ development tools does it support?  (Can I use CVI on cRIO?)

The API is compatible with most C/C++ development tools and compilers.  You need to choose a tool chain that is compatible with your end deployment target, such as CVI on PXI and Wind River Workbench on cRIO.

 

Why do I have to program the FPGA in LabVIEW?/Why would I use this if I still have to use LabVIEW FPGA?

Using C-to-VHDL, C-to-Gates, and other C-to-FPGA related tools still require an in-depth knowledge of hardware description languages, chip vendor specific tools, and digital design to integrate into a final design. By choosing to use LabVIEW FPGA and off the shelf NI FPGA hardware, the design flow is much simpler, and similar to a traditional software engineering endeavor. Although you will need to learn to use LabVIEW for FPGA programming, using LabVIEW is much easier than the alternative of using traditional tools.

You can use LabVIEW FPGA to design deterministic and reliable algorithms in FPGA hardware that augment your expertise in C/C++ processor programming on a host application.

What is the minimum NI Software I need to use the C Interface to LabVIEW FPGA?

Required: LabVIEW Full, LabVIEW FPGA Module, NI-RIO Driver - all PCs that will develop LabVIEW FPGA code.

Required: NI-RIO driver - all PCs that only develop C/C++ host applications that interface to FPGA.

Optional (for Pharlap and Windows based applications): LabWindows/CVI

What are the benefits of the C Interface to FPGA?

Engineers and scientists with C/C++ expertise now have the ability to add FPGA-based measurement and control hardware to their applications without the burden of learning hardware description languages (HDL) or digital design.  FPGA-based hardware has the benefits of truly parallel code running on dedicated hardware circuits, reliability, and customization.

Additional Resources

Developer Zone Tutorial: C Interface to FPGA
Developer Zone Tutorial: Developing with the C Interface to LabVIEW FPGA for VxWorks Targets
What Is LabVIEW FPGA?

0 ratings | 0.00 out of 5
Read in | Print | PDF

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