AI Engine System Partitioning Planning - AI Engine System Partitioning Planning - 2026.1 English - UG1504

Versal Adaptive SoC System and Solution Planning Methodology Guide (UG1504)

Document ID
UG1504
Release Date
2026-07-22
Version
2026.1 English

System Partitioning is the process of designing an embedded system for heterogeneous compute. It involves analyzing system requirements and stacking those up head-to-head against device capabilities. It is expected to be done upfront before project kickoff and have reasonable accuracy. Also, the process must finish quickly without requiring the implementation of the full system.

The goal is to minimize risk in the solution and identify a device suitable for application needs.

Some of the steps involved in system partitioning include:

  • Partitioning the workload across available compute elements
  • Identifying a workable system “data flow”
  • Managing I/O bandwidth within interface limits
  • Provisioning data storage with practical costs
  • Minimizing compute to achieve throughput targets

It is often a series of top-down analysis and bottom-up synthesis steps. The problem is first analyzed and broken down to generate data that characterizes the problem dimensions. The analysis step generates data that you can use to synthesize a strawman solution expected to solve the problem.

A strawman proposal is a draft proposal that attempts to solve the problem at hand. The intention is to ensure everyone involved understands the initial concept. It seeks to generate discussions about its pros and cons and spur the creation of new and better proposals. Perform a follow-up analysis step to confirm that all system requirements are met. Identify risky areas and quantify estimates and error bars on those estimates.

The interaction between three fundamental design dimensions (compute, storage, and bandwidth) needs to be understood. How will the data move between the different subsystems (PL, AI Engine, and PS)? Where must the compute happen? What are the storage requirements? What are the variables that influence the solution?