Why Not FPGA?

March 6, 2009
Why aren't more controls engineers using FPGAs? Sure, they're not easy to program and require specialized skills, but it beats writing VHDL code. The programming tools are improving, but opportunities for improvement still exist.

Why aren't more controls engineers using FPGAs? Sure, they're not easy to program and require specialized skills, but it beats writing VHDL code. The programming tools are improving, but opportunities for improvement still exist.

A software programmer needs to change mentality when dealing with an FPGA. Some FPGA vendors offer different suites of development tools. Other tools are targeted at programmers who are familiar with C, easing the transition for developers accustomed to working in a flexible Windows environment. But you still have to compile the program. This can take a while depending on the program size, and you can’t debug it with breakpoints and markers because it’s a compiled program.

FPGA programming is rather different from configuring an off-the-shelf servo-hydraulic controller, too. For the programmer, the difficulties stem mainly in the constraints of fixed-point math; floating point arithmetic is not available. The implementation of complex algorithms can require significant design effort to ensure accuracy.

No matter which tools you’re going to use, you’re going to need to address training, coding, debugging, validation and reuse. Coding, debugging and validation are all part of the same process, but the tools you use may make each one of these items easy, hard or extremely difficult. One of the biggest challenges to coding applications that are more than simple logic and integer math is dealing with engineering units. The two most common approaches are pre-scaled integer values and fixed-point math. They are really related concepts, but in the first case the programmer must keep track of the resolutions and implied scale factors resulting in code that is often difficult to follow and debug. If you have fixed-point math functions to work with, the code is more legible and easier to conceptualize. You still have to worry about overflows, underflows and ranges.

Even if the tool makes the transition very easy, the implementation behind is far different. So, are you using FPGAs? What are the advantages or drawbacks? Are you still just browsing? What is it that’s holding you back?

About the Author

Mike Bacidore | Editor in Chief

Mike Bacidore is chief editor of Control Design and has been an integral part of the Endeavor Business Media editorial team since 2007. Previously, he was editorial director at Hughes Communications and a portfolio manager of the human resources and labor law areas at Wolters Kluwer. Bacidore holds a BA from the University of Illinois and an MBA from Lake Forest Graduate School of Management. He is an award-winning columnist, earning multiple regional and national awards from the American Society of Business Publication Editors. He may be reached at [email protected] 

Sponsored Recommendations

2025 State of Technology Report: HMIs, IPCs and Enclosures

Industrial manufacturing equipment often relies on human-machine interfaces, industrial PCs and enclosures to ensure system reliability and optimal performance. These components...

Custom Encoder Created for Large Rotational Applications

Large rotational applications like MRI machines, excavators, mobile equipment, forklifts and stagecraft require precise motion feedback for optimal performance, safety and efficiency...

See How One Company Customized Motion Feedback for Material Handling Applications

Encoders can be used in material handling on sorters, conveyors, in automated storage retrieval systems, on mobile equipment, automated mobile robots and more. See how one company...

Absolute vs Incremental Encoders: Which One Does Your System Need?

The right encoder makes all the difference. Incremental encoders are perfect for tracking speed and direction in dynamic motion. Absolute encoders? They remember exact positioning...