Login

Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

ARM websites use two types of cookie: (1) those that enable the site to function and perform as required; and (2) analytical cookies which anonymously track visitors only while using the site. If you are not happy with this use of these cookies please review our Privacy Policy to learn how they can be disabled. By disabling cookies some features of the site will not work.

ARM Community: ARM Performance Analysis Made Easy - ARM Community

Jump to content

ARM Performance Analysis Made Easy

I hate reading manuals. Maybe it’s a guy thing or maybe it’s the engineer in me, but it’s pretty rare that I’ll bring home a shiny new device and then sit down and read the manual. Give me a few pictures or examples on how something should be used and I’m good to go. Not surprisingly, a lot of customers take this same approach with our software products. Immediately after installation they’ll start things up and look around for an examples directory long before they’ll ever click on the “Help” button.

This approach works well for a lot of tasks but when it comes to more complex tasks that example needs to be very sophisticated to be of value. System on chip (SoC) performance analysis, certainly meets that “complex task” threshold. The best way to analyze the performance of an SoC before it is built is by using a virtual prototype. Before any performance analysis work can be performed however, there is a long list of tasks to be performed. Models need to be assembled and configured for all of the important design elements, or even written if the models don’t already exist. These models need to be pulled together into a system configuration which matches the end design. Finally, software must be written to initialize all of the components in the system and then generate some meaningful traffic. Hopefully your virtual prototyping tool has some good data visualization tools. If not, you can add data extraction and visualization to this lengthy list. This can be quite a daunting set of tasks and requires in-depth expertise on multiple fronts. It’s no wonder that this crucial design step is often done using pen and paper or spreadsheet analysis instead of leveraging the 100% accurate data which can be extracted from a well-constructed virtual prototype.

Leveraging Virtual Prototype Experience
At Carbon Design Systems®, we’re well aware of the steps that designers need to go through to leverage virtual prototypes. As the supplier of 100% accurate virtual models of ARM® IP, our customers go through this process on a daily basis. We’re constantly pushing to automate steps in the virtual prototype design process. Our Carbon Model Studio™ product has been automating the generation of 100% accurate virtual models for nearly 10 years. After purchasing the SoC Designer™ virtual prototype product line from ARM, we introduced the Carbon IP Exchange™ web portal to automate the creation of IP models from ARM and other leading IP providers. Now if you want a model of an ARM Cortex™-15 or Cortex-A9 processor, it’s as simple as logging in, answering a few questions and downloading your model. This week, with the announcement of our Carbon Performance Analysis Kits (CPAK), we are further simplifying the performance analysis process.

Attached Image


Screenshot of the Carbon ARM big.LITTLE Bare Metal CPAK

CPAKs are pre-built, pre-configured virtual prototypes, complete with software, which are available for download from Carbon. CPAKs replace the complex set of multi-disciplinary tasks listed above with a much shorter set: download and execute. You can then use the advanced data visualization and analysis features of Carbon SoC Designer to isolate performance bottlenecks or debug software. Source code is provided for all packaged software, and the system configuration itself can also be easily modified or extended in SoC Designer by either modifying the parameters of the provided components, replacing the models or by adding new models to better represent the actual configuration of the system you’d like to build.

Instead of a Description, How About an Example?
In the spirit of CPAKs, instead of going into an in-depth description of what a CPAK is, I’ll give you an example instead of how one of our customers recently used a CPAK for his design task. Our customer had been tasked with evaluating how well a virtual prototype could be used to model a new Cortex-A9 SoC which was being developed. Making this task more complex, he had no experience with virtual prototypes and had never written any code for ARM processors before. Undaunted, he forged ahead with his plan to prove out the value of this approach by modeling the most recent SoC which his group had built.

Instead of starting with a blank canvas, Carbon provided an early version of our bare-metal CPAK for the ARM Cortex-A9. This design contained a Cortex-A9, generic fabric, generic memory and software. The customer plan was to modify the provided platform and software to model his group’s recent SoC. He started by adding a Dhrystone benchmark to the provided software package. He was able to leverage all of the provided code to initialize the processor and peripherals. So even though he had never programmed an ARM processor before, he had the system up and running the Dhrystone benchmark in a day. He then spent some time familiarizing himself with all of the data analysis and visualization tools that come with SoCDesigner to gain further insight into the behavior of the provided system.

With a running system and a newly ported benchmark, our fearless customer went forward with the next step in the plan and replaced the generic fabric provided in the CPAK with a version of the fabric used in his previous SoC. He used Carbon Model Studio to compile the RTL into a virtual model and then linked it into the system, replacing the provided interconnect model. After a few days spent debugging (NoC configuration can be tricky) the system was back up and running and even more representative of his previous generation SoC. The final step was to insert the actual DDR3 memory controller used on his previous design. This can be a complex task in some cases due to the analog components and complex timing of the DDR3 interface. By using Carbon’s generic DDR3 and PHY models however, he was able to compile his actual design RTL and soon had a 100% accurate DDR3 memory subsystem.

In a matter of days (total time consumed was around two weeks including all of the ramp up times) our customer was able to go from having no knowledge of virtual prototypes or ARM programming to a 100% accurate virtual prototype which represented the behavior of his previous SoC and was executing benchmark code. It certainly beats reading the manual for all of the components and starting from scratch!

DAC Demo Plans
Attached Image
Carbon will be demonstrating CPAKs at the ARM Connected Community Pavilion at this year’s Design Automation Conference in San Francisco, June 4-6. The CPAK we will be showing on the floor will be demonstrating ARM big.LITTLE™ technology. Additional CPAKs which are available now or will be by the end of the quarter include Cortex-A9 Bare-metal, Cortex-A9 Linux, Cortex-A15 Bare-metal, Cortex-A15 Linux and big.LITTLE Bare-Metal. As you can imagine, we’ll be adding new CPAKs regularly to support new processors, new software packages and more complex IP subsystems. The most up to date list of supported CPAKs is always available from Carbon’s IP Exchange web portal.

Carbon is constantly making investments to accelerate the design schedules for the design and analysis of ARM processor-based systems designs. CPAKs are just the latest example of how we’re helping to automate these complex integration steps and enabling the next generation of complex system on chip designs.

Guest Partner Blogger:
Attached Image
Bill Neifert, Chief Technical Officer, Carbon Design Systems,
he founded Carbon Design Systems in 2002. Prior to Carbon he held applications engineering and AE management positions at Quickturn Systems and C Level Design. Bill started his career doing ASIC design and verification for Zenith Data Systems. He has a BS and MS in computer engineering from Boston University.

ARM welcomes its wealth of Partners in the ARM Connected Community (CC) to submit guest blogs to be published on our multiple community blogs. If interested in participating please submit email inquiries to Tell.Us@arm.com.

The ARM Connected Community (CC) is an extensive ecosystem covering all aspects of ARM processor-based design, from chip implementation through to system and device design. The CC provides a platform for collaborative innovation, with multiple types of forums for members to work with one another, and with customers, to solve industry challenges, all with the purpose of enabling designers to focus on differentiating features and an accelerated time-to-market for ARM powered solutions.
All company and product names appearing in the ARM Blogs are trademarks and/or registered trademarks of ARM Limited per ARM’s official trademark list. All other product or service names mentioned herein are the trademarks of their respective owners.

0 Comments On This Entry

Please log in above to add a comment or register for an account