High-Level Synthesis-II Virendra Singh Indian Institute of Science Bangalore IEP on Digital System IIT Kanpur.

Slides:



Advertisements
Similar presentations
Sequential Circuit Synthesis - II
Advertisements

Covers, Dominations, Independent Sets and Matchings AmirHossein Bayegan Amirkabir University of Technology.
ECE 667 Synthesis and Verification of Digital Circuits
Hardware/ Software Partitioning 2011 年 12 月 09 日 Peter Marwedel TU Dortmund, Informatik 12 Germany Graphics: © Alexandra Nolte, Gesine Marwedel, 2003 These.
ECE-777 System Level Design and Automation Hardware/Software Co-design
1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized.
Synthesis for Test Virendra Singh Indian Institute of Science Bangalore IEP on Digital System IIT Kanpur.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Sequential Synthesis.
COE 561 Digital System Design & Synthesis Scheduling Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals.
Introduction to Data Flow Graphs and their Scheduling Sources: Gang Quan.
Winter 2005ICS 252-Intro to Computer Design ICS 252 Introduction to Computer Design Lecture 5-Scheudling Algorithms Winter 2005 Eli Bozorgzadeh Computer.
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 10: RC Principles: Software (3/4) Prof. Sherief Reda.
Clock Skewing EECS 290A Sequential Logic Synthesis and Verification.
FPGA-Based System Design: Chapter 6 Copyright  2004 Prentice Hall PTR Register-transfer Design n Basics of register-transfer design: –data paths and controllers.
Sequential Timing Optimization. Long path timing constraints Data must not reach destination FF too late s i + d(i,j) + T setup  s j + P s i s j d(i,j)
Abhijit Davare 1, Qi Zhu 1, Marco Di Natale 2, Claudio Pinello 3, Sri Kanajan 2, Alberto Sangiovanni-Vincentelli 1 1 University of California, Berkeley.
Circuit Retiming with Interconnect Delay CUHK CSE CAD Group Meeting One Evangeline Young Aug 19, 2003.
ECE Synthesis & Verification - Lecture 2 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Scheduling.
COE 561 Digital System Design & Synthesis Architectural Synthesis Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum.
CS244-Introduction to Embedded Systems and Ubiquitous Computing Instructor: Eli Bozorgzadeh Computer Science Department UC Irvine Winter 2010.
ECE Synthesis & Verification - Lecture 3 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Scheduling.
Courseware High-Level Synthesis an introduction Prof. Jan Madsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens.
Pipelining and Retiming 1 Pipelining  Adding registers along a path  split combinational logic into multiple cycles  increase clock rate  increase.
Architectural-Level Synthesis Giovanni De Micheli Integrated Systems Centre EPF Lausanne This presentation can be used for non-commercial purposes as long.
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 08: RC Principles: Software (1/4) Prof. Sherief Reda.
Continuous Retiming EECS 290A Sequential Logic Synthesis and Verification.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
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.
SCHEDULING SOURCES- Mark Manwaring Kia Bazargan Giovanni De Micheli Gupta Youn-Long Lin M. Balakrishnan Camposano, J. Hofstede, Knapp, MacMillen Lin.
ECE Synthesis & Verification - Lecture 4 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Allocation:
A Tool for Partitioning and Pipelined Scheduling of Hardware-Software Systems Karam S Chatha and Ranga Vemuri Department of ECECS University of Cincinnati.
ICS 252 Introduction to Computer Design
ECE Synthesis & Verification - LP Scheduling 1 ECE 667 ECE 667 Synthesis and Verification of Digital Circuits Scheduling Algorithms Analytical approach.
Fall 2006EE VLSI Design Automation I VII-1 EE 5301 – VLSI Design Automation I Kia Bazargan University of Minnesota Part VII: High Level Synthesis.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
High-Level Synthesis for Reconfigurable Systems. 2 Agenda Modeling 1.Dataflow graphs 2.Sequencing graphs 3.Finite State Machine with Datapath High-level.
COE 561 Digital System Design & Synthesis Architectural Synthesis Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum.
Introduction to Job Shop Scheduling Problem Qianjun Xu Oct. 30, 2001.
3.4 Linear Programming p Optimization - Finding the minimum or maximum value of some quantity. Linear programming is a form of optimization where.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 10: February 18, 2015 Architecture Synthesis (Provisioning, Allocation)
CS244-Introduction to Embedded Systems and Ubiquitous Computing Instructor: Eli Bozorgzadeh Computer Science Department UC Irvine Winter 2010.
Resource Mapping and Scheduling for Heterogeneous Network Processor Systems Liang Yang, Tushar Gohad, Pavel Ghosh, Devesh Sinha, Arunabha Sen and Andrea.
1 SYNTHESIS of PIPELINED SYSTEMS for the CONTEMPORANEOUS EXECUTION of PERIODIC and APERIODIC TASKS with HARD REAL-TIME CONSTRAINTS Paolo Palazzari Luca.
6. A PPLICATION MAPPING 6.3 HW/SW partitioning 6.4 Mapping to heterogeneous multi-processors 1 6. Application mapping (part 2)
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
COE 561 Digital System Design & Synthesis Architectural Synthesis Dr. Muhammad Elrabaa Computer Engineering Department King Fahd University of Petroleum.
ICS 252 Introduction to Computer Design Lecture 12 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI.
Chapter 2) CSP solving-An overview Overview of CSP solving techniques: problem reduction, search and solution synthesis Analyses of the characteristics.
Pipelining and Retiming
L12 : Lower Power High Level Synthesis(3) 성균관대학교 조 준 동 교수
Implicit Hitting Set Problems Richard M. Karp Erick Moreno Centeno DIMACS 20 th Anniversary.
Meenakshi Kaul, Vinoo Srinivasan, Sriram Govindarajan, Iyad Ouaiss, and Ranga Vemuri University of Cincinnati
Graphs Definition: a graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected.
Retiming EECS 290A Sequential Logic Synthesis and Verification.
Scheduling Determines the precise start time of each task.
Control Flow Testing Handouts
Outline of the Chapter Basic Idea Outline of Control Flow Testing
Reconfigurable Computing
Lesson 4 Synchronous Design Architectures: Data Path and High-level Synthesis (part two) Sept EE37E Adv. Digital Electronics.
Modeling Languages and Abstract Models
A SoC Design Automation Seoul National University
Architectural-Level Synthesis
Architecture Synthesis
ICS 252 Introduction to Computer Design
Resource Sharing and Binding
Integrated Systems Centre © Giovanni De Micheli – All rights reserved
ICS 252 Introduction to Computer Design
ICS 252 Introduction to Computer Design
Reconfigurable Computing (EN2911X, Fall07)
Presentation transcript:

