Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
CS G553
‹#›
Lecture – 25,26
Programming Reconfigurable Systems: In System
Integration, Implementation Approaches
CS G553 2
In System Integration
3 different ways (usage)
3 different methods (Reconfiguration)
2 approaches (Implementation)
CS G553 3
Rapid Prototyping
ITALTEL FLEXBENCH
CS G553 4
Non Frequent reconfiguration
2. Non-frequently reconfigurable
systems: The RD is used as
application specific device similar to
ASIC. However the possibility of
upgrading the system by means of
reconfiguration is given.
The Nallatech BenADIC
Examples:
The RABBIT System, the celoxica
RC100, RC200, RC300, the The Celoxica RC200
Nallatech BenADIC.
CS G553 5
Frequent reconfiguration
Examples:
the Raptor 2000, the celoxica RC1000
and RC2000, the Nallatech Ballynuey.
ENG6530CSRCS
G553 7 7
Reconfigurability
Reconfiguration is either static (execution is interrupted), semi-static (also
called time-shared) or dynamic (in parallel with execution):
1. Static configuration involves hardware changes at the slow rate of days/weeks,
typically used by hardware engineers to:
I. Evaluate prototype chip implementations,
II. Implement an architecture on an entire FPGA fabric or multiple FPGAs.
CS G553 8
Static and dynamic Reconfiguration
● The three ways of using a reconfigurable systems can be classified in
two big categories:
CS G553 9
Static Implementation and CTR
CONFIGURE EXECUTE
CS G553 10
Static Implementation and CTR
Flexibility
Design A Designs loaded
Power Savings
Configuration when required
Design A, B, & Design B Design A
B
C
controller
C stored in
Hardware Reuse
external Design C Current required
memory
B Required
Design A
C design replaces
External memory FPGA Fabric old one on the
same fabric
CS G553 11
Static Reconfiguration
No complexity
associated with
generating bit-streams
nor mapping onto
FPGA
CS G553 12
Reconfiguring FPGA
Different Configuration interfaces
o JTAG
o SelectMAP
o Slave/Master Serial
o ICAP (a special case of SelectMAP) (Internal Configuration Access
Port)
o PCAP (Processor Configuration Access Port)
CS G553 13
How to manage large Designs?
CS G553 14
Implementation Approaches (RTR)
CONFIGURE EXECUTE
CS G553 15
Static and dynamic Reconfiguration
Step 1. The
operating system
transfers the least
recently used data
and program
instructions to Step 2. The
disk because operating system
memory is needed transfers data and
for other program
functions. instructions from
disk to memory
when they are
needed.
CS G553 17
Virtual Hardware
Active tasks
Inactive tasks
Function A
Function B
Function B
Function C
Overwrite function B
with new function C
CS G553 18
Virtual Hardware
CS G553 19
Run Time Reconfiguration
CS G553 20
Run Time Reconfiguration
Partial Reconfiguration:
Static Partial Reconfiguration (Global RTR): Reconfiguring a
portion of the device (changing the functionality) when the
device is inactive without affecting other areas of the device
CS G553 21
Global RTR Implementation
Application
#1
Reconfiguration
Reconfiguration
#2
#3
Execution
Execution
Reconfiguration
#4
Reconfiguration
#2 Contexts
#1
#4
Local RTR
A A D
B EX EX
E. C E.
CS G553 23
Local RTR Implementation
#1
Reconfiguration
#2
#3
#4
#1 Reconfiguration
Contexts
#4
#3
#3#2
CS G553 25
Partial Reconfiguration (PR)
PR allows the ability to reconfigure a
portion of an FPGA dynamically by dividing
the FPGA into two types of regions ICAP Module A
Controlling Agent
o Static region - contains static portion of the Module B
Mem controller
design (Static Modules)
Central
o Partially reconfigurable region (PRR) - Module C
loaded with a partial reconfiguration
module (PRM) Module D
PR benefits in addition to full
reconfiguration benefits Static modules Reconfigurable Modules (PRMs)
Static region
o Smaller bitstreams sizes
• Reduced power consumption Static Modules:
PRR 2 C&D
• Reduced memory requirements modules
CS G553 27
Prior Obstacles to RTR
CS G553 28
Design Flow
Full bitstream
JBitsCopy
merge
JBitsCopy
extract
Dynamic Dynamic
Core 2 Core 2
CS G553 29
Computation flow
● The computation in a reconfigurable system
is usually done according to the figure
aside. The processor controls the complete
system.
CS G553 30
Computation flow
4) Upon completion, the RD acknowledges
the processor.
CS G553 32
Computation flow
CS G553 33
Hardware/software partitioning
The implementation of a reconfigurable
system is a Hardware/software co- design
process which determines:
CS G553 34
Computation flow
CS G553 35
RTR Challenges
o Scheduler
• Decides when a task must be executed
Services Task Request
• Tasks in a database
• Characterized by (bbox, run time)
Module Scheduler
o Placer Database
M1 M4
• Temporal placement: management of tasks at run
time M2 M3
Placer
• Allocates a set of resources for the task.
O.S.
• If cannot find a site, task is rejected
Challenges: T2
o Fragmentation
T
o Communication between new/old tasks T1 N
Reconfigurable Device
CS G553 36
Operating Systems for RCS
CS G553 37
Tasks of OS for RCS
General Tasks
o Loader
o Scheduler
o Memory management
o I/O Handler
o Inter-process communication
Special Tasks
o Allocation
o Partitioning
o Placement
o Routing multiple circuits on one or more FPGA
CS G553 38
Conclusion
CS G553 39
Reputed Conference/Journals
Journals
o ACM transactions on reconfigurable technology and systems
o International Journal of Reconfigurable Computing
o Elsevier Microprocessor and Microsystem
Conferences
o Reconfigurable Architectures Workshop (RAW) 27th is announced
o Reconfigurable Communication-centric Systems-on-Chip (ReCoSoC), 2019
o International Symposium on Applied Reconfigurable Computing (ARC) 2020
announced
o International Conference on Reconfigurable Computing and FPGAs
(ReConFig) 2019 in Dec, Mexico
o FPGA 2020-28th ACM/SIGDA International Symposium on Field-
Programmable Gate Arrays
o 30th Field Programmable Logic and Applications (FPL) , 2019
o Filed Programmable Technology (FPT), 2019
CS G553 40
Our Work
Prince A.A. and Mishra S. (2015) „Multi-Mode Electronic Stethoscope Implementation and
Evaluation Using Dynamic Reconfigurable Design‟, 5th IEEE International Advanced Computing
Conference (IACC 2015), p.p. 228-232, June 12th - 13th 2015, Bangalore, India, IEEE.
CS G553 42
Latest Development:: Xilinx
CS G553 43
The End
Questions ?
CS G553 44