Mentor, a Siemens business, has built an ecosystem around its Catapult High-Level Synthesis (HLS) platform aimed at simplifying artificial intelligence (AI) and machine learning (ML) design projects. Its contents are described in a new technical article.
HLS has been gaining traction in AI because, for example, it abstracts design processes above RTL, allows for early power estimation and has a strong focus on the development and verification of algorithms that target common ML platforms (e.g., ASIC, FPGA, eFGPA). These have been growing in use alongside GPU and CPU as ML use-cases have come to depend on heavier processing at the edge where custom implementations help reduce power consumption.
The AI Accelerator Ecosystem leverages Mentor’s experience across HLS generally and specific to AI. It comprises a toolkit that is built into Catapult and continuously updated. Some of its components are offered free to designers, and the goal is to help them get started more quickly by using modular elements and reference designs as well as broad support.
Mentor director of engineering David Burnette describes the current AI Accelerator Ecosystem in detail in the article. These are its main elements.
The AI Accelerator Ecosystem
HLS Libs is a set of open-source C++ libraries, developed by the company and now further refined through an accompanying community website, to enable bit-accurate hardware designs. These building blocks are designed to be easily understood and then synthesized into the preferred project platform. “Each library is fully documented and available as an open-source project on GitHub,” Burnette writes.
Current libraries cover a number of common tasks, and include:
- Algorithmic C (AC) Datatypes;
- AC Math; and
- Image Processing.
Tookits (Reference Designs)
The ecosystem has accelerator-based reference designs for study, re-use and modification in any final design. Users can explore strategies, coding styles and tradeoffs for latency, frame rate, area and/or power.
“These kits, shipped with Catapult, include configurable C++/System C IP source code, documentation, testbenches and scripts to move the design through the HLS synthesis and verification flow,” writes Burnette.
An example of one of the toolkits, for pixel-pipe video processing, is shown in Figure 1.
The current range of tookits includes:
- Pixel-pipe video processing;
- 2D convolution (Eyeriss); and
- tinyYOLO object classification.
Integration of an accelerator block is made easier via a series of examples that build upon the Interface Synthesis function within Catapult. This adds a timed protocol to untimed C++ variables.
“Designers simply need to set architectural constraints for the protocol in the Catapult GUI,” writes Burnette. “The tool supports typical protocols such as AXI4 video stream, request/acknowledge handshaking and memory interfaces. This allows designers to explore interface protocols without changing the C++ source.”
Specific design examples then available within the AI Accelerator Ecosystem include AXI and Base Processor (Figure 2).
Mentor has put in place a number of support options around the specific elements of the toolkit. As well as online help and documentation, there are tutorials, on-demand training, seminars, and online and offline consultancy.
Click the following link to review more detail about The AI Accelerator Ecosystem.