High-Level Synthesis-II Virendra Singh Indian Institute of Science Bangalore IEP on Digital System IIT Kanpur

Dec 18, Architectural Synthesis Architectural Level Abstraction Datapath Controller Architectural Synthesis Constructing the macroscopic structure of a digital circuit starting from behavioural models that can be captured from Data flow or Sequencing Graph

Dec 18, Architectural Synthesis Objective Area Cycle time Latency Throughput Worst case bound Evaluation Architectural Exploration

Dec 18, Architectural Synthesis Architectural synthesis tool can select an appropriate design point according to some user specific criterion and construct corresponding user specific Datapath and Controller Circuit Specification for Architectural Synthesis Behavioural circuit model Details about resources being used and constraints Capture by Sequencing Graph

Dec 18, Architectural Synthesis Resources Functional Resources Primitive Resources Application Specific Resources Memory Resources Interface Resources

Dec 18, Architectural Synthesis Circuit Specification Sequencing Graph A set of functional resources, fully characterized in terms of area and execution delay A set of constraints

Dec 18, Architectural Synthesis Computation: Differential Equation Solver xl = x + dx ul = u – (3*x*u*dx) – (3*y*dx) c = xl < a Data Flow Graph (DFG): represent operation and data dependencies

Dec 18, Data Flow Graph * * * + * * * +< x 3 u dx 3 y u x u y a c xl yl ul

Dec 18, Sequencing Graph * * * + * * * +< - - NOP

Dec 18, Hierarchical Sequencing Graph NOP * CALL + * *+ NOP a.0 a.3 a.2 a.1 a.4 a.n b.0 b.n b.2 b.1

Dec 18, Architectural Synthesis Architectural Synthesis and optimization consistes of two stages 1.Placing the operation in time and in space, i.e., determining their time interval of execution and binding to resources 2.Determining detailed interconnection of the datapath and the logic-level specifications of the control unit

