FPGA design software goes graphic
Avoiding text-based software can streamline the design process
BY CHRISTEN McCURDY
The traditional process of designing, prototyping, and deploying boardsï¿½especially those with sophisticated custom communication, instrumentation, and controllersï¿½can take years. Graphical software tools for system design help engineers achieve magnitudes greater productivity than before, streamlining the design, setup, and test process.
Graphical tools for system design are also available for FPGA programming.
These software tools are now being created to work closely with FPGA-based hardware platforms to make custom hardware even more efficient. An FPGA module was recently added to the LabVIEW (Laboratory Virtual Instrumentation Engineering Workbench) design environment so engineers could use graphical software to program FPGA-based hardware. This extension makes it possible to design and deploy custom hardware for high-end applications in just weeks, instead of the months necessary to build from the ground up.
Software platforms such as LabVIEW offer numerous advantages beyond a simple, graphical approach to programming. Benefits include access to multiple development tools, built-in measurement and control functions, and compatibility with a wide array of computing targets.
The graphical language, named “G,” was created for Apple computers in 1986 and has since been used for data acquisition, instrument control, and industrial automation on a variety of platforms, including Unix, some Linux distributions, and some versions of the Windows and Macintosh operating systems.
Programming by icon
Graphical environments use intuitive icons to represent programming functions, as compared to traditional text-based languages. The icons are arranged and graphically “wired” in ways that make complex hardware and software interactions visually comprehensible. It is that improved visualization of the relationship between hardware and software that makes graphical system design so valuable to nonprogrammers in highly specialized engineering and design fields.
Many visual programming languages provide additional online debugging capabilities by complementing the visual approach with full-featured dataflow languages. In the case of LabVIEW, programs and subroutines, also called virtual instruments, can be easily tested before final deployment to an embedded target. With traditional embedded programming tools, it is often impossible to test the code until the program is deployed and executed.
The movement toward graphical system design carries with it the intention of making the design process more accessible and intuitive. In the instance of custom military and aerospace applications, the use of text-based development languages, such as VHDL, can close the design process to experienced designers with little to no programming experience, or simply render the process inefficient. This traditional approach can require many man-years of development time before the text-based implementation is finished. Similar inefficiencies are found in the hardware design when not using a COTS platform.
Hardware targets for the LabVIEW FPGA module include:
• CompactRIO (Reconfigurable I/O)ï¿½an advanced control and acquisition system designed for embedded applications that require high performance acquisition, reliability, and deterministic execution.
• R-Series Intelligent Data Acquisition (DAQ)ï¿½NI PCI, or PXI R-Series plug-in devices that provide analog and digital acquisition and control for high-performance user-configurable timing and synchronization.
• PXI Timing and Synchronization Modulesï¿½advanced PXI-based hardware which uses a reconfigurable FPGA for custom timing, triggering, and multidevice synchronization.
• Compact Vision Systemï¿½a rugged machine vision package that contains a reconfigurable FPGA for implementing custom counters, timing, or motor control into your vision application.
FPGAs contain programmable logic components and programmable interconnects, which can be customized via software to meet engineers' immediate needs. When compared to lower-power, application-specific integrated circuits, the software-defined architecture of FPGA designs allow for shorter time to market, ability to reprogram in the field to fix bugs, and lower non-recurring engineering costs.
Combining FPGAs with graphical programming eliminates the learning curve typically associated with low-level, text-based languages. In addition, graphical development tools, including LabVIEW, allow designers working with FPGAs to take advantage of predefined libraries of functions and circuitsï¿½called intellectual property blocksï¿½created to simplify the FPGA design process. In traditional VHDL-based designs, on the other hand, the FPGA application developer often faces the challenge of redeveloping libraries for individual, proprietary tools and simulators, costing significant time and resource.
Graphical design tools for FPGAs are suitable for knowledgeable, experienced engineers who want to work more quickly and efficiently as well as a teaching tool for students or entry-level developers In addition to reducing the to-market time for complex systems, the adoption of graphical system design can mitigate the sizable learning curve for those just getting involved in design processes.
Graphical software and reconfigurable hardware let Symtx (Austin, TX) deliver hundreds of application-specific ATE systems each year to both military and commercial end users.
Military and aerospace applicationsï¿½such as communication protocols, instrumentation and controllersï¿½require such a degree of customization that engineers often rely on low-level hardware and software combinations created specifically to design those applications. Historically, they have used computer bus standards such as VME, PC/104 or their own bus architecture to design military and aerospace applications. Even when flexible FPGA-based tools were adopted, low-level VHDL-based development tools were chosen.
This traditional approach to creating custom instrumentation generally made use of complex languages for system design, resulting in applications that would work under the desired conditions, but required time-consuming additional steps and, because they were text based, were completely inaccessible to the non-programmer. Platforms combining graphical system design and stable, flexible FPGA-based hardware are being increasingly implemented as solutions in high-end, custom aerospace and engineering fields where time and productivity are at a premium.