Ruprecht-Karls-Universität Heidelberg

Simulating and Analyzing the Extoll Network with a Timing-Accurate SystemC Model

Master Thesis by Daniel Kruck


Tuning and optimizing a high performance interconnection network is a challenging task. The reason for this is that many potentially contradicting multi-dimensional optimization problems are involved at various levels of the hardware design process. Unfortunately, a lot of the these problems are NP-complete. Therefore, exact algorithms cannot be applied in order to optimize a network with the current techniques. Instead, the optimization process must be guided by human intuition. But even though humans are fairly good in developing optimization ideas, they usually fail in considering all consequences. Therefore, human ideas must be verified by a simulation. The simulation results of various model prototypes can be compared and good strategies can be identified. Furthermore, new ideas can evolve based on the simulation feedback.

In this thesis, the simulation of the Extoll network is described. The main contribution is the integration of several techniques to build a highly flexible simulator for the architectural exploration of the Extoll network.

In order to build the simulator rapidly, the well established SystemC kernel is applied. The required flexibility is achieved by the utilization of the policy based class design. As shown in this work, the novel combination of SystemC and policy classes allows for fast and yet flexible simulators. The developed Extoll simulator is timing-accurate with respect to its waveform between modules with synchronization duties, but the timing of other modules might differ significantly from a Verilog hardware simulation. This way, the simulation runs up to three orders of magnitude faster than a Verilog hardware model, but preserves the timing behaviour of the actual Extoll device to a high degree.

On top, an improved round robin schema for both, the request unit as well as the port arbiter is suggested. The idea of improving these units was triggered by the results of a simple simulation.


« back

back to top