Course Description
High-Level Synthesis and Verification
Catapult High-Level Synthesis
Contact us for private event pricing
The Catapult HLS C++ Training introduces all the concepts needed to begin designing hardware using Catapult and Untimed C++ HLS. The training begins with an overview of the basics of HLS, details the Catapult Flow, GUI, and Design Analysis Features. It then delves into the C++ modelling style used for HLS, including the use of bit-accurate data types. This is then followed by tool usage and specific features, the concepts of loop unrolling and loop pipelining, and coding for HLS. After covering the basics, the training focuses on coding memory architecture, designing with memories, advanced schedule failure debug, and finishes up with a discussion on multi-process design.
- Basic understanding of C/C++
PRIMARY COURSE TOPICS
Throughout this course, extensive hands-on lab exercises provide you with practical experience using Catapult software. Hands-on lab topics include:
- How HLS Works
- Catapult Flow and GUI
- Design Analysis
- Bit-accurate Data Types
- Modelling Datapath Interfaces in C++
- Preparing for Synthesis
- Automatic C++ to RTL verification
- Basic Untimed C++ Interface Protocols and Hardware Behavior
- Loop Unrolling and Coding Style
- Loop Pipelining
- Working with Memories and Memory Architecture
- Schedule Failure Debug
- Multi-process Design