Previous: The VHDL to C++ compiler Up: Analysis of Parallel VHDL Simulation Next: The Architecture Simulator

The parallel kernel

The parallel kernel (parker) was designed with flexibility in mind. It has two well-defined interfaces that allow it to be used for the simulation of a wide variety of simulation algorithms, and network architectures and topologies. One part of the parker handles the internal simulation algorithm (in this case VHDL simulation), while the other part handles the simulation towards the other parallel kernels in the network. For this reason, the parker is usable for other simulation problems as well. The parallel kernel can host a multi-threaded simulation, which is the case in our VHDL simulation.

Together with the C++-code for the VHDL processes, the parallel kernel forms a partition. A partition runs on a single network node, which could be either a uniprocessor, or a shared-memory multiprocessor system. Internally the partition uses a sequential or centralised-time algorithm, while externally it uses a distributed one.