FPGA-based prototyping allows for real-time simulation that can be used to develop and test applications on hardware that doesn’t yet exist or is hard to obtain. To find out more about the options, advantages, and trends, I spoke with Tom De Schutter, Director of Product Marketing and Physical Prototyping for Synopsys.
Wong: Could you briefly speak to why embedded software development is becoming more important, and how FPGA-based prototyping is being used to optimize the design of embedded devices?
De Schutter: To improve the power and/or performance characteristics of an SoC, customized software is often necessary to apply hardware resources rather than software to accomplish a function. This function offloading from software to hardware is one of the major ways the semiconductor vendor has to differentiate its product.
Consider a function that takes advantage of the DSP or GPU block of the SoC. The tailoring in an OS like Android may be required not only at the lowest driver levels of the Linux OS kernel, but also at higher levels like the graphics and audio elements of the hardware abstraction layer (HAL), media, or OpenGL ES API libraries—and even the activity manager of the application framework. FPGA-based prototypes uniquely are able to merge very high performance, upwards of 100 MHz with a HAPS-80 system that combines multiple Xilinx VU440 FPGAs, and system clock speeds with real-world connectivity to a PHY interface. This allows engineers to execute a full software stack, including the kernel, HAL, libraries, and application framework, at near real-time speeds while interacting with high-fidelity physical equipment.