Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
Arm Community blogs
Arm Community blogs
SoC Design and Simulation blog AMBA Adaptive Traffic Profiles
  • Blogs
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
More blogs in Arm Community blogs
  • AI blog

  • Announcements

  • Architectures and Processors blog

  • Automotive blog

  • Embedded and Microcontrollers blog

  • Internet of Things (IoT) blog

  • Laptops and Desktops blog

  • Mobile, Graphics, and Gaming blog

  • Operating Systems blog

  • Servers and Cloud Computing blog

  • SoC Design and Simulation blog

  • Tools, Software and IDEs blog

Tags
  • AMBA
  • SoC Designer
  • Interface Bus Architecture
  • Bus Architecture
  • Debugging
  • Tutorial
  • AMBA 5
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

AMBA Adaptive Traffic Profiles

Matteo Maria Andreozzi
Matteo Maria Andreozzi
April 1, 2019
3 minute read time.

The performance requirements of computing systems have been growing rapidly, year on year. Demand is further increased by the many new performance-demanding applications that are emerging across multiple market segments, such as machine learning (ML), computational photography and autonomous driving.

To deliver against high-performance requirements, systems-on-a-chip (SoCs) increasingly employ a large number of components, including multiple processors, accelerators and I/O devices. This significantly increases the complexity and the risks and costs of designing an SoC, making right-first-time development more important than ever.

The design and verification of a modern SoC often extends across different teams, vendors and environments. Performance simulations, RTL-based or transaction level, using FPGAs or the final SoC, need to be consistent so that the results can be correctly correlated. A common and concise abstraction to express the performance and traffic characteristics of an interface is required.

Simulation of such complex systems typically requires accurate models of the different components, in order to understand the interaction between them. That is, however, a difficult task and can result in long simulation times, before meaningful results can be obtained. We need a simpler and faster simulation mechanism that is, at the same time, predictable and adaptive.

Introducing AMBA Adaptive Traffic Profiles (AMBA ATP)

To address the challenges described above, we have developed a new synthetic traffic framework, the AMBA Adaptive Traffic Profiles (AMBA ATP). It is capable of modelling systems' masters and slaves high-level memory access behaviour in a concise, simple, and portable way.

You can download the AMBA ATP Specification below.

Download AMBA ATP Specification

AMBA ATP is a framework designed to generate synthetic stimuli in a simple way: it’s complex enough to provide interesting and useful stimulus to other system components, simple enough to generate traffic quickly, and easy enough to reason about and analyse.

ATP complements AMBA, which is widely adopted as the standard for on-chip communication. AMBA specifications provide interface standards, enabling design reuse and an ecosystem of compatible and interoperable solutions. The AMBA ATP specification is meant for hardware and software engineers needing to design or debug systems and modules that are compatible with AMBA specifications.

AMBA ATP uses a simple input definition, as shown in the example below, consisting of only a small number of parameters. This simple definition means that the traffic profile definition can be easily shared across teams and companies.

AMBA ATP code

AMBA ATP Traffic Profile

A traffic profile is essentially a definition of the transaction characteristics for an interface. It can be thought of as a specification of the dynamic characteristics of an interface and includes information on both the types of transactions and the timing characteristics.

Traffic Profiles through the design cycle

Traffic profiles can be utilized throughout the SoC design cycle, from system analysis all the way down to silicon evaluation, with the benefit of a consistent set of stimuli which moves vertically as the design progresses towards production.

  • System Architecture Analysis
    • Defines traffic input to modelling environment
    • Standard framework to performance requirements definition
  • RTL Simulation for System Performance Validation
    • Used to represent components where full RTL is not used
    • Captures output performance data for analysis purposes
  • Component and Interconnect Configuration
    • Defines bandwidth and latency requirements
    • Can be used to drive interconnect generation/synthesis
  • Silicon Evaluation
    • Capture and sharing performance data
    • Assessment of system performance against benchmark requirements

Typical AMBA ATP deployment

A typical AMBA ATP deployment is composed by an execution engine - capable of parsing and interpreting an AMBA ATP description. The environments may also include the ability to collect statistics and measurements on a simulated platform, where part or all masters and slave are modelled via AMBA ATP profiles.

The AMBA ATP FIFO Model

One of the AMBA ATP foundations is the ATP FIFO: it reproduces the traffic elasticity of the modelled device interface by means of a constant fill/drain rate buffer, out of which memory access requests are generated according to simple FIFO occupancy rules, and based on the FIFO type (READ/WRITE).

If there is enough data in the FIFO buffer to generate a write request, send one.

If there is enough space in the FIFO buffer to accommodate a read response, send a read request.

 AMBA ATP FIFO buffer

By varying the basic parameters of the FIFO – the FIFO depth, the fill/drain rate, and the maximum number of outstanding transactions – it is possible to closely model a large number of different components that are typically found in an SoC. A construct as simple as the FIFO can become powerfully expressive when combined in series and parallel groups. As with simple harmonics in signal theory, it is possible to combine multiple elementary FIFO elements to compose complex patterns representative of the most diverse workloads and devices.

 AMBA ATP sequential traffic profiles

Anonymous
  • Berenice Mann
    Berenice Mann over 6 years ago in reply to armchronos

    Hi, thanks for your questions. 

    The input definition in the blog is shown as an example only, and not linked to any particular implementation.

    At the moment, we are only providing the specifications. However we expect some tools will be announced soon by our ecosystem partners.

    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
  • armchronos
    armchronos over 6 years ago

    Is the input definition format written in python ?

    What tools are provided by ARM to support this spec and input definition in a simulation environment?

    Please clarify what ARM provides beyond the spec.

    Thanks

    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
SoC Design and Simulation blog
  • Performance verification with AMBA Viz

    Tony Nip
    Tony Nip
    Run consistent latency and bandwidth checks on CMN interconnects using AMBA Viz’s new performance script—no API expertise needed.
    • June 30, 2025
  • Understanding Scandump: A key silicon debugging technique

    Vincent Yang
    Vincent Yang
    Scandump is highly effective in silicon debugging as it can capture most internal states through scan chains, making it invaluable in diagnosing silicon issues.
    • June 5, 2024
  • Introduction to AMBA Viz

    Tony Nip
    Tony Nip
    AMBA Viz enables faster debug and performance analysis for cycle-accurate simulation and emulation, even for complex interconnects and AMBA bus protocols.
    • May 31, 2024