HIGH LEVEL SYNTHESIS WITH AREA CONSTRAINTS FOR FPGA DESIGNES: AN EVOLUTIONARY APPROACH Tesi di Laurea di: Christian Pilato Matr.n. 674373 Relatore: Prof.

Slides:



Advertisements
Similar presentations
Introduction to Algorithms
Advertisements

8-2: Solving Systems of Equations using Substitution
Symmetry Definitions for Constraint Satisfaction Problems Dave Cohen, Peter Jeavons, Chris Jefferson, Karen Petrie and Barbara Smith.
Solving Absolute Value Equations Solving Absolute Value Equations
Use the substitution method
Sections 5.1 & 5.2 Inequalities in Two Variables
1 Sections 5.1 & 5.2 Inequalities in Two Variables After today’s lesson, you will be able to graph linear inequalities in two variables. solve systems.
Minimum Clique Partition Problem with Constrained Weight for Interval Graphs Jianping Li Department of Mathematics Yunnan University Jointed by M.X. Chen.
Compiler Support for Superscalar Processors. Loop Unrolling Assumption: Standard five stage pipeline Empty cycles between instructions before the result.
P3 / 2004 Register Allocation. Kostis Sagonas 2 Spring 2004 Outline What is register allocation Webs Interference Graphs Graph coloring Spilling Live-Range.
Constraint Based Reasoning over Mutex Relations in Graphplan Algorithm Pavel Surynek Charles University, Prague Czech Republic.
Greedy Algorithms Greed is good. (Some of the time)
FPGA Latency Optimization Using System-level Transformations and DFG Restructuring Daniel Gomez-Prado, Maciej Ciesielski, and Russell Tessier Department.
Train DEPOT PROBLEM USING PERMUTATION GRAPHS
1 CS 201 Compiler Construction Lecture 12 Global Register Allocation.
COE 561 Digital System Design & Synthesis Architectural Synthesis Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum.
Courseware Path-Based Scheduling Sune Fallgaard Nielsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads,
Improving code generation. Better code generation requires greater context Over expressions: optimal ordering of subtrees Over basic blocks: Common subexpression.
Courseware High-Level Synthesis an introduction Prof. Jan Madsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens.
Administrative info Subscribe to the class mailing list –instructions are on the class web page, which is accessible from my home page, which is accessible.
Data Partitioning for Reconfigurable Architectures with Distributed Block RAM Wenrui Gong Gang Wang Ryan Kastner Department of Electrical and Computer.
ICS 252 Introduction to Computer Design Fall 2006 Eli Bozorgzadeh Computer Science Department-UCI.
COE 561 Digital System Design & Synthesis Resource Sharing and Binding Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum.
ECE Synthesis & Verification - Lecture 4 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Allocation:
Recap from last time We saw various different issues related to program analysis and program transformations You were not expected to know all of these.
7/12/2013Absolute Value Paired Inequalities1 Absolute Value Form for k ≥ 0 | a x + b | > k Absolute Value Inequality a x + b > k –( a x + b) > k Thus a.
Torino (Italy) – June 25th, 2013 Ant Colony Optimization for Mapping, Scheduling and Placing in Reconfigurable Systems Christian Pilato Fabrizio Ferrandi,
1 Physical Mapping --An Algorithm and An Approximation for Hybridization Mapping Shi Chen CSE497 04Mar2004.
Linear Equations in One Variable
HIGH LEVEL SYNTHESIS WITH AREA CONSTRAINTS FOR FPGA DESIGNES: AN EVOLUTIONARY APPROACH Tesi di Laurea di: Christian Pilato Matr.n Relatore: Prof.
A Flexible Interconnection Structure for Reconfigurable FPGA Dataflow Applications Gianluca Durelli, Alessandro A. Nacci, Riccardo Cattaneo, Christian.
4.4 Equations as Relations
CMPE 511 Computer Architecture A Faster Optimal Register Allocator Betül Demiröz.
CSc 453 Final Code Generation Saumya Debray The University of Arizona Tucson.
1 Exploring Custom Instruction Synthesis for Application-Specific Instruction Set Processors with Multiple Design Objectives Lin, Hai Fei, Yunsi ACM/IEEE.
Resource Mapping and Scheduling for Heterogeneous Network Processor Systems Liang Yang, Tushar Gohad, Pavel Ghosh, Devesh Sinha, Arunabha Sen and Andrea.
5.2: Solving Systems of Equations using Substitution
L13 :Lower Power High Level Synthesis(3) 성균관대학교 조 준 동 교수
Graph Coloring. Vertex Coloring problem in VLSI routing channels Standard cells Share a track Minimize channel width- assign horizontal Metal wires to.
9.3 – Linear Equation and Inequalities 1. Linear Equations 2.
Solving Systems of Linear Equations by Substitution; Applications Solve systems of linear equations using substitution. 2.Solve applications involving.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
HIGH LEVEL SYNTHESIS WITH AREA CONSTRAINTS FOR FPGA DESIGNS: AN EVOLUTIONARY APPROACH Tesi di Laurea di: Christian Pilato Matr.n Relatore: Prof.
Solving Systems by Elimination 5.4 NOTES, DATE ____________.
Review of “Register Binding for FPGAs with Embedded Memory” by Hassan Al Atat and Iyad Ouaiss Lisa Steffen CprE 583.
HIGH LEVEL SYNTHESIS WITH AREA CONSTRAINTS FOR FPGA DESIGNS: AN EVOLUTIONARY APPROACH Tesi di Laurea di: Christian Pilato Matr.n Relatore: Prof.
Warm-up. Systems of Equations: Substitution Solving by Substitution 1)Solve one of the equations for a variable. 2)Substitute the expression from step.
5.1 Solving Systems of Equations Objectives: --To identify a system of equations --To determine if a point is a solution to a system --To use graphing.
Use graphing to solve this system. 1. y = 2x y = -x + 3 Use substitution to solve this system. 2. y = x-2 -2x -4y = 4 Use elimination to solve this system.
POLITECNICO DI MILANO A SystemC-based methodology for the simulation of dynamically reconfigurable embedded systems Dynamic Reconfigurability in Embedded.
Algebra 1 Section 4.2 Graph linear equation using tables The solution to an equation in two variables is a set of ordered pairs that makes it true. Is.
Resource Sharing in LegUp. Resource Sharing in High Level Synthesis Resource Sharing is a well-known technique in HLS to reduce circuit area by sharing.
Solve linear systems by substitution.
Type Example Solution Linear equations 2x – 8 = 3(x + 5) A number in one variable x = -23.
§ 9.4 Linear Inequalities in Two Variables and Systems of Linear Inequalities.
Solving Special Systems
Before: November 28, 2017 Solve each system by graphing. 1. y = 2x – 1
Example 1: Finding Solutions of Equations with Two Variables
Systems of equations.
Architecture Synthesis
ICS 252 Introduction to Computer Design
Resource Sharing and Binding
Function - when every x is paired to one y
Skill Check over Solving Systems by Graphing after Homework Check
If you can easily isolate one of the variables,
Michele Santoro: Further Improvements in Interconnect-Driven High-Level Synthesis of DFGs Using 2-Level Graph Isomorphism Michele.
Objectives Identify solutions of linear equations in two variables.
Solving systems using substitution
EE5900 Advanced Embedded System For Smart Infrastructure
6.2 Using Substitution to Solve Systems
Presentation transcript:

