Sample Arm Cortex-A53 CPAK
Sample Arm Cortex-A53 CPAK

Getting Started

Virtual prototypes play a vital role in the design and analysis of system on chip designs. In order to maximize the time spent being productive with virtual prototypes and minimize the time required to create them, Arm supplies a rich library of Cycle Performance Analysis Kits (CPAKs). These extensible virtual prototypes come complete with models, system information and software to enable designer productivity within minutes of download.


Access CPAKs 


CPAK Features

  • Pre-built virtual prototypes featuring advanced technology such as the Arm Cortex-A72Cortex-A57, Cortex-R8 and Cortex-M7 processors
  • 100% accurate models for critical performance elements including processors, fabric, memory controllers and GPUs
  • Arm Fast Model representations to enable application software development at millions of instructions per second
  • Swap & Play, to enable the Arm Fast Model representation to switch to 100% accuracy at any software break-point
  • Bare-metal software package to initialize components and enable easy customization and benchmarking
  • Linux OS packages including source code 

Simple Customization

CPAKs are designed to be useful immediately after download, but not all SoCs are the same. To better model the behavior of your actual SoC, CPAKs can also be easily customized using SoC Designer. SoC Designer enables IP blocks to be reconfigured or replaced. Additional blocks and subsystems can also be added to the system. Designers are able to take advantage of the complete Arm model ecosystem including models from Arm IP Exchange, models compiled from RTL using Cycle Model Studio or handwritten models in C/C++ or SystemC.

Source code is also provided for all software components to enable easy customization. CPAKs minimize the setup tasks typically associated with SoC design and enable engineers to focus their efforts in more productive areas.

Architectural Analysis

CPAKs are ideally suited for accurate architectural analysis. They contain 100% accurate models compiled directly from RTL and instrumented for interactive design, debug and analysis. CPAKs let you see the behavior of the actual silicon months before it is built. This enables the designer to make architectural decisions with confidence. CPAKs take advantage of all of SoC Designer's architectural analysis and visualizations tools to give the designer unmatched insight into actual SoC behavior.

System Performance Optimization

Although many benchmarks execute on a bare-metal system, a large number of them require an OS to be present. Traditionally this presents a problem because the cycle accurate models which are so beneficial for bare metal benchmarks and optimization are simply too slow to be used with an OS. Even booting an OS on a platform containing only cycle accurate models can take days.

CPAKs for the Linux and Android OS solve this problem by using Arm's Swap & Play technology. This enables the OS to boot in seconds and get to the software area of interest for performance analysis. The system representation is then swapped to be 100% accurate (for all or just part of the system) and execution continues. This technique enables accurate benchmarking and optimizations.

Unmatched IP Integration

Your SoC design doesn't just use IP from a single vendor. Your virtual prototype representation shouldn't either. CPAKs can easily accommodate additional third party IP models. These models can either be added to the CPAK platform or used to replace a delivered component. Future CPAKs will also include select third party IP to further accelerate the integration process.

Get support

Community Blogs

Community Forums

Not answered Where do I find presentations and photos from SC'18? 2 votes 4668 views 0 replies Started 1 years ago by John Linford Answer this
Not answered How to handle external blockwise of large files 0 votes 30 views 0 replies Started 7 hours ago by Alex E Answer this
Not answered 2nd noob multiprocessor FVP question, coherency 0 votes 39 views 0 replies Started 7 hours ago by noway Answer this
Suggested answer Noob multiprocessor question for FVP 0 votes 182 views 2 replies Latest 8 hours ago by noway Answer this
Answered Successful flash but program never reaches main() 0 votes 135 views 2 replies Latest 9 hours ago by t.russell Answer this
Suggested answer ARM 8.5-A BTI and MTE Benchmarking 0 votes 14995 views 2 replies Latest 13 hours ago by Stephen Theobald Answer this
Suggested answer What does this message mean? osRtxInfo not found
  • uVision
0 votes 146 views 1 replies Latest 14 hours ago by Adam Lins Answer this
Suggested answer Can only step through assembly code and not the C/C++ editor
  • Debugger
0 votes 229 views 3 replies Latest 14 hours ago by Adam Lins Answer this
Suggested answer How to print osStatus_t defines easily?
  • CMSIS RTOS
0 votes 270 views 3 replies Latest 14 hours ago by Adam Lins Answer this
Not answered Missing HAL:COMMON when trying to import standalone library
  • Microcontroller (MCU)
  • STM32 F0
0 votes 131 views 0 replies Started 16 hours ago by Mitchellpk93 Answer this
Suggested answer Understanding interrupt latency and jitter in Cortex-M
  • Interrupt Handling
  • Cortex-M7
  • Cortex-M
  • Interrupt
0 votes 774 views 6 replies Latest 16 hours ago by Simen Sørensen Answer this
Not answered New project - Missing "_ansi.h" 0 votes 119 views 0 replies Started 16 hours ago by TommyG Answer this
Not answered Where do I find presentations and photos from SC'18? Started 1 years ago by John Linford 0 replies 4668 views
Not answered How to handle external blockwise of large files Started 7 hours ago by Alex E 0 replies 30 views
Not answered 2nd noob multiprocessor FVP question, coherency Started 7 hours ago by noway 0 replies 39 views
Suggested answer Noob multiprocessor question for FVP Latest 8 hours ago by noway 2 replies 182 views
Answered Successful flash but program never reaches main() Latest 9 hours ago by t.russell 2 replies 135 views
Suggested answer ARM 8.5-A BTI and MTE Benchmarking Latest 13 hours ago by Stephen Theobald 2 replies 14995 views
Suggested answer What does this message mean? osRtxInfo not found Latest 14 hours ago by Adam Lins 1 replies 146 views
Suggested answer Can only step through assembly code and not the C/C++ editor Latest 14 hours ago by Adam Lins 3 replies 229 views
Suggested answer How to print osStatus_t defines easily? Latest 14 hours ago by Adam Lins 3 replies 270 views
Not answered Missing HAL:COMMON when trying to import standalone library Started 16 hours ago by Mitchellpk93 0 replies 131 views
Suggested answer Understanding interrupt latency and jitter in Cortex-M Latest 16 hours ago by Simen Sørensen 6 replies 774 views
Not answered New project - Missing "_ansi.h" Started 16 hours ago by TommyG 0 replies 119 views