Prazor/VHLS Energy Modelling Virtual Platform

The Prazor/VHLS Virtual Platform is a simulator is written using SystemC TLM 2.0 sockets and can model a number of CPU architectures (x86_64, ARM, MIPS, OpenRISC). Prazor: Find out which thread on which core expended which picojoule of energy in the DRAM or cache system!.

Prazor is a virtual platform for generating energy profiles from multicore CPU systems. The tool has ISA support for x86_64 (6-core AMD), MIPS64, OpenRISC32 and ARM32 (including Thumb2) at the moment. It was implemented by David J Greaves and Milos Puzovic. It currently uses SystemC TLM loosely-timed modelling although we aim to port it to a faster simulation substrate in the future.

Prazor was used in the Project spEEDO project and will be further developed in spEEDO2 which aims to extrapolate performance measurements to give datacentre-scale predictions. spEEDO created a power debug and monitoring API for virtual platforms and real silicon.

White Paper

The spEEDO-1 main output was presented at FDL Barcelona in September 2015. PAPER PDF. SLIDES PDF.

User Manual

There is a temporary user manual on this page temporary Prazor manual

Source Code/Download

The code can be checked out from git if you register at bitbucket and pass your user id on to myself (djg). (The public release will be in a month or so we always hope.) The git repo (containing x86_64, ARM32/Zynq, MIPS64 and OpenRISC) is

git clone https://bitbucket.org/prazorvhls/prazor-virtual-platform

There is also an older copy and an example application here

https://github.com/CJxD/fpga-matrix-mult

Static snapshots, called pvp_nn, of the simulator code is also installed on the Computer Lab file server and can copied or linked to

/usr/groups/han/clteach/btlm/prazor-virtual-platform/vhls/src/arm
.

Profile Runs

A complete instruction trace for booting of linux on the dual-ARM Zynq 7010 chip, as simulated on Prazor, is available for download or to regenerate yourself. The cores boot, mount various filesystems and processes and then start an interactive shell session.

The self-same kernel binary and disk image run on the real hardware as on the virtual platform.

The full boot sequence is about 6 GB in length and contains about 400 million instructions.

The files are on this link, including kernel disassembly and console output: PRAZOR-ARM-LINUX-BOOT.

Links

There is a temporary user manual on this page temporary Prazor manual

TLM Power 3 Draft User Manual

Linux boot instruction traces and console output: PRAZOR-ARM-LINUX-BOOT.


EOF.