Post on 23-Jun-2022
DYNAMIC PARTIAL RECONFIGURATION
Andrés UpeguiLogic Systems Laboratory – LSL
EPFL
Andres Upegui - Eduardo SanchezEcole Polytechnique Fédérale de LausannePage 2
Reconfigurable computing
♦ Methods for execution of algorithms:• hardwired technology: high performance• software-programmed microprocessors: high flexibility
♦ Reconfigurable computing is intended to fill the gap between hard and soft, achieving potentially much higher performance than software, while maintaining a higher level of flexibility than hardware (Compton and Hauck, “Reconfigurable computing”, ACM Computing Surveys, June 2002)
♦ Reconfigurable computing:• systems incorporating some form of hardware programmability• when we talk about reconfigurable computing we are usually talking
about FPGA-based systems design
Andres Upegui - Eduardo SanchezEcole Polytechnique Fédérale de LausannePage 3
FPGAs
programmableinterconnections
programmablefunctions
configuration
I/O celllogic cell
Andres Upegui - Eduardo SanchezEcole Polytechnique Fédérale de LausannePage 4
Synthesis methodology
configuration bit-stringconfiguration bit-string
schematicschematic
graphic editor VHDL
placement
routing
partition
Andres Upegui - Eduardo SanchezEcole Polytechnique Fédérale de LausannePage 5
Problèmes lié à ce processus
♦ Processus statique♦ Impossibilité de faire une génération aléatoire sur certain
paramètres avec cette méthodes -> comment faire algogénétique ? Simulation ou micro-controleur uniquement
♦ Comment faire une reconfiguration partielle ? Passer par FPGA editor, faire une design basé sur la notion de module.
Andres Upegui - Eduardo SanchezEcole Polytechnique Fédérale de LausannePage 6
Dynamic Partial Reconfiguration
♦ Dynamic partial reconfiguration is done when the device is active. Except during some interdesign communication, certain areas of the device can be reconfigured while other areas remain operational and unaffected by the reprogramming.
♦ Just two commercial options :• Xilinx Virtex families• Atmel FPGAs
♦ Both use partial configuration to achieve run-time reconfiguration.
Andres Upegui - Eduardo SanchezEcole Polytechnique Fédérale de LausannePage 7
Configuration Column Example(XCV50)
Andres Upegui - Eduardo SanchezEcole Polytechnique Fédérale de LausannePage 8
Reconfiguration timing
♦ Minimal times (SelectMap 50 MHz)♦ Header + frame(s) + dummy frame
Minimum reconfiguration time [µs]Device Bits per
frame 1 frame 1 LUT 1 CLB column Full Device
XCV50 384 2,88 17,28 48 1.388,16
4.374
10.970,72
58.658
XCV300 672 4,32 29,52 83,28
XCV800 1088 6,4 47,2 134,24
XCV1000 1248 7,2 54 153,84
Andres Upegui - Eduardo SanchezEcole Polytechnique Fédérale de LausannePage 9
Changing LUTs configuration
♦ Two styles:• Open the routed design with FPGA editor, modify any LUT function or
memory content, generate a partial bitstream with bitgen –r.• Module based designs, where a full module changes between two
configurations.
Andres Upegui - Eduardo SanchezEcole Polytechnique Fédérale de LausannePage 10
Layout
In order to design the internal logic, it must be used modular design
Andres Upegui - Eduardo SanchezEcole Polytechnique Fédérale de LausannePage 11
Bus Macro
♦ Uses horizontal lines that connect CLBs. • Limits the size of reconfigurable modules: the width must be a
multiple of 4, and must be placed on columns multiple of 4.
Andres Upegui - Eduardo SanchezEcole Polytechnique Fédérale de LausannePage 12
Applications♦ Neural networks design
FPGA
Mod
ule
1
Mod
ule
2
Mod
ule
n Different possible configurations for module n
Andres Upegui - Eduardo SanchezEcole Polytechnique Fédérale de LausannePage 13
Applications
♦ Fuzzy systemsFuzzifi-cation
InferenceRules
Defuzzi-fication
BU
S M
AC
RO
BU
S M
AC
RO
Andres Upegui - Eduardo SanchezEcole Polytechnique Fédérale de LausannePage 14
Other Applications
♦ Processor architecture
Rec
onfig
urab
leFu
nctio
nal-u
nit
VLIW Processor
BU
S M
AC
RO
Rec
onfig
urab
leFu
nctio
nal-u
nit
Rec
onfig
urab
leFu
nctio
nal-u
nit
BU
S M
AC
RO
BU
S M
AC
RO
Rec
onfig
urab
leFu
nctio
nal-u
nit
BU
S M
AC
RO
Andres Upegui - Eduardo SanchezEcole Polytechnique Fédérale de LausannePage 15
Other Applications
♦ Filter implementation
Rec
onfig
urab
lest
age
1
Rec
onfig
urab
lest
age
2
Rec
onfig
urab
lest
age
3
Rec
onfig
urab
le
BU
S M
AC
RO
BU
S M
AC
RO
BU
S M
AC
RO
stag
e 4
Andres Upegui - Eduardo SanchezEcole Polytechnique Fédérale de LausannePage 16
Another option: JBits
♦ JBits is a Java API used for describing circuits• Circuits are created when the java code is executed• Structural description• Blocks are generated in run-time, depending on: available area,
desired speed, …• RTP Cores: run-time parameterizable cores
♦ Advantages of JBits• Design Flow compatible with RTR (run-time reconfiguration)• Manipulation of configuration bitstreams.• Easy access to low level FPGA details
♦ Disadvantage: Research tool !!!!! – not well documented
Andres Upegui - Eduardo SanchezEcole Polytechnique Fédérale de LausannePage 17
JBits : qu’est-ce que c’est ?
♦ JBits est une API Java pour décrire des circuits• Description structurel, très bas niveau (LUT, MUX)• Circuits générés sous forme de bitstream lors de
l’exécution du code Java• Peut également générer d’autres formats (xdl, ncd, et des
fichiers destinés aux outils JBits) • Existe en v.2.8 pour Virtex et v.3.0 pour Virtex-II• RTPCores : run-time parameterizable cores : permet une
encapsulation des appels bas niveau
Andres Upegui - Eduardo SanchezEcole Polytechnique Fédérale de LausannePage 18
JBits : Design Flow et architecture
Architecture sommaire de l’API JBits
Andres Upegui - Eduardo SanchezEcole Polytechnique Fédérale de LausannePage 19
JBits : Les outils
♦ XHWIF : Xilinx HardWare InterFace API : interfacepermettant la communication avec des « board » FPGA.
♦ VirtexDS : Simulateur relié à XHWIF permettant de tester des bitstreams sans utiliser le matériel.
♦ BoardScope : outil interactif pour le debut de design sur Virtex ou sur VirtexDS
♦ WaveForm Viewer : visualisation de diagramme de temps des RTPCores.
Andres Upegui - Eduardo SanchezEcole Polytechnique Fédérale de LausannePage 20
JBits : Les outils : Boardscope
Andres Upegui - Eduardo SanchezEcole Polytechnique Fédérale de LausannePage 21
Evaluation de JBits : Avantages
♦ Dynamisme, possibilité de générer à la volée des configurations
♦ Reconfiguration partielle dynamique très aisée et pensée dans le design flow
♦ Gain de temps : compilation et exécution rapide, processus moins lourd qu’avec VHDL
♦ Manipulation directe de bitstream♦ Accès bas niveau au FPGA facilité
Andres Upegui - Eduardo SanchezEcole Polytechnique Fédérale de LausannePage 22
Evaluation de JBits : Désavantages
♦ Peu documenté, peu d’aide, peu d’exemples♦ Communauté en quasi déliquescence :
• Attente d’une version compatible Virtex-II• Passage pénible de 2.8 à 3.0• Cela commence à aller mieux
♦ Surtout : politique peu claire de la part de Xilinx:• Pas de support officiel• Aucune certitude sur la poursuite du développement• Pas d’implication d’un point de vue médiatique• => Peu de personnes prêtent à prendre le risque• => Cercle vicieux
Andres Upegui - Eduardo SanchezEcole Polytechnique Fédérale de LausannePage 23
Demo: A Dynamic Partially Reconfigurable Counter
Reg
+1
clkreset
Next value
Current value
en
Andres Upegui - Eduardo SanchezEcole Polytechnique Fédérale de LausannePage 24
Demo: A Dynamic Partially Reconfigurable Counter
m2m1
BMReg
+1
clkreset
en
Andres Upegui - Eduardo SanchezEcole Polytechnique Fédérale de LausannePage 25
Demo: A Dynamic Partially Reconfigurable Counter
BM
m2m1
Reg
+1
clkreset
m2
-1 en