SlideShare a Scribd company logo
M etodologie   di  P rogettazine  H ardware e  S oftware   Reconfigurable Computing - Design Flow  -
Outline Retargetable Compiler Basic Idea Description Delft Workbench Objectives Programming paradigm Workflow Retargetable compiler MOLEN architecture LimboWARE: basic principles VIRGIL Objectives Workflow Retargetable compiler YaRA architecture
Presentation status Retargetable Compiler Basic Idea Description Delft Workbench Objectives Programming paradigm Workflow Retargetable compiler MOLEN architecture LimboWARE: basic principles VIRGIL Objectives Workflow Retargetable compiler YaRA architecture
Compiler background Compiler is a quite  complex  software package Compilers must be particularly  reliable Translation of source code into machine independent  intermediate representation  (IR) Design requires separation into  multiple phases Compiler is followed by Assembler, Linker Backend: mapping machine indepent IR to machine dependent asm + machine dependent optimizations
Retargetable Compilers
Retargetable Compilers – Main Goals Adapt to new processors having a  single  tool for an entire  class  of target machines Support for  design space exploration  by editing the target processor model  Tradeoff  retargetability/code quality : Realistic retargetable compilers focus on a specific class of processor architectures Def .:  A   compiler is called  retargetable , if it  can be modified to generate assembly code for  different architectures, while reusing the largest  part of the compiler source code.
Retargetable Compilers - degrees Parameterizable : Compiler source code is fixed, retargeting mainly by adjusting several parameters  User retargetable : User w/o in-depth compiler knowledge can change the target Developer retargetable : Compiler developer (or very experienced user) can retarget the compiler with limited effort  Portable : Some source code can be kept, but a lot of code needs to be newly written
Presentation status Retargetable Compiler Basic Idea Description Delft Workbench Objectives Programming paradigm Workflow Retargetable compiler MOLEN architecture LimboWARE: basic principles VIRGIL Objectives Workflow Retargetable compiler YaRA architecture
Delft Workbench Objectives Main goals: provide a  semi-automatic platform  for reconfigurable computing.  support the entire design process (rather than isolated parts). targets uni-processor architectures with reconfigurable units (the current version exploit a PPC core processor augmented with an FPGA) These require the development of: programming models (MOLEN) a retargetable compilers for reconfigurable platforms. introduction of hardware software co-design speculations. CAD and design space exploration.
Delft Workbench Programming Paradigm The ISA is extended with 8 instructions 6 instructions are required for controlling the reconfigurable hardware 2 instructions are required for controlling the reconfigurable hardware This mean that to call a FPGA function the compiler must insert code to: SET the function “ send” input parameters to the FPGA call the EXECUTE on the FPGA “ move” output values back from exchange registers
Delft Workbench Workflow Re- targeted Compiler Binary Code SimpleScalar Performance Statistics FPGA int fact(int n) { if(n<1) return n else return(n*fact(n-1)); } Human Directives call  f(.)  HDL Architecture REVISE C2C NO Part I  Part II Part III … … Code f(.) HDL
Generating executable code:  Once a function f(.) is identified, the code containing the f(.) logic is eliminated from the source code and replaced by an appropriate FPGA call, together with the appropriate instructions for setting up the FPGA and to start its computation. Delft Workbench The retargetable compiler
MOLEN Architecture CCU: Custom Configured Unit
Presentation status Retargetable Compiler Basic Idea Description Delft Workbench Objectives Programming paradigm Workflow Retargetable compiler MOLEN architecture LimboWARE: basic principles VIRGIL Objectives Workflow Retargetable compiler YaRA architecture
LimboWARE: The idea The basic idea is to postpone the decision of whether executing a task in HW or in SW moving it at run-time This will be done not for every task, because of code memory overhead, but only where is not possible to take a wise choice at design or compile-time
LimboWARE: When - Where Compile-time Unbounded number of execution If n is a number known only at run-time. The limbo choice is wiser than the corresponding one done at compile time (without this information) for(i=0; i<n; i++){   function(); } Execution trace dependent choice between HW and  µ-code  Functionality already in HW (past) Functionality that in this branch will be used many times (constrained future)
LimboWARE Execution path dependent choice The execution of node 6 depends on the path If the path is 1-3-5-6 the predicate P is TRUE, is executed in HW and the relative µ-code for the SW execution is skipped, by branching after  If the path is 2-4-5-6, the predicate P is FALSE, HW_CALL and JMP are not executed and the µ-code for is executed
Presentation status Retargetable Compiler Basic Idea Description Delft Workbench Objectives Programming paradigm Workflow Retargetable compiler MOLEN architecture LimboWARE: basic principles VIRGIL Objectives Workflow Retargetable compiler YaRA architecture
VIRGIL: The objectives Provide a workbench  Integrating and adapting HW/SW codesign methodology to reconfigurable HW scenario  Integration of the DRESD reconfigurable HW architecture (YaRA) Introduction of LimboWare mechanisms Development of a retargetable compiler for reconfigurable hardware
VIRGIL: Main steps HW/SW partitioning  LimboWare code analysis Compile the source code including special LimboWare directives Synthesis and Mapping of the HDL (generated in the first 2 steps) to the Reconfigurable Hardware
VIRGIL: Workflow HLR
VIRGIL: The Compiler
VIRGIL: The architecture YaRA - FPGA Layers
VIRGIL: Needs Development of a retargetable compiler for reconfigurable HW integrating LW functionalities. Integrating and tailoring HW/SW codesign methodologies to reconfigurable hw and LW. Identification of LimboWare and critical function detection WHAT in the code will be translated -> metrics Definition of metrics of source code for SW/LW partitioning and development of the relative tools.
Questions

