• The OVPsim simulator which is freely available
for full system simulation and non-commercial
usage.
• Application Programming Interfaces (APIs) which
are four interfaces in C language.
• A collection of free open source processor and
peripheral models.
Compared to QEMU, OVPsim presents advantages such as the
ability to design complex MPSoC platforms.
The work presented in [8] aims at exploring OVP and its
interoperability with the existing TLM based SystemC
platforms. Experimentation results showed that OVP is faster
than other existing solutions. Authors in [9] present the
behavior of some MPSoC architectures. They are based on
only ARM7 and MIPS32 IP core processors. Also, there is not
an explicit use of the shared memory for communication
between cores, neither for multiprocessor architectures
without OS nor for those with OS. OVP offers many processor
and peripheral models but it lacks services for inter processor
communication and data sharing. For multicore architectures
booting an OS we should take into account that we can
simulate only a single instance of a VGA (Video Graphics
Array) window on our host. Thus, we propose a method for
inter-communication between the different processors as well
for the display issue.
III. THE PROPOSED SIMULATION SOLUTION
Our solution concerns the inter processor communication
as well as the display issue for Linux in our case.
1. The communication between processors
Communication and sharing data between multiple cores in
the same chip is a major issue in MPSoC design. Referring to
their topologies and memory organization, multiprocessor
systems are generally classified into three groups:
• Shared memory system
• Distributed memory system
• Distributed shared memory system
In OVP, the only method that permits the communication
between different cores is the use of shared memory.
Processors are interconnected to the shared memory using a
bus. Any processor can read or write data from this memory.
A. Shared memory at the first buss’s adress
A programming model is made up of a set of techniques
which can be used by the software to interact with hardware.
The use of the shared memory in a design can be a technique
for communication between processors offered by OVP. It can
be connected to a bus at the first address.
We define an architecture composed of two processors
where each one is connected to a local memory and a shared
memory. Components are connected to each other with busses.
The shared memory is connected to the 32 busses of both