Eating your own Dog Food – The Origin of Carbon Performance Analysis Kits (CPAKs)
A few years ago we helped a customer with what we thought was going to be a very straightforward performance analysis project for a complex SoC they were developing. The plan was to assemble and configure a processor-interconnect-memory subsystem, program some traffic generators to simulate some high speed serial I/O loads, compile and run some industry standard benchmarks, analyze the results, tweak some parameters, and then iterate through this process until they achieved their target performance metrics. Needless to say, achieving the end result turned out to be a lot more work and take a lot more time than either of us initially planned. There is nothing like using your own tools to do what your customers try to do (ie. eating your own dog food) - to see the world as they see it. This experience opened our eyes as a company to everything we had to do to make the performance analysis process simple for our customers. The idea behind a CPAK was born.
Our approach was to create a kit that would allow customers to take a phased crawl-walk-run approach to doing performance analysis projects. The goal for the crawl phase was to enable users to get meaningful results from a CPAK on day one. To accomplish this each CPAK would need 100% cycle accurate models assembled into a reference platform complete with initialization software and the OS (Linux or Android). In the walk phase, the initial reference platform we delivered had to be configurable within minutes using Carbon’s IP Exchange model portal to enable customers to change the configuration of the processor, interconnect or memory subsystem. Finally, in the run phase CPAKs needed to be extensible by allowing customers to add any additional IP to the reference platform that was critical to analyzing and optimizing the performance of their system.
Carbon is introducing 12 CPAKs today for the following ARM® processors Cortex™-A7, Cortex-A9, Cortex-A15 and big.LITTLE™ in bare metal, Linux and Android configurations. Carbon will be releasing more CPAKs in the future. Each CPAK will have an option to work with Carbon’s Swap & Play™ technology, which will enable CPAKs running Linux or Android to get through the OS boot in seconds before starting the performance analysis with 100% cycle accurate Carbon models. CPAKs bring three big benefits to customers designing complex SoC’s:
- They reduce the time it takes to model, assemble and configure a reference platform, bring up the initialization software and port the OS from months down to hours.
- They reduce time to market and risk of re-design by enabling analysis, optimization & verification of performance early in the design cycle - up to 9 months before tape out
- They are the only virtual platform solution that uses 100% cycle accurate models enabling customers to guarantee their performance results will match final silicon.
Putting ourselves in our customer’s shoes has taught us a valuable lesson about eating our own dog food. We think our customers are going to like the result.