Projects

Traineeship project: Development of a Network-on-Chip simulator

Description

The number of components integrated in a System-on-Chip (SoC) is rapidly increasing. To control the complexity of combining all these components in one system, a structured mechanism is needed to interconnect them. Networks-on- Chip (NoCs) are often mentioned as a good strategy for this. Furthermore, NoCs can offer guarantees on the bandwidth and latency available for connec- tions between components in the SoC. This enables the design of systems which have a predictable timing behavior. That is an important goal in multimedia systems as there are often strict deadlines on the production of data (e.g. a video frame must be displayed each 1/50 second on the screen).

In this pro ject, a flit-accurate simulation model of a Network-on-Chip is developed in SystemC. SystemC is a hardware description language which enables the development and exchange of very fast system-level C++ models. At first, a model for a router must be developed. The router must support guaranteed- throughput connections. This is realized by using a TDMA-based scheduler in the routers. This scheduler must be configurable at run-time. To limit the buffering resources and to offer strict latency bounds, wormhole routing is used. Each router supports a parameterizable number of input and output ports and queue lengths. The routers use input-queuing as this limits the queue lengths.

After the development of the initial router model, a tool has to be developed which generates a Network-on-Chip simulator instance for a given topology. This topology is described in an XML format which is used by the tool to generate the required routers with required number of input/output ports, queue length and interconnections.

There are a number of different open problems in the development of NoCs. First, guaranteed-throughput routers offer predictable timing behavior. But as more implementations of this type of routers are made, it becomes apparent that these NoCs have a very low link utilization and large delays. NoCs which use best-effort routing do not suffer from these problems, but they do not provide worst-case timing guarantees. It seems logical to see whether both techniques can be combined in a new router which combines the best of both worlds. A second open problem in the field of NoCs is the best routing strategy to use. Several routing strategies have been presented in the last few years. These routing strategies should be implemented in the same NoC framework to make a fare comparison between them. A third open problem is the configuration of the network (i.e. routers and network interfaces) at run-time. It is expected that applications running on future SoCs become more dynamic. The applications will no longer be statically mapped to the SoC, instead they are mapped at run-time. This requires support of the SoC to (re-)configure the routers while the system is running. An important question is here how the amount of time for (re-)configuration can be bounded.

Duration

September 2005 - December 2005

Student:
Supervisor:

Publications