By William Orme, Strategic Marketing Manager, Arm and Nick Heaton, Distinguished Engineer, Cadence
This is Part 2 of a 4 part series. Links below
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.
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.
[CTAToken URL = "https://community.arm.com/soc/b/blog/posts/how-to-measure-and-optimize-the-system-performance-of-a-smartphone-rtl-design" target="_blank" text="How to Measure and Optimize the System Performance of a Smartphone RTL Design - Part 1" class ="green"]
[CTAToken URL = "/groups/soc-implementation/blog/2013/11/18/how-to-measure-and-optimize-the-system-performance-of-a-smartphone-rtl-design--part-3" target="_blank" text="How to Measure and Optimize the System Performance of a Smartphone RTL Design - Part 3" class ="green"]
[CTAToken URL = "https://community.arm.com/soc/b/blog/posts/how-to-measure-and-optimize-the-system-performance-of-a-smartphone-rtl-design---part-4" target="_blank" text="How to Measure and Optimize the System Performance of a Smartphone RTL Design - Part 4" class ="green"]
[CTAToken URL = "/docs/DOC-7291" target="_blank" text="Cadence System Design and Verification" class ="green"]