Runtime Reconfigurable Network-on-chips
for FPGA-based systems
Mugdha Puranik
Department of Electrical and Computer Engineering
mpuranik@rams.colostate.edu
Introduction

• Need of reconfigurable hardware for Embedded
System devices
• Flexibility provided by Field Programmable Gate
Arrays (FPGAs)
• Need to suitable communication architecture
• Runtime reconfigurable Network-on-chip (NoC)
Partial Reconfiguration of FPGA

Static
modules

Static region

•
•

The partial bit files can be downloaded to modify the reconfigurable regions
to change the functionality or just some parameters, without compromising
the integrity of applications running on other parts
Static logic and Reconfigurable logic
Partial bitstreams downloaded via Slave SelectMAP, Slave Serial, JTAG, or
Internal Configuration Access Port

FPGA

•

PRR 1
PRR 2

Modules: A & B

Modules: C & D
Design Factors

Quantitative Metrics






Throughput
Latency
Area
Interconnect Utilization
Power and energy consumption

Crucial Characteristics





Scalability
Extensibility
Modularity
Flexibility
Architectures

Communication Architectures which support
dynamic exchange of hardware modules
DyNoC-Dynamic Network-on-chip
•
•
•
•

Packet based NoC
2D array of processing elements and router
Routers inside the boundary of the modules are redundant and can be used
as additional resources to implement bigger modules
S-XY routing
CuNoC

•
•
•
•
•

Enhances the architecture of DyNoC
CU receives upto 4 packets at a time and has one buffer for all
Determines the transfer schedule according to priority-to-right rule
Two types: (1)Classic CU (2) To-give-way Cugw
High performance and low area overhead
QNoC
•
•
•

QNoC also allows dynamic placement of modules in 2D mesh topology
and computes path from source to destination during runtime
Q-switch : Input registers, Routing Block, Output Logic, Control Logic
Yields higher throughput due to additional intelligent logic of Q-switch
CoNoChi-Configurable NoC

•
•
•
•
•

Virtual cut through switches with
four equal full duplex links
FPGA is partitioned into grid of
rectangular subareas
Network size and topology can be
changed at runtime
Supports physical and logical
addresses
Less number of switches, saves
area, reduces latency
ReNoC-Reconfigurable NoC

• Configurability is inserted as a layer
between routers and links
• Energy-efficient topology switches
• ReNoC is that it uses both energy
efficiency of circuit switching and
flexibility of packet switching
• Clock gating and power gating for
unused switches and links
• Compared to static NoC, application
specific reconfigurable architecture
ReNoC leads to 56% power reduction
RecoNoC

•

Dynamic reconfigurability of
FPGA to create shortcuts from
source to destination
• Additional I/O port in crossbar
• TMAP datafolding toolflow to
automatically generate RecoNoC
 Reduced reconfiguration time
 Smaller area
Programmable NoC Router RANoC

• Router architecture of Network on
chip (RANoC)






Network processor on chip (NPoC)
Reconfigurable crossbar switch (RCS)
Decoder unit
Arbiter unit
Input buffer and buffer access unit

• NPoC configures RCS, RCS adapts
its topology
• Compared to a conventional NoC
(SoCIN), RANoC is smaller and
consumes less power
• Power efficient, fast adaptable router
PNoC

•

Subnets containing router and network
nodes, which can be replaced
dynamically

•

Router performs circuit switching of the
nodes

•
•
•
•

PNoC topologies
Routing table is maintained to establish
connections between modules
Advantages: high communication rates,
low latencies, simpler
Disadvantages: wasted bandwidth, poor
scalability, setup latencies
DRNoC: For Fast System Emulation

• Reconfigurable platform which
accelerates the design space
exploration
• Cores are dynamically allocated to
REs (Reconfigurable Elements)
• Different DRNoC configurations are
downloaded in FPGA and emulated
• Advantages
 No synthesis needed
 Reconfiguration time in range of
microseconds
 Online traffic measurement allows
tracking network dynamics
Fault Tolerant Reconfigurable NoC-based SoC

•
•
•
•
•

Each tile holds a core container and cache memory
NoC is circuit switched
Tasks are allocated dynamically and identified using tasks identifier
Randomness in runtime mapping of tasks and in route selection: tolerant to
faults in interconnections and cores
User-aware task allocation & cache memory in tiles: runs tasks with higher
temporal locality faster
Hardwire NoC On Future FPGAs

•
•
•





Hardwire NoC to support the dynamic
reconfigurability of FPGAs
Additional routing resource
Advantages
Saves valuable reconfigurable resources
High speed due to high bandwidth
Reduced power consumption
Simplified design
Design Flow for NoC-based devices