HIGH LEVEL SYNTHESIS WITH AREA CONSTRAINTS FOR FPGA DESIGNES: AN EVOLUTIONARY APPROACH Tesi di Laurea di: Christian Pilato Matr.n Relatore: Prof. Fabrizio FERRANDI Correlatore: Ing. Antonino TUMEO

C. Pilato and F. Malcotti – Politecnico di Milano 04/10/ Index Introduction to HLS and RA Traditional Approach to Register Allocation Proposed Solution to Register Allocation Transitive Reduction of SDG Improved Dataflow Analysis Conflict Graph Creation Choose of the Best Algorithm Conclusion

Introduction to HLS C. Pilato and F. Malcotti – Politecnico di Milano 04/10/ Scheduling Allocation Register Allocation Module Allocation Binding

Register Allocation C. Pilato and F. Malcotti – Politecnico di Milano 04/10/ Problem definition: find a solution to register allocation function V s : values that have to be stored M s : set of storage modules (registers and register files) Goal: minimize the number of storage modules

Traditional Approach C. Pilato and F. Malcotti – Politecnico di Milano 04/10/ Compatibility graph w(v): cycle step in which the storage value v is written P(v): last cycle step in which the storage value v is read operator ║: returns true if two intervals overlap and return false otherwise Clique covering

Proposed Approach C. Pilato and F. Malcotti – Politecnico di Milano 04/10/ Transitive Reduction of SDG Dataflow Analysis Conflict Graph Creation Choose of the Best Algorithm

Transitive Reduction of SDG C. Pilato and F. Malcotti – Politecnico di Milano 04/10/ Original relation graph Reduced graph Transitive reduction of a graph is referred to be the minimal representation of graph flows The proposed solution provides an improved implementation of a depth-first search-based algorithm for finding the transitive reduction of a directed graph

Dataflow Analysis C. Pilato and F. Malcotti – Politecnico di Milano 04/10/ Dataflow equations used to calculate liveness information: Two steps: 1.Find by iteration a solution to these equations (backward analysis) 2.Clean unuseful information (forward analysis)

Conflict Graph Creation C. Pilato and F. Malcotti – Politecnico di Milano 04/10/ For every edge into the control flow graph If source vertex and target one are scheduled into different control step, a register is needed for each variable living out from the source vertex to keep value alive until target one will use it Then a conflict edge must be set between each pair of variable in this situation, because they cannot use the same storage module There is no conflict in case of: Alias: Mutual exclusion

Choose of the Best Algorithm C. Pilato and F. Malcotti – Politecnico di Milano 04/10/

Conclusions C. Pilato and F. Malcotti – Politecnico di Milano 04/10/ Good results in terms of storage modules number can be obtained using the traditional approach Improved analysis can lead to a better conflict graph, and then to a further reduced number of storage units implied The new approach can substitute and improve the traditional register allocation solution in PandA framework

Thank you! C. Pilato and F. Malcotti – Politecnico di Milano 04/10/