More Related Content

PDF
Turbo C Compiler Reports
PDF
Tutor1
PPTX
Programming FPGA in electronic systems
PPT
Embedded _c_
PDF
Hydro Quebec Roumy Interfacing Emtp Rv Withothersoftware Using C++
PPTX
Std 10 computer chapter 10 introduction to c language (part1)
PPTX
Embedded c
PDF
OpenGL Based Testing Tool Architecture for Exascale Computing
Turbo C Compiler Reports
Tutor1
Programming FPGA in electronic systems
Embedded _c_
Hydro Quebec Roumy Interfacing Emtp Rv Withothersoftware Using C++
Std 10 computer chapter 10 introduction to c language (part1)
Embedded c
OpenGL Based Testing Tool Architecture for Exascale Computing

What's hot (20)

PPT
Probe Debugging
PPT
Aldec overview 2011-10 revised
PPTX
Issues in design_of_code_generator
PPTX
Peephole optimization techniques in compiler design
PPTX
Hardware description languages
PDF
Verilog Ams Used In Top Down Methodology For Wireless Integrated Circuits
PPTX
Phases of Compiler
PPTX
Structure of C program
PPTX
Compilers
PDF
Embedded c lab and keil c manual
PPT
3DD 1e Laura
PDF
C programming first_session
PPT
Embedded c programming22 for fdp
PDF
New c sharp4_features_part_i
PDF
IBM Rational Rhapsody and Qt Integration
PDF
Programming Fundamentals and basic knowledge
PDF
HIS 2017 Mark Batty-Industrial concurrency specification for C/C++
PPTX
Types of Compilers
DOC
Compiler Design(NANTHU NOTES)
PPTX
Week10 final
Probe Debugging
Aldec overview 2011-10 revised
Issues in design_of_code_generator
Peephole optimization techniques in compiler design
Hardware description languages
Verilog Ams Used In Top Down Methodology For Wireless Integrated Circuits
Phases of Compiler
Structure of C program
Compilers
Embedded c lab and keil c manual
3DD 1e Laura
C programming first_session
Embedded c programming22 for fdp
New c sharp4_features_part_i
IBM Rational Rhapsody and Qt Integration
Programming Fundamentals and basic knowledge
HIS 2017 Mark Batty-Industrial concurrency specification for C/C++
Types of Compilers
Compiler Design(NANTHU NOTES)
Week10 final
Ad

