This course provides a thorough introduction to the Vitis™ High-Level Synthesis (HLS) tool.
The focus of this course is on:
Learning the Vitis HLS tool flow
Applying different optimization techniques
Exporting IP that can be used with the Vivado® IP catalog
What's New for 2022.1
All labs have been updated to the latest software versions
Level – DSP 3 Course Details
11 labs
Price – $,1800 USD or 18 Xilinx TCs (XPA Training Credits) Course Part Number – DSP-HLS Who Should Attend? – Software and hardware engineers looking to utilize high-level synthesis Prerequisites
Basic RTL design flow knowledge Software Tools
Vivado Design Suite 2022.2
Hardware
Demo board: Zynq UltraScale+ MPSoC ZCU104 board* |
* This course focuses on the Zynq UltraScale+ MPSoC architecture. Check with your local Authorized Training Provider for the specifics of the in-class lab board or other customizations.
After completing this comprehensive training, you will have the necessary skills to:
Describe the high-level synthesis flow
Identify the importance of the test bench
Identify common coding pitfalls as well as methods for improving code for RTL/hardware
Day 1
Overview of high-level synthesis (HLS), the Vitis HLS tool flow, and the verification advantage. {Lecture}
Explores the basics of high-level synthesis and the Vitis HLS tool. {Lecture, Demo, Lab}
Explores different optimization techniques that can improve the design performance. {Lecture}
Describes the Vitis HLS tool flow in command prompt mode. {Lecture, Lab}
Introduces the methodology guidelines covered in this course and the HLS Design Methodology steps. {Lecture}
Explains interfaces such as the block-level and port-level protocols abstracted by the Vitis HLS tool from the C design. {Lecture}
Explains the different types of block-level protocols abstracted by the Vitis HLS tool. {Lecture, Lab}
Describes the port-level interface protocols abstracted by the Vitis HLS tool from the C design. {Lecture, Demo, Lab}
Explains the different AXI interfaces (such as AXI4-Master, AXI4-Lite (Slave), and AXI4-Stream) supported by the Vitis HLS tool. {Lecture, Demo}
Describes the memory interface port-level protocols (such as block RAM and FIFO) abstracted by the Vitis HLS tool from the C design. {Lecture, Lab}
Describes the PIPELINE directive for improving the throughput of a design. {Lecture, Lab}
Day 2
Describes the DATAFLOW directive for improving the throughput of a design by pipelining the functions to execute as soon as possible. {Lecture, Lab}
Identify the performance limitations caused by arrays in your design. You will also explore optimization techniques to handle arrays for improving performance. {Lecture, Demo, Lab}
Describes the default behavior of the Vitis HLS tool on latency and throughput. {Lecture}
Describes how to optimize the C design to improve latency. {Lecture}
Describes different methods for improving resource utilization and explains how some of the directives have impact on the area utilization. {Lecture, Lab}
Reviews key considerations when moving from the Vivado HLS tool to the Vitis HLS tool. {Lecture}
Describes the traditional RTL flow versus the Vitis HLS tool design flow. {Lecture, Lab}
Describes Vitis HLS tool support for the C/C++ languages as well as arbitrary precision data types. {Lecture, Lab}
Describes hardware modeling with streaming data types and shift register implementation using the ap_shift_reg class. {Lecture}
Explains the use of pointers in the design and workarounds for some of the limitations. {Lecture}