C/RTL Co-simulation

Search documents
AMD Vitis™ HLS Overview
AMD· 2025-08-10 04:54
HLS Design Flow in Vitis Unified IDE - The AMD Vitis Unified IDE supports a bottom-up approach for heterogeneous system design, enabling the creation of individual system elements as components [2] - The IDE offers various development flows, including HLS, AI Engine Graph, Embedded, and System Development, along with tools for report analysis and user-managed workflows [2] - The Vitis Components view provides hierarchical project navigation, organizing source files and test benches [14] HLS Component Creation and Configuration - An HLS component can be created using the 'Create HLS Component' wizard, which guides users through the process [3] - The HLS component configuration file stores commands and settings for synthesis, simulation, and export [6] - Users can specify the top-level function to be synthesized, with underlying functions also synthesized into RTL [9] - The tool automatically applies uncertainty margin during synthesis to create RTL that is more likely to meet timing in Vivado [11] - The flow target can be set to either 'Vivado IP' or 'Vitis kernel', with the default 'Vivado IP' setting generating a .zip file [11][12] Verification and Packaging - C simulation can be run with default settings, generating a summary report and simulation log file [16][17] - RTL cosimulation verifies the generated RTL against the C test bench to ensure identical results [20] - The design can be packaged into a reusable IP component, with options for Vivado IP, Vitis kernel (.xo file), or RTL output [22][23][24][25] RTL Analysis and Implementation - HLS provides estimations for resource utilization and timing, but accurate RTL analysis requires running Vivado RTL synthesis and place-and-route [25][26] - Vivado synthesis and implementation can be configured before execution using the Implementation settings [26]