Viewers also liked (8)

PPT
Blogference The World Around Your Blog Yosi Taguri
ODP
Instal·lació d’Ubuntu i introducció a l’OpenOffice.org
ODP
no tengo ni idea
PPT
Le Nuove Competenze nella PA
PPT
PresentacióN1
ODP
Impre
PPT
Una geo-community per Cremona
PPS
M I A ΦΙΛΙΑ 11 ΧΡΟΝΩΝ
Blogference The World Around Your Blog Yosi Taguri
Instal·lació d’Ubuntu i introducció a l’OpenOffice.org
no tengo ni idea
Le Nuove Competenze nella PA
PresentacióN1
Impre
Una geo-community per Cremona
M I A ΦΙΛΙΑ 11 ΧΡΟΝΩΝ
Ad

Similar to MPHS RC Design Flow (20)

PPT
Track A-Compilation guiding and adjusting - IBM
DOCX
Fpga lecture
PDF
Fpga & VHDL
PPT
RCW@DEI - Design Flow 4 SoPc
PDF
FPGAs as Components in Heterogeneous HPC Systems (paraFPGA 2015 keynote)
PDF
FPGA/Reconfigurable computing (HPRC)
PPTX
ASIC design flow and Stracuture of FPGA.pptx
PPTX
module nenddhd dhdbdh dehrbdbddnd d 1.pptx
PDF
8d545d46b1785a31eaab12d116e10ba41d996928Lecture%202%20and%203%20pdf (1).pdf
PPT
Introduction to Computer Organization and Architecture
PPT
Introduction to Computer Organization and Architecture
PPT
ppd_seminar_110202_talk_edward_freeman_introduction_to_programmable_logic_dev...
PDF
Basic Design Flow for Field Programmable Gate Arrays
PPT
Reconfigurable Computing
PDF
Digital Systems Design
PDF
Firmware Develpment for hybrid (ARM and FPGA) processors
DOCX
PPTX
FPGA-Architecture Basics and Description.pptx
PPT
FPGA architecture.ppt
PPT
FPGA-Arch.ppt
Track A-Compilation guiding and adjusting - IBM
Fpga lecture
Fpga & VHDL
RCW@DEI - Design Flow 4 SoPc
FPGAs as Components in Heterogeneous HPC Systems (paraFPGA 2015 keynote)
FPGA/Reconfigurable computing (HPRC)
ASIC design flow and Stracuture of FPGA.pptx
module nenddhd dhdbdh dehrbdbddnd d 1.pptx
8d545d46b1785a31eaab12d116e10ba41d996928Lecture%202%20and%203%20pdf (1).pdf
Introduction to Computer Organization and Architecture
Introduction to Computer Organization and Architecture
ppd_seminar_110202_talk_edward_freeman_introduction_to_programmable_logic_dev...
Basic Design Flow for Field Programmable Gate Arrays
Reconfigurable Computing
Digital Systems Design
Firmware Develpment for hybrid (ARM and FPGA) processors
FPGA-Architecture Basics and Description.pptx
FPGA architecture.ppt
FPGA-Arch.ppt

More from Marco Santambrogio (20)

