Tutorial: Creating Virtual Platforms


A virtual platform is a simulation model of a hardware platform. This tutorial introduces you to the Imperas / OVP approach of building models of a hardware board / system. It first explains the underlying component library mechanism and shows how to find out what components are in the library. By using components from the VLNV library, modules are created that model different hardware configurations. The chapters include using processors, memory, and peripheral components including system hierarchy.
OVP T3 TuTorial

Chapters:
1Introduction to virtual platforms and the VLNV Component Library
An introduction to creating virtual platforms using modules and components from the VLNV library.
2Creating a Virtual Platform containing Processor and Memory
Creating a hardware module definition of a simple Virtual Platform with a processor and a memory.
3Creating a Virtual Platform containing Processor, Memory and Peripherals.
Creating a hardware module definition of a simple Virtual Platform with a processor, a peripheral model of a UART and a memory.
4Creating a Virtual Platform that shows how to alias address regions.
Adding Memory Aliasing to a hardware module definition using bus bridges. A hardware module definition of a simple Virtual Platform of a processor and a memory is modified to alias memory using a bus bridge.
5Creating a Virtual Platform that supports data endian swapping on address regions.
Including memory data endian swapping between processors and other sub-system. Why this is used with OVP Peripheral models that are implemented using Host machine endian.
6Creating a Virtual Platform containing multiple processors with shared resources
A hardware module definition of a Virtual Platform with multiple processors each having a local private memory and a common shared region of memory, accessed by all processors.
7Creating a Virtual Platform containing multiple processor sub-system modules.
A hardware module definition of a Virtual Platform with multiple processors having local private memory and a common shared region of memory.
8Creating a Virtual Platform containing Hierarchical modules.
In hierarchical designs a common module may be used several times but may require that some aspects are configured, for example memory address. This example shows a module instanced twice and the address on the main bus on which the peripherals appear on the main bus configured.
9Creating a Virtual Platform containing Parameterized Hierarchical modules.
A Virtual Platform can be hierarchical. A module (defining hardware resources) can be instantiated multiple times and connected together. This examples shows a sub-system including a processor, a peripheral (UART) and memory being instanced twice. The UARTS are connected together to allow communication between the two sub-systems applications.