Cutting Algorithm Development Time with MATLAB: Q&A with FLIR

“With MATLAB and HDL Coder we are more responsive to marketplace needs. We can take an idea to a hardware prototype in a few weeks.”

Challenge

Accelerate the implementation of advanced thermal imaging filters and algorithms on FPGA hardware

Solution

Use MATLAB to develop, simulate, and evaluate algorithms, and use HDL Coder to implement the best algorithms on FPGAs

Results

  • Time from concept to field-testable prototype reduced by 60%
  • Enhancements completed in hours, not weeks
  • Code reuse increased from zero to 30%

Founded in 1978, and with 2800 employees worldwide, FLIR Systems designs and manufactures advanced sensing technologies for applications including search and rescue, airborne and ground-based surveillance, manufacturing process control, and environmental monitoring.

What led you to look for a new way of working?

Our hardware engineers were translating algorithms developed by algorithm engineers into HDL using written specifications, and without knowing exactly how the algorithms worked. If the FPGA implementation did not perform like our simulations, we never knew if the implementation or the algorithm was the problem. And even a small change to the algorithm meant rewriting most of the HDL.

Why Model-Based Design?

With MATLAB® and HDL Coder™, we can generate synthesizable HDL code directly from the algorithm. The HDL is implemented and tested on the FPGA, and the results are verified against the simulation. Our customer was ecstatic when, a few months after seeing our MATLAB simulations of a new thermal imaging filter, we showed them the first working camera with this new filter and the camera performed exactly like the simulations.

What results have you seen so far?

Our algorithm developers produce FPGA prototypes on their own, cutting prototyping time by up to 60%. We increased MATLAB code reuse for HDL code generation for other projects from 0% to 30%. And we can make even major changes to our algorithms quickly: In just three hours, one of our engineers made a significant algorithmic change to a core filter that previously would have required six weeks.