ESC San Jose, Ca. National Instruments created a real “buzz” at the Embedded Systems Conference with a new programming interface that it claims makes it easier for C/C++ developers to take advantage of the NI LabVIEW FPGA Module and NI FPGA-based hardware for embedded control and acquisition applications.
According to Todd Dobberstein, Embedded Hardware Group Manager at NI, with the new NI C Interface to LabVIEW FPGA, developers can use LabVIEW graphical tools to program the field-programmable gate array (FPGA) within NI hardware and choose either LabVIEW or C/C++ tools to program the processor within the system.
“This new LabVIEW FPGA feature helps engineers and scientists with C expertise implement FPGAs within their designs,” he said, “without the burden of learning hardware design and gives them the option to reuse their existing embedded C code.”
The new C Interface to LabVIEW FPGA takes advantage of a reconfigurable I/O (RIO) driver for communication between the processor and FPGA in NI FPGA-based hardware such as NI CompactRIO and NI Single-Board RIO.
The NI-RIO driver abstracts the communication between the processor and FPGA so that developers can avoid register-level programming.
With the new C Interface to LabVIEW FPGA, engineers and scientists can program the real-time processor on NI FPGA-based hardware using C tools such as NI LabWindows/CVI, Microsoft Visual Studio or Wind River Workbench and interface to the LabVIEW FPGA code running on the FPGA.
“Developers also can program the processor using the LabVIEW Real-Time Module,” said Dobberstein, “which includes tools for low-level system debugging and precision execution timing for increased flexibility and functionality of deterministic real-time applications.”
Additionally, the new C Interface to LabVIEW FPGA makes it possible for developers to use C/C++ to program the real-time processor of a PXI system or a processor on a PC running Microsoft Windows and interface to the LabVIEW FPGA code running on an NI FlexRIO or a PXI/Compact PCI/PCI NI R Series FPGA I/O device.
The NI-RIO driver, said Dobberstein, provides single-point transfer and DMA streaming functionality as well as interrupt-based communication between the processor and embedded FPGA within NI hardware.
“The LabVIEW FPGA Module simplifies FPGA programming by offering an intuitive development environment that abstracts the VHDL code required and opens up FPGA programming to all engineers regardless of their hardware design experience,” he said.
The graphical dataflow approach in the LabVIEW FPGA Module also makes it ideal for depicting the inherent parallelism of FPGAs. Additionally, developers can accelerate their application development with more than 200 pre-built FPGA intellectual property (IP) blocks available in the LabVIEW FPGA Module and selected LabVIEW toolkits.
Developers interested in programming the real-time processor in NI FPGA-based hardware using C can download the C Interface to LabVIEW FPGA from NI Labs for free at www.ni.com/labs.