PPT
RCIM 2008 - - hArtes Atmel
PDF
RCIM 2008 - - UniCal
PDF
RCIM 2008 - - ALTERA
PDF
DHow2 - L6 VHDL
PDF
DHow2 - L6 Ant
PDF
DHow2 - L5
PDF
RCIM 2008 - - ALaRI
PDF
RCIM 2008 - Modello Scheduling
PDF
RCIM 2008 - HLR
PDF
RCIM 2008 -- EHW
PDF
RCIM 2008 - Modello Generale
PDF
RCIM 2008 - Allocation Relocation
PPT
RCIM 2008 - - hArtes_Ferrara
PDF
RCIM 2008 - Janus
PDF
RCIM 2008 - Intro
PPT
DHow2 - L2
PPT
DHow2 - L4
PPT
DHow2 - L1
PPT
RCW@DEI - Treasure hunt
PDF
RCW@DEI - ADL
RCIM 2008 - - hArtes Atmel
RCIM 2008 - - UniCal
RCIM 2008 - - ALTERA
DHow2 - L6 VHDL
DHow2 - L6 Ant
DHow2 - L5
RCIM 2008 - - ALaRI
RCIM 2008 - Modello Scheduling
RCIM 2008 - HLR
RCIM 2008 -- EHW
RCIM 2008 - Modello Generale
RCIM 2008 - Allocation Relocation
RCIM 2008 - - hArtes_Ferrara
RCIM 2008 - Janus
RCIM 2008 - Intro
DHow2 - L2
DHow2 - L4
DHow2 - L1
RCW@DEI - Treasure hunt
RCW@DEI - ADL

Recently uploaded (20)

PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
sap open course for s4hana steps from ECC to s4
PDF
KodekX | Application Modernization Development
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Electronic commerce courselecture one. Pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Encapsulation theory and applications.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Machine learning based COVID-19 study performance prediction
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
NewMind AI Weekly Chronicles - August'25 Week I
Review of recent advances in non-invasive hemoglobin estimation
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
sap open course for s4hana steps from ECC to s4
KodekX | Application Modernization Development
Encapsulation_ Review paper, used for researhc scholars
Electronic commerce courselecture one. Pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Encapsulation theory and applications.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
Spectral efficient network and resource selection model in 5G networks
Chapter 3 Spatial Domain Image Processing.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
Machine learning based COVID-19 study performance prediction
20250228 LYD VKU AI Blended-Learning.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
NewMind AI Weekly Chronicles - August'25 Week I

