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
|