Dec 18, Temporal Domain: Scheduling Delay D = {d i ; i = 0,1, 2, ….. n} Start time T ={t i ; i= 0, 1, …., n) Scheduling: Task of determining the start timing, subject to preceding constraints specified by sequencing graph Latency λ = t n – t 0

Dec 18, Temporal Domain: Scheduling A scheduled sequencing graph is a vertex-weighted sequencing graph, where each vertex is labeled by its start time OperationStart time V1,V2, v6,v8, v10 1 V3, v7, v9,v112 V43 V54  Chaining

Dec 18, Temporal Domain: Scheduling * * * + * * * +< - - NOP TIME 1 TIME 2 TIME 3 TIME 4

Dec 18, Temporal Domain: Scheduling * * * + * * * + < - - NOP TIME 1 TIME 2 TIME 3 TIME 4 TIME 5 TIME 6 TIME 7

Dec 18, Spatial Domain: Binding A fundamental concept that relates operation to resources is binding Resource types Resource sharing Simple case of binding is a dedicated resources

Dec 18, Spatial Domain: Binding β(v1) = (1,1) β(v2) = (1,2) β(v3) = (1,3) β(v4) = (2,1) β(v5) = (2,2)..

Dec 18, Spatial Domain: Binding * * * + * * * +< - - NOP TIME 1 TIME 2 TIME 3 TIME 4

Dec 18, Spatial Domain: Binding A necessary condition for resource binding to produce a valid circuit implementation is that operation corresponding to the shared resource do not execute concurrently A resource binding can be represented by a labeled hyper-graph, where the vertex set V represents operations and the edge set E β represents the binding of the operation to the resources

Dec 18, Spatial Domain: Binding * * * + * * * +< - - NOP TIME 1 TIME 2 TIME 3 TIME 4 n (1,1)(1,2) (1,3)(1,4) (2,2) (2,1)

Dec 18, Spatial Domain: Binding * * * + * * * + < - - NOP TIME 1 TIME 2 TIME 3 TIME 4 0 n

Dec 18, Sequencing Graph * * * + * * * +< - - NOP

Dec 18, Hierarchical Sequencing Graph NOP * CALL + * *+ NOP a.0 a.3 a.2 a.1 a.4 a.n b.0 b.n b.2 b.1 (1,2) (1,1) (2,1)

Dec 18, Synchronization * SYN ++ NOP 0 1 a 2 3 n

Dec 18, Synchronization * SYN ++ NOP 0 1 a 2 3 n * SYN ++ NOP 0 1 a 2 3 n

Dec 18, Synchronization * SYN + + NOP 0 1 a 2 3 n

Dec 18, Area/Performance Estimation Accurate area and performance estimation is not an easy task Schedule: provides latency Binding: provides information about the area

Dec 18, Retiming + Host δ + δ + δδ

Dec 18, Retiming Vg Vh Va Vf Vb Ve VcVd

Dec 18, Retiming Vg Vh Va Vf Vb Ve VcVd Delay = 24

Dec 18, Retiming Vg Vh Va Vf Vb Ve VcVd

Dec 18, ASAP Scheduling * * * + * * * +< - - NOP TIME 1 TIME 2 TIME 3 TIME 4

Dec 18, ASAP Scheduling ASAP(Gs(V,E)){ Schedule v0 by setting t 0 s = 1; repeat{ select vertex v i whose predecessors are all scheduled; schedule vi by setting ti s = max{tjs+ dj} } untill (v n is scheduled) return t s }

Dec 18, ALAP Scheduling * * * + * ** +< - - NOP TIME 1 TIME 2 TIME 3 TIME 4

Dec 18, Scheduling under Timing Constraints Scheduling under latency constraints Absolute constraints on start time Relative constraints Relative timing constraints are positive integers specified for some operation pair vi, vj A minimum timing constraint l ij ≥ 0 requires t j ≥ t i +l ij A maximum timing constraint u ij ≤ 0 requires t j ≤ t i +u ij

Dec 18, Constraint Graph ** ++ NOP n Min Time 4 Max Time 3

Dec 18, Constraint Graph 0 4 ** ++ NOP n Min Time 4 Max Time 3 ** ++ NOP n

