Rajeev K. Ranjan Advanced Technology Group Synopsys Inc. On the Optimization Power of Retiming and Resynthesis Transformations Joint work with: Vigyan.

Slides:



Advertisements
Similar presentations
Address comments to FPGA Area Reduction by Multi-Output Sequential Resynthesis Yu Hu 1, Victor Shih 2, Rupak Majumdar 2 and Lei He 1 1.
Advertisements

Optimization of Sequential Networks Step in Synthesis: Problem Flow Table Reduce States Minimum-State Table State Assignment Circuit Transition Table Flip-Flop.
Combinational Logic.
Types of Logic Circuits
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Sequential Synthesis.
1 1 Regression Verification for Multi-Threaded Programs Sagar Chaki, SEI-Pittsburgh Arie Gurfinkel, SEI-Pittsburgh Ofer Strichman, Technion-Haifa Originally.
Module 12.  In Module 9, 10, 11, you have been introduced to examples of combinational logic circuits whereby the outputs are entirely dependent on the.
Chapter 9 Asynchronous Sequential Logic 9-1 Introduction Introduction 9-2 Analysis Procedure Analysis ProcedureAnalysis Procedure 9-3 Circuits With Latches.
Asynchronous Sequential Logic
Digital Logic Design Brief introduction to Sequential Circuits and Latches.
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Logic Simulation.
Global Flow Optimization (GFO) in Automatic Logic Design “ TCAD91 ” by C. Leonard Berman & Louise H. Trevillyan CAD Group Meeting Prepared by Ray Cheung.
Clock Skewing EECS 290A Sequential Logic Synthesis and Verification.
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)
Circuit Retiming with Interconnect Delay CUHK CSE CAD Group Meeting One Evangeline Young Aug 19, 2003.
Combining Technology Mapping and Retiming EECS 290A Sequential Logic Synthesis and Verification.
Penn ESE 535 Spring DeHon 1 ESE535: Electronic Design Automation Day 13: March 4, 2009 FSM Equivalence Checking.
Asynchronous Sequential Logic
1 Digital Logic
Asynchronous Interface Specification, Analysis and Synthesis M. Kishinevsky Intel Corporation J. Cortadella Technical University of Catalonia.
S. Reda EN160 SP’08 Design and Implementation of VLSI Systems (EN1600) Lecture 22: Sequential Circuit Design (1/2) Prof. Sherief Reda Division of Engineering,
Rajeev K. Ranjan Advanced Technology Group Synopsys Inc. Using Combinational Verification for Sequential Circuits Joint work with: Vigyan Singhal, Cadence.
Technology Mapping 1 Outline –What is Technology Mapping? –Rule-Based Mapping –Tree Pattern Matching Goal –Understand technology mapping –Understand mapping.
Engineering Models and Circuit Realization of Quantum State Machines.
4/21/2005JHJ1 Structure-dependent Sequential Equivalence Checking EE290A UC Berkeley Spring 2005.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
ECE Synthesis & Verification 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Retiming.
03/10/2005 © J.-H. Jiang1 The Initialization of Synchronous Hardware Systems EECS 290A – Spring 2005 UC Berkeley.
03/08/2005 © J.-H. Jiang1 Retiming and Resynthesis EECS 290A – Spring 2005 UC Berkeley.
FPGA Technology Mapping. 2 Technology mapping:  Implements the optimized nodes of the Boolean network to the target device library.  For FPGA, library.
ECE Synthesis & Verification, Lecture 17 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Technology.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
FPGA-Based System Design: Chapter 5 Copyright  2004 Prentice Hall PTR Topics n Basics of sequential machines. n Sequential machine specification. n Sequential.
Zvi Kohavi and Niraj K. Jha 1 Capabilities, Minimization, and Transformation of Sequential Machines.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Lecture 12 – Design Procedure.
Electrical and Computer Engineering Archana Rengaraj ABC Logic Synthesis basics ECE 667 Synthesis and Verification of Digital Systems Spring 2011.
1 Alan Mishchenko UC Berkeley Implementation of Industrial FPGA Synthesis Flow Revisited.
05/04/06 1 Integrating Logic Synthesis, Tech mapping and Retiming Presented by Atchuthan Perinkulam Based on the above paper by A. Mishchenko et al, UCAL.
FORMAL VERIFICATION OF ADVANCED SYNTHESIS OPTIMIZATIONS Anant Kumar Jain Pradish Mathews Mike Mahar.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
Combinational and Sequential Mapping with Priority Cuts Alan Mishchenko Sungmin Cho Satrajit Chatterjee Robert Brayton UC Berkeley.
ABC: A System for Sequential Synthesis and Verification BVSRC Berkeley Verification and Synthesis Research Center Robert Brayton, Niklas Een, Alan Mishchenko,
1 Retiming and Re-synthesis Outline: RetimingRetiming Retiming and Resynthesis (RnR)Retiming and Resynthesis (RnR) Resynthesis of PipelinesResynthesis.
Timing Model Reduction for Hierarchical Timing Analysis Shuo Zhou Synopsys November 7, 2006.
9/15/09 - L19 Sequential CircuitsCopyright Joanne DeGroat, ECE, OSU1 Sequential Cirucits.
Synchronous Sequential Logic A digital system has combinational logic as well as sequential logic. The latter includes storage elements. feedback path.
IPR: In-Place Reconfiguration for FPGA Fault Tolerance Zhe Feng 1, Yu Hu 1, Lei He 1 and Rupak Majumdar 2 1 Electrical Engineering Department 2 Computer.
CS151 Introduction to Digital Design Chapter 5: Sequential Circuits 5-1 : Sequential Circuit Definition 5-2: Latches 1Created by: Ms.Amany AlSaleh.
Equivalence checking Prof Shobha Vasudevan ECE 598SV.
Fast Synthesis of Clock Gating from Existing Logic Aaron P. Hurst Univ. of California, Berkeley Portions In Collaboration with… Artur Quiring and Andreas.
TOPIC : Introduction to Sequential Circuits UNIT 1: Modeling and Simulation Module 4 : Modeling Sequential Circuits.
Specification mining for asynchronous controllers Javier de San Pedro† Thomas Bourgeat ‡ Jordi Cortadella† † Universitat Politecnica de Catalunya ‡ Massachusetts.
Mealy and Moore Machines Lecture 8 Overview Moore Machines Mealy Machines Sequential Circuits.
Lecture 1 Gunjeet kaur Dronacharya group of institutions.
Asynchronous Interface Specification, Analysis and Synthesis
Synthesis for Verification
Alan Mishchenko UC Berkeley
James D. Z. Ma Department of Electrical and Computer Engineering
Flip-FLops and Latches
332:437 Lecture 12 Finite State Machine Design
CPE/EE 422/522 Advanced Logic Design L02
ECE 434 Advanced Digital System L04
ESE535: Electronic Design Automation
Scalable and Scalably-Verifiable Sequential Synthesis
Resolution Proofs for Combinational Equivalence
ESE535: Electronic Design Automation
Robert Brayton Alan Mishchenko Niklas Een
Fast Min-Register Retiming Through Binary Max-Flow
Robert Brayton Alan Mishchenko Niklas Een
Presentation transcript:

