Virtual prototypes in the design flow
Design teams don’t need to accept inaccuracy or wait until design
freeze if they use a virtual prototype. Software from Carbon Design
Systems, for example, allows engineers to do advanced performance
optimization by leveraging ARM Fast Models for speed and Carbon’s Swap
& Play™ technology for 100% accuracy. The integration with ARM Fast
Models enables an engineer to increase simulation performance in
selected components during periods of time when accuracy isn’t critical.
Swap & Play then enables ARM Fast Model components to be swapped
out in favor of their 100% accurate equivalent components when accuracy
is required, such as benchmarking. Essentially, this means performance
when it’s wanted and accuracy when it’s needed.
the system illustration below, the engineer used the Cortex-A15 Linux
Carbon Performance Analysis Kit (CPAK) to accelerate analysis,
optimization and verification of the SoC’s performance. The CPAK
contains reference hardware and software designs along with analysis and
debug software for the Cortex-A15 processor, a way for him to
immediately begin analyzing performance and power constraints.
Figure 1: The Cortex-A15 Linux CPAK was used to accelerate analysis.
booting the Linux kernel provided the CPAK, the engineer created a Swap
& Play checkpoint corresponding to the start the Dhrystone
benchmark. Instead of simply swapping over to cycle-accurate execution
at that point, however, he continued running in the Fast Model-based
system. He used SoC Designer Plus’ built-in checkpoint manager to create
a variety of additional checkpoints, each representing different
benchmarks or interesting points of execution.
accurate results, he then loaded each of the checkpoints into the
cycle-accurate implementation of the CPAK and completed the benchmark
execution. This enabled him to pinpoint certain areas of the benchmark
for deeper analysis without needing to execute the entire benchmark in
cycle-accurate mode. The screen shot below gives a small sample of the
system profiling statistics that can be gathered while running the
Figure 2: The virtual prototype is tracking several hardware events and statistics running a benchmark on top of an operating system.