Professional Documents
Culture Documents
2007 Nocs Config Slides
2007 Nocs Config Slides
Outline
Introduction
Consistency
Implementation
Results
Conclusions
2
NOCS'07 / Andreas Hansson
Introduction
3
NOCS'07 / Andreas Hansson
Introduction
Systems on Chip (SoC) grow increasingly complex
Multiple applications are integrated on the same chip
Applications are started and stopped dynamically
4
NOCS'07 / Andreas Hansson
Reconfiguration requirements
Means for performing changes
programmable architecture
control infrastructure
5
NOCS'07 / Andreas Hansson
Consistency
6
NOCS'07 / Andreas Hansson
Transactions
Intellectual property (IP) modules interact via transactions
Typically using protocols such as DTL, APB, AHB, OCP and AXI
request
Master
Slave
response
7
NOCS'07 / Andreas Hansson
Channels
A channel can be seen as a set of virtual wires
The mapping to physical resources is determined by
8
NOCS'07 / Andreas Hansson
Transactions revisited
The virtual-wire view of a channel is non-trivial to uphold
request
Master
Slave
response
9
NOCS'07 / Andreas Hansson
Transactions revisited
The virtual-wire view of a channel is non-trivial to uphold
Transactions occur on multiple levels and locations
request
request
NI shell
(slave)
Master
response
NI kernel
Router
network
NI kernel
NI shell
(master)
Slave
response
10
NOCS'07 / Andreas Hansson
Transactions revisited
The virtual-wire view of a channel is non-trivial to uphold
Transactions occur on multiple levels and locations
request
NI shell
(slave)
Master
response
NI kernel
Router
network
NI kernel
NI shell
(master)
Slave
response
11
NOCS'07 / Andreas Hansson
Implementation
12
NOCS'07 / Andreas Hansson
Hardware support
Run-time programmability is implemented by
registers in the NI kernels and shells (possibly also in the routers), and
a memory-mapped configuration port on each NI
NI
Master
Config
Master
Router
network
NI
Slave
NI
13
NOCS'07 / Andreas Hansson
Hardware support
Run-time programmability is implemented by
registers in the NI kernels and shells (possibly also in the routers), and
a memory-mapped configuration port on each NI
Config
Master
Router
network
NI
Slave
NI
14
NOCS'07 / Andreas Hansson
Hardware support
Run-time programmability is implemented by
registers in the NI kernels and shells (possibly also in the routers), and
a memory-mapped configuration port on each NI
Config
Master
Router
network
NI
Slave
NI
15
NOCS'07 / Andreas Hansson
Hardware support
Run-time programmability is implemented by
registers in the NI kernels and shells (possibly also in the routers), and
a memory-mapped configuration port on each NI
Config
Master
Router
network
NI
Slave
NI
16
NOCS'07 / Andreas Hansson
Hardware support
Run-time programmability is implemented by
registers in the NI kernels and shells (possibly also in the routers), and
a memory-mapped configuration port on each NI
Config
Master
Router
network
NI
Slave
NI
17
NOCS'07 / Andreas Hansson
Hardware support
Run-time programmability is implemented by
registers in the NI kernels and shells (possibly also in the routers), and
a memory-mapped configuration port on each NI
Config
Master
Router
network
NI
Slave
NI
18
NOCS'07 / Andreas Hansson
Hardware support
Run-time programmability is implemented by
registers in the NI kernels and shells (possibly also in the routers), and
a memory-mapped configuration port on each NI
Config
Master
Router
network
NI
Slave
NI
19
NOCS'07 / Andreas Hansson
Hardware support
Run-time programmability is implemented by
registers in the NI kernels and shells (possibly also in the routers), and
a memory-mapped configuration port on each NI
Config
Master
Router
network
NI
Slave
NI
20
NOCS'07 / Andreas Hansson
Transaction-level configuration
Configuration must take place in a quiescent state
Cut on transaction boundaries, but
this might never occur (or take a very long time)
21
NOCS'07 / Andreas Hansson
Normal operation
MNIP
write read
write
read
master NI side
rdata
wdata
wdata
livetrns
in between transactions
SNIP
slave NI side
write
read
rdata
wdata
22
NOCS'07 / Andreas Hansson
Transaction-level stopping
MNIP
write read
no new write
master NI side
finish rdata
rdata
wdata
wdata
blocked
livetrns
blocked;
no live transactions
SNIP
slave NI side
write
read
rdata
wdata
stop
stop_in
finish current transactions;
dont start any new transactions
23
NOCS'07 / Andreas Hansson
Software support
Configuring the network involves individual registers in routers and NIs
Programming is tedious and error prone
Abstraction level must be raised
24
NOCS'07 / Andreas Hansson
Results
25
NOCS'07 / Andreas Hansson
Setup time
Three different implementations of the configuration master
Ideal processor
ARM7TDMI@100MHz with pure read/write calls
ARM7TDMI@100MHz with ART library
26
NOCS'07 / Andreas Hansson
Setup time
Three different implementations of the configuration master
Ideal processor
ARM7TDMI@100MHz with pure read/write calls
ARM7TDMI@100MHz with ART library
27
NOCS'07 / Andreas Hansson
28
NOCS'07 / Andreas Hansson
29
NOCS'07 / Andreas Hansson
Conclusions
30
NOCS'07 / Andreas Hansson
Conclusions
There is a need for a systematic approach to (re-)configuration of NoCs
Multiple use-case applications is a fact
31
NOCS'07 / Andreas Hansson
32
NOCS'07 / Andreas Hansson
Binary size
Varying the number of NIs and the number of connections
33
NOCS'07 / Andreas Hansson