MPHS RC Design Flow

  • 1. M etodologie di P rogettazine H ardware e S oftware Reconfigurable Computing - Design Flow -
  • 2. Outline Retargetable Compiler Basic Idea Description Delft Workbench Objectives Programming paradigm Workflow Retargetable compiler MOLEN architecture LimboWARE: basic principles VIRGIL Objectives Workflow Retargetable compiler YaRA architecture
  • 3. Presentation status Retargetable Compiler Basic Idea Description Delft Workbench Objectives Programming paradigm Workflow Retargetable compiler MOLEN architecture LimboWARE: basic principles VIRGIL Objectives Workflow Retargetable compiler YaRA architecture
  • 4. Compiler background Compiler is a quite complex software package Compilers must be particularly reliable Translation of source code into machine independent intermediate representation (IR) Design requires separation into multiple phases Compiler is followed by Assembler, Linker Backend: mapping machine indepent IR to machine dependent asm + machine dependent optimizations
  • 6. Retargetable Compilers – Main Goals Adapt to new processors having a single tool for an entire class of target machines Support for design space exploration by editing the target processor model Tradeoff retargetability/code quality : Realistic retargetable compilers focus on a specific class of processor architectures Def .: A compiler is called retargetable , if it can be modified to generate assembly code for different architectures, while reusing the largest part of the compiler source code.
  • 7. Retargetable Compilers - degrees Parameterizable : Compiler source code is fixed, retargeting mainly by adjusting several parameters User retargetable : User w/o in-depth compiler knowledge can change the target Developer retargetable : Compiler developer (or very experienced user) can retarget the compiler with limited effort Portable : Some source code can be kept, but a lot of code needs to be newly written
  • 8. Presentation status Retargetable Compiler Basic Idea Description Delft Workbench Objectives Programming paradigm Workflow Retargetable compiler MOLEN architecture LimboWARE: basic principles VIRGIL Objectives Workflow Retargetable compiler YaRA architecture
  • 9. Delft Workbench Objectives Main goals: provide a semi-automatic platform for reconfigurable computing. support the entire design process (rather than isolated parts). targets uni-processor architectures with reconfigurable units (the current version exploit a PPC core processor augmented with an FPGA) These require the development of: programming models (MOLEN) a retargetable compilers for reconfigurable platforms. introduction of hardware software co-design speculations. CAD and design space exploration.
  • 10. Delft Workbench Programming Paradigm The ISA is extended with 8 instructions 6 instructions are required for controlling the reconfigurable hardware 2 instructions are required for controlling the reconfigurable hardware This mean that to call a FPGA function the compiler must insert code to: SET the function “ send” input parameters to the FPGA call the EXECUTE on the FPGA “ move” output values back from exchange registers
  • 11. Delft Workbench Workflow Re- targeted Compiler Binary Code SimpleScalar Performance Statistics FPGA int fact(int n) { if(n<1) return n else return(n*fact(n-1)); } Human Directives call f(.) HDL Architecture REVISE C2C NO Part I Part II Part III … … Code f(.) HDL
  • 12. Generating executable code: Once a function f(.) is identified, the code containing the f(.) logic is eliminated from the source code and replaced by an appropriate FPGA call, together with the appropriate instructions for setting up the FPGA and to start its computation. Delft Workbench The retargetable compiler
  • 13. MOLEN Architecture CCU: Custom Configured Unit
  • 14. Presentation status Retargetable Compiler Basic Idea Description Delft Workbench Objectives Programming paradigm Workflow Retargetable compiler MOLEN architecture LimboWARE: basic principles VIRGIL Objectives Workflow Retargetable compiler YaRA architecture
  • 15. LimboWARE: The idea The basic idea is to postpone the decision of whether executing a task in HW or in SW moving it at run-time This will be done not for every task, because of code memory overhead, but only where is not possible to take a wise choice at design or compile-time
  • 16. LimboWARE: When - Where Compile-time Unbounded number of execution If n is a number known only at run-time. The limbo choice is wiser than the corresponding one done at compile time (without this information) for(i=0; i<n; i++){ function(); } Execution trace dependent choice between HW and µ-code Functionality already in HW (past) Functionality that in this branch will be used many times (constrained future)
  • 17. LimboWARE Execution path dependent choice The execution of node 6 depends on the path If the path is 1-3-5-6 the predicate P is TRUE, is executed in HW and the relative µ-code for the SW execution is skipped, by branching after If the path is 2-4-5-6, the predicate P is FALSE, HW_CALL and JMP are not executed and the µ-code for is executed
  • 18. Presentation status Retargetable Compiler Basic Idea Description Delft Workbench Objectives Programming paradigm Workflow Retargetable compiler MOLEN architecture LimboWARE: basic principles VIRGIL Objectives Workflow Retargetable compiler YaRA architecture
  • 19. VIRGIL: The objectives Provide a workbench Integrating and adapting HW/SW codesign methodology to reconfigurable HW scenario Integration of the DRESD reconfigurable HW architecture (YaRA) Introduction of LimboWare mechanisms Development of a retargetable compiler for reconfigurable hardware
  • 20. VIRGIL: Main steps HW/SW partitioning LimboWare code analysis Compile the source code including special LimboWare directives Synthesis and Mapping of the HDL (generated in the first 2 steps) to the Reconfigurable Hardware
  • 23. VIRGIL: The architecture YaRA - FPGA Layers
  • 24. VIRGIL: Needs Development of a retargetable compiler for reconfigurable HW integrating LW functionalities. Integrating and tailoring HW/SW codesign methodologies to reconfigurable hw and LW. Identification of LimboWare and critical function detection WHAT in the code will be translated -> metrics Definition of metrics of source code for SW/LW partitioning and development of the relative tools.