•
•




Need: to reduce design and testing time
Advantages of automating designing of reconfigurable NoC
efficient resource utilization
reliable and fast verification and design space exploration
effective testing for system debugging
Example of Design Flow

Phases
 Requirement capturing
 Interconnections needed
 Mapping: Communication architecture
 Routing: All routes needed
 Placement: Reconfigurable regions in grid
 Final solution selection
Outputs
 XML files-output of every intermediate
step
 SystemC files-used for simulation
 VHDL files-define reconfigurable
architecture
 Bitstreams-used to configure FPGA
Application Mapping To Use Case Execution

•
•
•
•
•

Reconfigurations needed after mapping of applications executing a
particular use case
Minimum reconfiguration overhead, area-efficiency, eliminate re-synthesis
NoC based MPSoC synthesis
Load and compile program codes on processors
Possible NoC configurations are stored in controlling processor
Conclusion

• To integrate multiple applications on single FPGA
• Reconfigurable NoCs- interconnect framework,
reconfiguration capabilities, flexibility and performance
• Guide in deciding one or the other interconnection architecture
• Motivate development of novel reconfigurable communication
architectures
References

1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.

C.Bobda et al., “DyNoC: A Dynamic Infrastructure For Communication In Dynamically Reconfigurable Device”, FPL, 2005
S. Jovanovic et al., “CuNoC: A Scalable Dynamic NoC for Dynamically Reconfigurable FPGAs”, FPL, 2007
T. Pionteck et al., “A Dynamically Reconfigurable Packet-Switched Network-on-Chip”, Proc. DATE, 2006
S. Jovanovic et al., “A New High-Performance Scalable Dynamic Interconnection for FPGA-based Reconfigurable Systems”,
Proc. ASAP, 2008
M. Stensgaard et al., “ReNoC: A Network-on-Chip Architecture with Reconfigurable Topology”, NoCS, 2008
R. Vancayseele et al., “RecoNoC: a Reconfigurable Network-on-Chip”, ReCoSoC, 2011
C. Hilton et al., “PNoC: a flexible circuit-switched NoC for FPGA-based systems”, Proc. Computers and Digital Techniques,
2006
Yana E. Krasteva et al,. “A Fast Emulation-based NoC Prototyping Framework”, Proc. ReConFig, 2008
M. Hosseinabady et al., “Fault-Tolerant Dynamically Reconfigurable NoC-based SoC”, ASAP, 2008
R.Hecht et al,. “Dynamic Reconfiguration With Hardwired Networks-on-Chip On Future FPGAs”, FPL 2005
H.C. Freitas et al., “Design of programmable NoC router architecture on FPGA for multi-cluster NoCs”, Electronics Letter, 2008
D. Cozzi et al., “Reconfigurable NoC Design Flow for Multiple Applications Run-Time Mapping on FPGA Devices”, GLSVLSI,
2009
S.Lukovic et al., “An Automated Design Flow for NoC-based MPSoCs on FPGA”, RSP, 2008
A.Kumar et al., “An FPGA Design Flow for Reconfigurable Network-Based Multi-Processor Systems on Chip”, DATE, 2007
V.Nollet et al., “Centralized Run-Time Resource Management in a Network-on-Chip Containing Reconfigurable Hardware
Tiles”, DATE, 2005
A. Kumar Singh et al., : Mapping Real-life Applications on Run-time Reconfigurable NoC-based MPSoC on FPGA”, FPT, 2010
T.Piontek et al., “Communication Architectures for Dynamically Reconfigurable FPGA Designs”, IPDPS, 2007
Terrence S. T. Mak et al. “On-FPGA Communication Architectures And Design Factors”, FPL, 2006
R.Dafali et al., “Key Research Issues for Reconfigurable Network-on-Chip”, ReConFig, 2008
Marculescu et al., “Challenges And Promising Results in NoC Prototyping Using FPGAs”, Micro IEEE, 2005
M.Huebner et al., “Scalable Application-Dependent Network on Chip Adaptivity for Dynamical Reconfigurable Real-Time
System”, FPL, 2004
M.Huebner et al., “Exploiting Dynamic and Partial Reconfiguration for FPGAs — Toolflow, Architecture and System
Integration”, SBCCI, 2006
Partial Reconfiguration User Guide-Xilinx
Zeferino et al., “SoCIN: a parametric and scalable network-on-chip”, Integrated Circuits and Systems Designs, 2003
C.L Chou et al., “User-aware dynamic task allocation in networks-on-chip”, DATE, 2008
Runtime Reconfigurable Network-on-chips for FPGA-based Systems

