Embedded Heterogeneous Design
Embedded Heterogeneous Design
(For Getting Started with Versal Devices)
COURSE CODE: EMBD-HET
This course covers the AMD Versal™ architecture and illustrates the tool flow for developing HLS and AI Engine components as well as integrating an entire system project to design an embedded heterogeneous system using the v++ tools and AMD Vitis™ Unified IDE.
The emphasis of this course is on:
- Describing an embedded heterogeneous system design
- Illustrating the AMD Versal adaptive SoC architecture, NoC, and AI Engine
- Describing an AMD Versal design tool flow
- Developing HLS and AIE components using the AMD Vitis tool
- Utilizing the v++ command line tools for component compilation, linking, and packaging to run emulation
- Demonstrating the system design flow for a heterogeneous embedded system using the AMD Vitis Unified IDE
3-Day Instructor-led Course | Price USD | Training Credits |
---|---|---|
Hosted Online - $600/day | $1800 | 18 |
In-Person Public Registration - $600/day | $1800 | 18 |
Printed Course Book (A PDF book is included in the course fee)
Cannot be purchased without registration. | $100 | 1 |
Private Training | Learn More | Learn More |
Coaching | Learn More | Learn More |
Be the first to know. Sign up for our newsletter.
Who should attend:
Software and hardware developers, system architects, and anyone who needs to accelerate their software
applications using AMD devices.
Software Tools
- AMD Vitis Unified IDE 2023.2
Hardware
- Architecture: AMD Versal adaptive SoCs
Skills Gained
After completing this comprehensive training, you will have the necessary skills to:
- Identify the resources available in AMD adaptive SoC architectures
- Describe the processes for developing the components for each type of resource
- Describe the optimization and debug methodologies for each component
- Develop components and link and package a system design using the v++ tools
- Assemble a complete system and run hardware emulation using the AMD Vitis Unified IDE
Course Outline
Day 1 | Day 2 | Day 3 |
---|---|---|
Introduction to Embedded Heterogeneous Design Defines what an embedded heterogeneous design is and identifies the AMD SoCs that support these types of designs. Also describes the tools required to develop embedded heterogeneous designs with AMD Versal devices. {Lecture} Versal Adaptive SoC - Architecture Overview Provides a high-level overview of the Versal architecture, illustrating the various engines available in the Versal architecture. {Lecture} Versal Adaptive SoC - NoC Architecture Provides a deep dive into the sub-blocks of the NoC and how they are used. Describes how the NoC is accessed from the programmable logic. {Lecture} Versal AI Engine Architecture Introduces the architecture of the AI Engine and its components. {Lecture} Versal AI Engine Memory and Data Movement Describes the memory module architecture for the AI Engine and how memory can be accessed by the AI Engines in the AI Engine arrays. {Lecture} Versal Adaptive SoC - Application Partitioning 1 Covers what application partitioning is and how an application can be accelerated by using the various compute domains in the Versal device. Also describes how different models of computation (sequential, concurrent, and functional) can be mapped to the Versal adaptive SoC. {Lecture} | Driving the AMD Vitis Unified IDE Introduces the terminology and features of the Vitis Unified IDE and talks about the basic behaviors required to drive the Vitis Unified IDE to generate a C/C++ application. {Lecture} Tool Flow for Heterogeneous Systems Maps the various compute domains in the Versal architecture to the tools required and describes how to target them for final image assembly. {Lecture, Lab} Introduction to Vitis High-Level Synthesis Components Provides an overview of high-level synthesis (HLS), the Vitis Unified IDE for HLS development flow, and the verification advantage. {Lecture, Lab} Vitis HLS Methodology and Optimization Techniques Describes the different methodologies of Vitis HLS development and various optimization techniques for improving performance. {Lecture, Lab} AI Engine Programming: Kernels and Graphs Describes AI Engine kernels and adaptive data flow (ADF) graphs along with their programming flows. {Lecture, Lab} | Analyzing AI Engine Design Reports Using the Vitis Unified IDE Describes the different reports generated by the tool and how to view the reports that help to optimize and debug AI Engine kernels using the Analysis view in the Vitis Unified IDE. {Lecture} Versal AI Engine Application Debug and Trace Shows how to debug an AI Engine application running on the Linux® OS and how to debug via hardware emulation that allows simulation of the application. {Lecture} Development Using the v++ Command Line Tools Illustrates the v++ command line tool flow for compiling AI Engine designs and HLS kernels and linking them for use on a target platform. Package a design to run software/hardware emulation is also covered. {Lecture, Lab} Custom Platform Development Describes the custom platform creation process using the AMD Vivado™ IP integrator, RTL, HLS, and Vitis environment. {Lecture, Lab} Embedded Heterogeneous System Design Flow Demonstrates the Vitis compiler flow to integrate a compiled AI Engine design graph (libadf.a) with additional kernels implemented in the PL region of the device (including HLS and RTL kernels) and linking them for use on a target platform. These compiled hardware functions can then be called from a host program running in the Arm® processor in the Versal device or on an external x86 processor. {Lecture, Lab} |
Please note: The instructor may change the content order to provide a better learning experience.
Prerequisites:
- Comfort with the C/C++ programming language
- Software development flow
- AMD Vitis tool flow