Four Best Practices for Prototyping MATLAB and Simulink Algorithms on FPGAs
By Stephan van Beek, MathWorks, Sudhir Sharma, MathWorks, and Sudeepa Prakash, MathWorks
Chip design and verification engineers often write as many as ten lines of test-bench code for every line of RTL code that is implemented in silicon. They can spend 50% or more of the design cycle on verification tasks. Despite this level of effort, nearly 60% of chips contain functional flaws and require re-spin. Because HDL simulation is not sufficient to catch system-level errors, chip designers now employ FPGAs to accelerate algorithm creation and prototyping.
Using FPGAs to process large test data sets enables engineers to rapidly evaluate algorithm and architecture tradeoffs. They can also test designs under real-world scenarios without incurring the heavy time penalty associated with HDL simulators. System-level design and verification with MATLAB® and Simulink® helps engineers realize these benefits by rapidly prototyping algorithms on FPGAs.
This article, published in Verification Horizons, describes best practices for creating FPGA prototypes with MATLAB and Simulink. Topics covered include fixed-point quantization analysis, automatic HDL code generation, HDL cosimulation, and FPGA hardware-in-the-loop.