Dec 18, Relative Scheduling Scheduling under unbounded delay The anchors of a constraint graph G(V,E) consists of the source vertex v0and all vertices with unbounded delay Redundant anchor

Dec 18, Sequencing Graph 1 3 * SYN ++ NOP 0 a 2 n

Dec 18, Scheduling with Resource Constraint Scheduling under resource constraints computing area/latency trade-off points Problems Intractable problem Area-performance trade-off points are affected by the other factors - non-resource dominated circuits

Dec 18, Scheduling with Resource Constraint ILP Formulation Binary decision variable X = {x il } 1.Start time of each operation is unique Σ l x il = 1 2. Sequencing relations represented by Gs(V,E) must be satisfied Σ l x il ≥ Σ l xjl + d j 3. Resource bound must be met at every schedule step Σ k Σ m x im ≤ a k

Dec 18, ILP Formulation All operation must start only once x 0,1 = 1 x 1,1 = 1 x 2,1 = 1 x 3,2 = 1 x 4,3 = 1 x 5,4 = 1 x 6,1 + x 6,2 = 1 x 7,2 + x 7,3 = 1 x 8,1 + x 8,2 +x 8,3 = 1 x 9,2 + x 9,3 +x 9,4 = 1 x 10,1 + x 10,2 +x 10,3 = 1 x 11,2 + x 11,3 +x 11,4 = 1 x n,5 = 1

Dec 18, ILP Formulation Constraints – based on sequencing (more than one starting time for at least one operation) 2 x 7,2 + 3 x 7,3 – x 6,1 – 2 x 6,2 – 1 ≥ 0 2 x 9,2 + 3 x 9,3 + 4 x 9,4 – x 8,1 – 2 x 8,2 – 3 x 8,3 – 1 ≥ 0 2 x 11,2 + 3 x 11,3 + 4 x 11,4 – x 10,1 – 2 x 10,2 – 3 x 10,3 – 1 ≥ 0 4 x 5,4 – 2 x 7,2 – 3 x 7,3 – 1 ≥ 0 5 x n,5 – 2 x 9,2 – 3 x 9,3 – 4 x 9,4 – 1 ≥ 0 5 x n,5 – 2 x 11,2 – 3 x 11,3 – 4 x 11,4 – 1 ≥ 0

Dec 18, ILP Formulation Resource Constraints x 1,1 + x 2,2 + x 6,1 + x 8,1 ≤ 2 x 3,2 + x 6,2 + x 7,2 + x 8,2 ≤ 2 x 7,3 + x 8,3 ≤ 2 x 10,1 ≤ 2 x 9,2 + x 10,2 + x 11,2 ≤ 2 x 4,3 + x 9,3 + x 10,3 + x 11,3 ≤ 2 x 5,4 + x 9,4 +x 11,4 ≤ 2

Dec 18, ILP Formulation Optimize Σ i Σ l l.x il x 6,1 + 2 x 6,2 + 3 x 7,2 + 3 x 7,3 + x 8,1 + 2 x 8,2 + 3 x 8,3 + 2 x 9,2 + 3 x 9,3 + 4 x 9,4 + x 10,1 + 2 x 10,2 + 3 x 10,3 + 2 x 11,2 + 3 x 11,3 + 4 x 11,4

Dec 18, Resource Sharing Resource sharing: Assignment of resource to more than one operation Goal: Reduce area Resource binding: explicit definition of mapping between resources and operation Binding may imply some resources are shared

Dec 18, Optimum Scheduling under Resource Constraint * * * + * ** + < - - NOP TIME 1 TIME 2 TIME 3 TIME 4

Dec 18, Scheduled Sequencing Graph * * * + * ** + < - - NOP TIME 1 TIME 2 TIME 3 TIME 4

Dec 18, Compatibility Graph

Dec 18, Conflict Graph

Dec 18, Transitive orientation of Compatibility Graph

Dec 18, Resource Sharing in Non- Hierarchical Seq. Graph Searching for binding compatible Σ r b ir = a Σbir Σ xim ≤ 1

Dec 18, Scheduled and Bound Sequencing Graph * * * + * ** + < - - NOP TIME 1 TIME 2 TIME 3 TIME 4 (1,1) (1,2) (2,1) (2,2)