Using the Vivado Tools in the Design Flows - 2023.1 English

Versal Adaptive SoC Design Guide (UG1273)

Document ID
UG1273
Release Date
2023-05-16
Version
2023.1 English

The Vivado Design Suite is a key component in all Versal adaptive SoC design flows. Following are the primary use models for the Vivado tools based on your design flow:

  • Traditional design flows
    • Creating RTL and IP designs
  • Platform-based design flows
    • Creating and packaging RTL kernels for use in the Vitis environment design flow
    • Creating and generating platforms for use in the Vitis environment design flow
    Important: If you are using the platform-based design flow, AMD provides standard platforms as starting points, which can be customized and regenerated by the Vivado IP integrator to better fit the target system application. For more information, see the Vitis Embedded Platforms tab of the Downloads page on the AMD website.

You can use the Vivado tools for design creation, implementation, and analysis of PL. Typical tasks include the following:

  • Logic simulation
  • Constraint definition and timing analysis
  • NoC compilation
  • I/O and clock planning
  • Logic synthesis and implementation
  • Visualization of design logic
  • Design rule checks (DRC) and design methodology checks
  • Implementation results analysis
  • Power and thermal analysis
  • Programming and debugging

Creating RTL and IP Designs

The Vivado tools support the traditional RTL and IP design flow, and the Vivado IP integrator is available to automate the assembly of your design. RTL developers must understand the new IP available in Versal adaptive SoC and the requirements surrounding their usage, including the following:

  • All designs require the CIPS IP, which contains the PMC used to boot the device. CIPS IP is also used to configure the PS peripherals and the SYSMON IP. For more information, see the Control, Interface and Processing System LogiCORE IP Product Guide (PG352).
  • The only way to access the DDRMCs on the device is through the NoC IP. For more information, see the Versal Adaptive SoC Programmable Network on Chip and Integrated Memory Controller LogiCORE IP Product Guide (PG313).
  • Hardware debug flows are different from previous devices. For more information, see the Vivado Design Suite User Guide: Programming and Debugging (UG908).

Creating and Packaging RTL Kernels

You can use the Vivado tools to package RTL kernels for use by the Vitis linker. This option is available in the Vivado IP packager, which packages the IP into an XO file to be linked into the final design using the Vitis system linker. For more information about RTL kernels, including restrictions, see this link in the Vitis Unified Software Platform Documentation: Application Acceleration Development (UG1393).

Creating and Generating Platforms

You can create an extensible hardware platform using the Vivado tools that is then extended with a processing system using the Vitis tools. The platform typically includes basic system-level resources that are shared by all accelerators, such as the PS, NoC, DDRMCs, and primary I/Os. For more information on hardware platform definition, see the Vitis Unified Software Platform Documentation: Application Acceleration Development (UG1393).
Note: This is the only design flow that supports the use of AI Engine resources.

AMD recommends the following:

  • Include only essential Versal adaptive SoC blocks and board interface IP in the platform
    • Essential blocks: CIPS, NoC, AI Engine, Clocking wizard, interrupt controller
    • Interface blocks: High-speed I/Os, memory controllers
  • Map RTL modules that interact with AI Engine through streaming or memory mapped interfaces and other platform streaming interfaces to Vitis RTL kernels

Following are the benefits of this approach:

  • Ensures the platform is highly reusable
  • Promotes separation of tasks
  • Improves the ability to automate the integration process
  • Increases scope and opportunity for DFX