Runtime Reconfigurable Network-on-chips for FPGA-based Systems

  • 1.
    Runtime Reconfigurable Network-on-chips forFPGA-based systems Mugdha Puranik Department of Electrical and Computer Engineering mpuranik@rams.colostate.edu
  • 2.
    Introduction • Need ofreconfigurable hardware for Embedded System devices • Flexibility provided by Field Programmable Gate Arrays (FPGAs) • Need to suitable communication architecture • Runtime reconfigurable Network-on-chip (NoC)
  • 3.
    Partial Reconfiguration ofFPGA Static modules Static region • • The partial bit files can be downloaded to modify the reconfigurable regions to change the functionality or just some parameters, without compromising the integrity of applications running on other parts Static logic and Reconfigurable logic Partial bitstreams downloaded via Slave SelectMAP, Slave Serial, JTAG, or Internal Configuration Access Port FPGA • PRR 1 PRR 2 Modules: A & B Modules: C & D
  • 4.
    Design Factors Quantitative Metrics      Throughput Latency Area InterconnectUtilization Power and energy consumption Crucial Characteristics     Scalability Extensibility Modularity Flexibility
  • 5.
    Architectures Communication Architectures whichsupport dynamic exchange of hardware modules
  • 6.
    DyNoC-Dynamic Network-on-chip • • • • Packet basedNoC 2D array of processing elements and router Routers inside the boundary of the modules are redundant and can be used as additional resources to implement bigger modules S-XY routing
  • 7.
    CuNoC • • • • • Enhances the architectureof DyNoC CU receives upto 4 packets at a time and has one buffer for all Determines the transfer schedule according to priority-to-right rule Two types: (1)Classic CU (2) To-give-way Cugw High performance and low area overhead
  • 8.
    QNoC • • • QNoC also allowsdynamic placement of modules in 2D mesh topology and computes path from source to destination during runtime Q-switch : Input registers, Routing Block, Output Logic, Control Logic Yields higher throughput due to additional intelligent logic of Q-switch
  • 9.
    CoNoChi-Configurable NoC • • • • • Virtual cutthrough switches with four equal full duplex links FPGA is partitioned into grid of rectangular subareas Network size and topology can be changed at runtime Supports physical and logical addresses Less number of switches, saves area, reduces latency
  • 10.
    ReNoC-Reconfigurable NoC • Configurabilityis inserted as a layer between routers and links • Energy-efficient topology switches • ReNoC is that it uses both energy efficiency of circuit switching and flexibility of packet switching • Clock gating and power gating for unused switches and links • Compared to static NoC, application specific reconfigurable architecture ReNoC leads to 56% power reduction
  • 11.
    RecoNoC • Dynamic reconfigurability of FPGAto create shortcuts from source to destination • Additional I/O port in crossbar • TMAP datafolding toolflow to automatically generate RecoNoC  Reduced reconfiguration time  Smaller area
  • 12.
    Programmable NoC RouterRANoC • Router architecture of Network on chip (RANoC)      Network processor on chip (NPoC) Reconfigurable crossbar switch (RCS) Decoder unit Arbiter unit Input buffer and buffer access unit • NPoC configures RCS, RCS adapts its topology • Compared to a conventional NoC (SoCIN), RANoC is smaller and consumes less power • Power efficient, fast adaptable router
  • 13.
    PNoC • Subnets containing routerand network nodes, which can be replaced dynamically • Router performs circuit switching of the nodes • • • • PNoC topologies Routing table is maintained to establish connections between modules Advantages: high communication rates, low latencies, simpler Disadvantages: wasted bandwidth, poor scalability, setup latencies
  • 14.
    DRNoC: For FastSystem Emulation • Reconfigurable platform which accelerates the design space exploration • Cores are dynamically allocated to REs (Reconfigurable Elements) • Different DRNoC configurations are downloaded in FPGA and emulated • Advantages  No synthesis needed  Reconfiguration time in range of microseconds  Online traffic measurement allows tracking network dynamics
  • 15.
    Fault Tolerant ReconfigurableNoC-based SoC • • • • • Each tile holds a core container and cache memory NoC is circuit switched Tasks are allocated dynamically and identified using tasks identifier Randomness in runtime mapping of tasks and in route selection: tolerant to faults in interconnections and cores User-aware task allocation & cache memory in tiles: runs tasks with higher temporal locality faster
  • 16.
    Hardwire NoC OnFuture FPGAs • • •     Hardwire NoC to support the dynamic reconfigurability of FPGAs Additional routing resource Advantages Saves valuable reconfigurable resources High speed due to high bandwidth Reduced power consumption Simplified design
  • 17.
    Design Flow forNoC-based devices • •    Need: to reduce design and testing time Advantages of automating designing of reconfigurable NoC efficient resource utilization reliable and fast verification and design space exploration effective testing for system debugging
  • 18.
    Example of DesignFlow Phases  Requirement capturing  Interconnections needed  Mapping: Communication architecture  Routing: All routes needed  Placement: Reconfigurable regions in grid  Final solution selection Outputs  XML files-output of every intermediate step  SystemC files-used for simulation  VHDL files-define reconfigurable architecture  Bitstreams-used to configure FPGA
  • 19.
    Application Mapping ToUse Case Execution • • • • • Reconfigurations needed after mapping of applications executing a particular use case Minimum reconfiguration overhead, area-efficiency, eliminate re-synthesis NoC based MPSoC synthesis Load and compile program codes on processors Possible NoC configurations are stored in controlling processor
  • 20.
    Conclusion • To integratemultiple applications on single FPGA • Reconfigurable NoCs- interconnect framework, reconfiguration capabilities, flexibility and performance • Guide in deciding one or the other interconnection architecture • Motivate development of novel reconfigurable communication architectures
  • 21.
    References 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. C.Bobda et al.,“DyNoC: A Dynamic Infrastructure For Communication In Dynamically Reconfigurable Device”, FPL, 2005 S. Jovanovic et al., “CuNoC: A Scalable Dynamic NoC for Dynamically Reconfigurable FPGAs”, FPL, 2007 T. Pionteck et al., “A Dynamically Reconfigurable Packet-Switched Network-on-Chip”, Proc. DATE, 2006 S. Jovanovic et al., “A New High-Performance Scalable Dynamic Interconnection for FPGA-based Reconfigurable Systems”, Proc. ASAP, 2008 M. Stensgaard et al., “ReNoC: A Network-on-Chip Architecture with Reconfigurable Topology”, NoCS, 2008 R. Vancayseele et al., “RecoNoC: a Reconfigurable Network-on-Chip”, ReCoSoC, 2011 C. Hilton et al., “PNoC: a flexible circuit-switched NoC for FPGA-based systems”, Proc. Computers and Digital Techniques, 2006 Yana E. Krasteva et al,. “A Fast Emulation-based NoC Prototyping Framework”, Proc. ReConFig, 2008 M. Hosseinabady et al., “Fault-Tolerant Dynamically Reconfigurable NoC-based SoC”, ASAP, 2008 R.Hecht et al,. “Dynamic Reconfiguration With Hardwired Networks-on-Chip On Future FPGAs”, FPL 2005 H.C. Freitas et al., “Design of programmable NoC router architecture on FPGA for multi-cluster NoCs”, Electronics Letter, 2008 D. Cozzi et al., “Reconfigurable NoC Design Flow for Multiple Applications Run-Time Mapping on FPGA Devices”, GLSVLSI, 2009 S.Lukovic et al., “An Automated Design Flow for NoC-based MPSoCs on FPGA”, RSP, 2008 A.Kumar et al., “An FPGA Design Flow for Reconfigurable Network-Based Multi-Processor Systems on Chip”, DATE, 2007 V.Nollet et al., “Centralized Run-Time Resource Management in a Network-on-Chip Containing Reconfigurable Hardware Tiles”, DATE, 2005 A. Kumar Singh et al., : Mapping Real-life Applications on Run-time Reconfigurable NoC-based MPSoC on FPGA”, FPT, 2010 T.Piontek et al., “Communication Architectures for Dynamically Reconfigurable FPGA Designs”, IPDPS, 2007 Terrence S. T. Mak et al. “On-FPGA Communication Architectures And Design Factors”, FPL, 2006 R.Dafali et al., “Key Research Issues for Reconfigurable Network-on-Chip”, ReConFig, 2008 Marculescu et al., “Challenges And Promising Results in NoC Prototyping Using FPGAs”, Micro IEEE, 2005 M.Huebner et al., “Scalable Application-Dependent Network on Chip Adaptivity for Dynamical Reconfigurable Real-Time System”, FPL, 2004 M.Huebner et al., “Exploiting Dynamic and Partial Reconfiguration for FPGAs — Toolflow, Architecture and System Integration”, SBCCI, 2006 Partial Reconfiguration User Guide-Xilinx Zeferino et al., “SoCIN: a parametric and scalable network-on-chip”, Integrated Circuits and Systems Designs, 2003 C.L Chou et al., “User-aware dynamic task allocation in networks-on-chip”, DATE, 2008