Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
  • Groups
    • Arm Research
    • DesignStart
    • Education Hub
    • Graphics and Gaming
    • High Performance Computing
    • Innovation
    • Multimedia
    • Open Source Software and Platforms
    • Physical
    • Processors
    • Security
    • System
    • Software Tools
    • TrustZone for Armv8-M
    • 中文社区
  • Blog
    • Artificial Intelligence
    • Automotive
    • Healthcare
    • HPC
    • Infrastructure
    • Innovation
    • Internet of Things
    • Machine Learning
    • Mobile
    • Smart Homes
    • Wearables
  • Forums
    • All developer forums
    • IP Product forums
    • Tool & Software forums
    • Pelion IoT Platform
  • Activity
  • Support
    • Open a support case
    • Documentation
    • Downloads
    • Training
    • Arm Approved program
    • Arm Design Reviews
  • More
  • Cancel
System
  • Developer Community
  • IP Products
  • System
  • Jump...
  • Cancel
System
SoC Design blog How to Measure and Optimize the System Performance of a Smartphone RTL Design - Part 2
  • Blogs
  • Forums
  • Videos & Files
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
  • New
More blogs in System
  • Embedded blog

  • SoC Design blog

Tags
  • AMBA
  • Corelink
  • performance_analysis
  • Cadence Design Systems
  • corelink_system_ip
  • amba_traffic
  • cache_coherence
  • amba4
  • corelink_500_series
  • interconnect
  • fabric
  • system_ip
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

How to Measure and Optimize the System Performance of a Smartphone RTL Design - Part 2

Nick
Nick
November 7, 2013

By William Orme, Strategic Marketing Manager, Arm and Nick Heaton, Distinguished Engineer, Cadence

This is Part 2 of a 4 part series. Links below

Part 2

Performance Characterization

Because of the complexity of assembling and configuring the multitude of IPs needed in contemporary mobile platforms there is a potential risk that bugs can be introduced. The first step in validating such a platform is to perform a rigorous set of tests that characterize the maximum achievable performance of all the paths through the system. Taking each master in turn and driving the maximum traffic the interface is capable of and then measuring the limits can find many issues that otherwise may not be found. To perform this task the actual master interfaces need to be driven with an appropriate verification IP (VIP) to give total control on the type of traffic injected into the system.

Figure 3 shows how VIP for AMBA protocols needs to be connected to the system in order to drive all the possible paths through the system for Performance Characterization.

Figure 1 (See Part 1 How to Measure and Optimize the System Performance of a Smartphone RTL Design) introduced some of these classes at a high level, let’s drill down and understand better what the different requirements are.

Using VIP to drive AMBA Traffic for Performance Characterization

Figure 3: Using VIP to drive AMBA Traffic for Performance Characterization

Tests can be run on the testbench to perform comprehensive characterization of the system behavior and then the results can be tabulated and analyzed. Typically a range of tests are performed  including bandwidth testing where each path from master to slave memory is driven with saturating (back-to-back transactions) traffic for READ, WRITE and mixed READ/WRITE. For example the path from M5 to S0 in Figure 3 would be characterized for maximum READ bandwidth, maximum WRITE bandwidth and maximum READ/WRITE bandwidth. The proportion of READ and WRITE can be variable but a typical system would have 60/40 or 70/30 READ/WRITE ratio. Similarly minimum latency testing can be performed using simple traffic sequences.

When running characterization tests it is normal to disable any quality of service (QoS) or similar dynamic load balancing mechanisms as only one master is active. Characterization tests can also be used to explore the limits of double data rate (DDR) controller performance and understand the upper limits of DDR efficiency that might be achieved with the knowledge that in realistic operation the system will never achieve 100% of its theoretical limits.

This type of performance characterization lends itself to automation as a suite of systematic tests can be generated by EDA tools if they have sufficient system knowledge and the results can be captured by the VIP monitors.

In part 3 we will introduce the second step in our systematic approach to performance analysis, use case performance analysis.

How to Measure and Optimize the System Performance of a Smartphone RTL Design - Part 1

How to Measure and Optimize the System Performance of a Smartphone RTL Design - Part 3

How to Measure and Optimize the System Performance of a Smartphone RTL Design - Part 4

Cadence System Design and Verification

Anonymous
SoC Design blog
  • SoC Design blog: Simplifying workload modeling with AMBA ATP Engine

    Francisco Socal
    Francisco Socal
    Following the release of the AMBA Adaptive Traffic Profiles (ATP) Specification, we are pleased to announce the AMBA ATP Engine, to further facilitate ATP’s adoption into a variety of platforms.
    • May 20, 2020
  • SoC Design blog: Docker enables Arm Cycle Model Studio on Ubuntu

    Jason Andrews
    Jason Andrews
    Arm Cycle Model Studio (CMS) is a great tool to create SystemC simulation models from Verilog RTL source code. This articles shows how to use Docker to run CMS and create models on an Ubuntu machine.
    • October 23, 2019
  • SoC Design blog: AMBA ATP: Gaining momentum with workload modeling

    Francisco Socal
    Francisco Socal
    This blog presents examples of AMBA ATP adoption and the benefits that Arm and its ecosystem partners deliver.
    • August 7, 2019