Rajeev K. Ranjan Advanced Technology Group Synopsys Inc. On the Optimization Power of Retiming and Resynthesis Transformations Joint work with: Vigyan Singhal, Cadence Berkeley Labs, Berkeley Fabio Somenzi, Univ. of Colorado, Boulder Robert K. Brayton, Univ. of California, Berkeley

All circuit optimizations (T+S)* Re(T)iming (S)ynthesis Motivation Optimization capability of retiming and resynthesis - an open question Theoretical foundation for practical retiming and resynthesis based synthesis and verification

This Work C1 C2 (Retiming + Resynthesis) * (special 2-way split + merge) * Circuit G1 G2 State Graph

This Work (Retiming + Resynthesis) * G2 (special 2-way split + Merge) * C1 C2 Circuit G1 State Graph

Outline òBackground Complexity Result Extensions to retiming and resynthesis Summary

Background: Sequential Circuit Gates and memory elements Edge triggered Single global clock

Background: State Transition Graph (STG) States (values of latches) Transitions (input minterms) b a CIRCUIT: , STG:

Background: Combinational Synthesis Primary InputsPrimary Outputs Latch InputsLatch Outputs

Background: Retiming [Leiserson & Saxe] Retime by +1 Retime by -1

Iterative Retiming and Resynthesis: (T + S) * Retiming changes interaction between different combinational blocks Combinational synthesis generates new candidate latch locations Sequence of retiming and synthesis provides powerful sequential optimization technique  [Malik and Sentovich]  [Iyer and Ciesielski]  [Hassoun and Ebling]

