Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
Arm Community blogs
Arm Community blogs
SoC Design and Simulation blog Introduction to AMBA Viz
  • 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
  • Tools and Software
  • interconnect
  • SoC Verification
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

Introduction to AMBA Viz

Tony Nip
Tony Nip
May 31, 2024

Tired of digging through waveform viewers one signal at a time?
How about manually combining or parsing signals into something more meaningful?
Even worse when piecing together multiple parts of a bus transaction or sequence across multiple timestamps.

Perhaps you do not often rely on waveform viewers, instead inserting Verilog monitors into your testbench that dump hardware activity to text files. Then, you write scripts that process the text files. While this approach seems to work reasonably well for a given project, it may lead to scalability and transferability issues:

  • Inserting hardware monitors in Verilog may not be transferrable to other teams and companies due to their proprietary nature.
  • Some hardware monitors might only work across a subset of IP configurations. For example, if the monitor developed by Team “A” for their IP configurations does not work for the IP configurations that are used by Team or Company “B”.
  • Modeling complex bus protocols or protocol checkers may be significantly more difficult using scripting languages than a high-level programming language like Java.

What is AMBA Viz?

AMBA Viz is a hardware verification tool for cycle-accurate RTL simulation and emulation. The tool is designed to make functional debug and performance analysis faster and more intuitive, even for complex Arm IP (for example, CMN interconnects) and AMBA bus protocols. While AMBA Viz is mostly known as a visualization tool (GUI), the underlying data processing pipeline and API are central in enabling users to provide custom queries for analysis. In fact, the AMBA Viz GUI itself is separate from the “back-end” and uses the API as well.

 CHI waveform data from a simulation is visually presented in the AMBA Viz GUI for debugging and analysis.

AMBA Viz visual representation of CHI simulation waveform data.

How does it work?

Users provide waveform data from RTL simulation or emulation into the tool. VCD, Synopsys FSDB, and AVDB (AMBA Viz DataBase) formats are supported. The processing pipeline applies proprietary IP plugins and bus protocol plugins to extract AMBA bus messages and link them into bus transactions. The output of the processing pipeline is a proprietary database which can then be queried through the API. Users can provide message-related queries and structural queries. Message-related queries might inquire about specific field values within a bus message (for example, address, opcode) or instead, information about the bus transaction that contains a bus message. For example, “generate a list of bus messages sent to address 0x80 with opcode 0x3”. Structural queries enable the user to filter their search based on nodes or components of interest within the sub-system being simulated. For example, “generate a list of bus messages sent between requester node 0x8 and home node 0x20”. Users can either run the desktop application (which uses the API) or write their own scripts using Apache Groovy to query the API directly.

AMBA Viz desktop application (GUI)

The AMBA Viz desktop application is primarily a visualization application for viewing and interacting with hardware events and messages between components within a system. The most notable feature of AMBA Viz is the interactive sequence diagram created for CHI-based interconnects, offering a contextual view like the transaction-level views used throughout the CHI documentation. The sequence diagram and other supporting features offer a level of functional debug, performance analysis, and overall system context which is not possible with traditional waveform viewers.

RTL emulation and large subsystem support

AMBA Viz contains features tailored to verifying large hardware subsystems, even using RTL emulation platforms:

  • Support for refactored RTL hierarchies as performed by 3rd party physical design tools.
  • Automated Verilog DPI flow removes the need to dump VCD/FSDB for use with AMBA Viz.
  • Efficient waveform data (AVDB) is optimized for size and per-cycle performance, to not degrade emulation performance while dumping signal change values.
  • Customizable DPI dump buffers and triggers, enabling users to only dump timeframes they need.

Extensibility

  • Custom plugins: Track miscellaneous hardware signals.
  • Custom events: Create query-able representations of meaningful combinations of hardware signals and their values.
  • Generic plugin: Flow for analyzing “any AMBA bus on any component”

Try AMBA Viz

AMBA Viz is part of the Arm Hardware Success Kit, so if you have the Hardware Success Kit, you already have access to AMBA Viz. If you do not have the Hardware Success Kit and you would like to try AMBA Viz, send an email to license.support@arm.com to request an evaluation.

Anonymous
SoC Design and Simulation blog
  • 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
  • Arm Virtual Platform co-simulation solution accelerates SoC verification

    Daniel Owens
    Daniel Owens
    Avery Design Systems’ co-simulation design verification solution that integrates SystemC-based Arm virtual platforms with a SystemVerilog environment.
    • December 6, 2022