Improving Algorithms With High-Level Synthesis
By Ann Steffora-Mutschler, Semiconductor Engineering
Most computer algorithms today are developed in high-level languages on general-purpose computers. But someday they may be deployed in embedded systems where the development, verification, and validation of algorithms is done in languages like python, Java, C++, or even numerical frameworks like MatLab.
Indeed, many companies already use SystemC/C++ models in signal and image processing applications, including image scaling, image interpolation, and video codec, said Sergio Marchese, technical marketing at OneSpin Solutions. “Although the adoption of SystemC and HLS is increasing steadily, some teams still generate the RTL manually, leaving those teams to perform verification at the RTL level. A far more productive approach is to do more verification before RTL generation. This is crucial to enable additional user cases for HLS and more widespread adoption. Some formal solutions allow users to do a lot of automated checks at the SystemC level, and also do formal verification with custom assertions, saving a lot of time-consuming HLS iterations.”