Retiming & Resynthesis: Optimization Capability Previous Work [Malik91]: Fixed states and transitions:- arbitrary state encoding General STG transformations:- incomplete classification STG (states, transitions, encoding) transformation Our Work: General STG transformations:- Complete and tight classification

State Transformations: Split and Merge [Malik91] s v b u a c d s1 s2 v b b u a a c d SPLIT MERGE

Definition: 1-Step Equivalence of States Defined over a pair of states in an STG. s t v b b u a a s and t indistinguishable in 1 step p p

Definition: 1-Step Equivalent Transformation Defined as 2-way merge and split involving 1-step equivalent states

Definition: 1-Step Equivalent Graphs Class of graphs obtained by applying a sequence of 1-step equivalent transformations 1StepEquivalence Applied to sufficiently delayed configuration of circuits

Definitions: Summary States Given an STG, states with identical transitions. Transformations Merge twostates Split a state into twostates Given an STG, Graphs Given two STG’s transformations G1 G2

Outline Background òComplexity Result Extensions to retiming and resynthesis Summary

C1 (S+T)* C2 G1G2 Prove for single transformation (generalize by induction). Prove for 2-way split. 2-way merge follows:  C2 can generate C1 (reversible transformations).  “2-way merge” on G2 leads to G1. Strategy:  Generate internal points for new codes.  Move latches to these internal points.

Generate New State Codes Trivial mapping for all states except s For s, split state ( t or u ) can be obtained by current state ( s1 ) and input ( c ) Trivial mapping back to original codes s s4 b s3 a c,d s2 s1 c,d G1 t u s4 b b s3 a a s1 s2 c d c d 2-way split G2

Implementing State Split C1 IN C C’ Synthesis C1 IN C C’ Retiming Synthesis C1 IN : Code for C1 : Code for C2 C2 IN

C1 (S+T)* C2G1G2 Synthesis does not change STG Retiming = (Basic retiming) * Basic retiming results in 1-step equivalent graphs Composition: G1G2 G X G1G X G2 Result follows by induction

Retiming Across NAND Gate Graphs are 1-step equivalent , -0 10

Retiming Across Fanout Junction Graphs are 1-step equivalent. Ignore transient states

and Graph Composition G1G2 G X G1G X G2 SPLIT s G1 s1 s2 SPLIT G2 s,t G1 X G s1,t s2,t G2 X G

Applying Compositionality G C1 = G Cx X G Cx G C2 = G Cx’ X G Cx Retime across Primitive Element C2C1 X X’ G C1 G Cx G Cx’ G C2 Applies to general retiming (by induction)

C1 (S+T)* C2G1G2 Synthesis does not change STG Retiming = (Basic retiming) * Basic retiming results in 1-step equivalent graphs Composition: G1G2 G X G1G X G2 Basic retiming within a circuit results in 1-step equivalent graphs Applies to general retiming by induction

Outline Background Complexity Result òExtensions to retiming and resynthesis Summary

Analysis Retiming and resynthesis optimization involves only a local notion of state equivalence Covers only a subset of all valid STG transformations

Limitation of (S + T)* - 1st Example C1C C1 (S+T)* C2 [Zhou97]

Extending Synthesis: Eliminate Floating Latches C Re-encoding C2 Eliminate floating latch

Limitation of (S + T)* - 2nd Example x y e e C1 x y e C C1 (S+T)* C2 else ,

Extending Retiming: Retiming Enabled Latches e e x y e RETIME x y e e x y ee x y e

All circuit optimizations Summary Characterized wrt STG transformations (S+T)* Re(T)iming (S)ynthesis Obtain tight bounds for extended transformations