This National Instruments article series features a combination of high-level FPGA IP discussions, such as how to create your own reusable IP, as well as more low-level topics that dive into the technical details of a particular piece or family of IP. This first column introduces a critical resource for providing quality, searchable, reusable IP for NI LabVIEW FPGA—LabVIEW FPGA IPNet.
LabVIEW FPGA IPNet is a one-stop resource for browsing, learning about, and downloading LabVIEW FPGA functions or intellectual property (IP). The website offers a central location for FPGA IP and examples gathered from the LabVIEW FPGA function palette, internal NI developers, and the LabVIEW FPGA community. You can use this resource to acquire IP for your applications, learn programming techniques from examples and reference architectures, and examine the depth of IP offered by the LabVIEW FPGA platform. In addition to exploring the site’s offerings, you can share your LabVIEW FPGA IP or submit an update to existing IP using the NI community site.
LabVIEW FPGA IPNet has grown from around 50 IP blocks at its inception in August 2007 to more than 100 functions and a forecast of double that amount in 2008. The IP functions originate from various sources throughout National Instruments and the LabVIEW community. Below is an overview of each source and what you can expect.
LabVIEW FPGA—This is IP contained in the LabVIEW FPGA Module product. Each of these functions links to a help file explaining the function in detail. Examples of this IP include discrete control IP, math, and measurements. Refer to LabVIEW FPGA palettes to use these functions.
Community—Community IP includes downloadable functions in the community website. NI encourages open source community involvement so that IPNet can expand beyond National Instruments IP. However, much of the community IP comes from NI employees specializing in certain types of vertical knowledge and LabVIEW programming. For example, some of the RF functions such as Viterbi Decoding are submitted by the NI RF group, which ensures high quality.
NI Labs—NI Labs is a site to post concepts and preproductized LabVIEW technology from National Instruments R&D. It features several general LabVIEW technologies; however, the Fixed-Point Math Library is designed specifically for FPGA hardware. This library provides fixed-point IP cores such as divide, sine, log, and other functions not included in the native FPGA palettes.
Toolkits and Modules—These add-ons include specialized functionality you can use in LabVIEW FPGA. With the Digital Filter Design Toolkit, you can create custom digital filters and send them to LabVIEW FPGA targets. The LabVIEW NI SoftMotion Module provides LabVIEW FPGA code for motion applications including trajectory generation, interpolation, and control algorithms for servo and stepper motors. The LabVIEW PID and Fuzzy Logic Toolkit contains the new Multichannel PID function that optimizes the amount of FPGA space used to implement multiple PID algorithms.
Developer Zone—IP resources on NI Developer Zone include NI white papers and other application-based discussions and downloads. An example of a Developer Zone document is the fixed DAQ personalities for FPGA tutorial, which contains source code for multirate analog input/output, pulse-width modulation, and 16-channel counter board implementations.
By drawing the relevant FPGA content from all of these resources, LabVIEW FPGA IPNet quickly will become an essential resource for LabVIEW FPGA developers.
March 25 issue: Learn about the recently uploaded Fast Fourier Transform IP Block.
IP Corner addresses issues and presents technical information on LabVIEW FPGA application reusable functionality, also known as FPGA IP. This article series is designed for those interested in learning, testing, or discussing topics to make FPGA designs better and faster through the reuse of IP.