03/08/2005 © J.-H. Jiang1 Retiming and Resynthesis EECS 290A – Spring 2005 UC Berkeley.

Slides:



Advertisements
Similar presentations
Abdullah Aldahami ( ) Jan 29,  This paper propose a new resynthesis algorithm for FPGA area reduction.  The existing resynthesis techniques.
Advertisements

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.
Introduction to Sequential Circuits
Some Slides from: U.C. Berkeley, U.C. Berkeley, Alan Mishchenko, Alan Mishchenko, Mike Miller, Mike Miller, Gaetano Borriello Gaetano Borriello Introduction.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Sequential Synthesis.
VIII - Working with Sequential Logic © Copyright 2004, Gaetano Borriello and Randy H. Katz 1 Finite state machine optimization State minimization  fewer.
Methods of Proof Chapter 7, Part II. Proof methods Proof methods divide into (roughly) two kinds: Application of inference rules: Legitimate (sound) generation.
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)
Infinite Horizon Problems
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
ECE Synthesis & Verification - Lecture 8 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Introduction.
Circuit Retiming with Interconnect Delay CUHK CSE CAD Group Meeting One Evangeline Young Aug 19, 2003.
Penn ESE 535 Spring DeHon 1 ESE535: Electronic Design Automation Day 13: March 4, 2009 FSM Equivalence Checking.
Pipelining and Retiming 1 Pipelining  Adding registers along a path  split combinational logic into multiple cycles  increase clock rate  increase.
Penn ESE Fall DeHon 1 ESE (ESE534): Computer Organization Day 19: March 26, 2007 Retime 1: Transformations.
EE290A 1 Retiming of AND- INVERTER graphs with latches Juliet Holwill 290A Project 10 May 2005.
Rajeev K. Ranjan Advanced Technology Group Synopsys Inc. On the Optimization Power of Retiming and Resynthesis Transformations Joint work with: Vigyan.
Continuous Retiming EECS 290A Sequential Logic Synthesis and Verification.
Computation Engines: BDDs and SAT (part 2) 290N: The Unknown Component Problem Lecture 8.
RT-Level Custom Design. This Week in DIG II  Introduction  Combinational logic  Sequential logic  Custom single-purpose processor design  Review.
ECE Synthesis & Verification - L211 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Verification Equivalence checking.
Rajeev K. Ranjan Advanced Technology Group Synopsys Inc. Using Combinational Verification for Sequential Circuits Joint work with: Vigyan Singhal, Cadence.
CS294-6 Reconfigurable Computing Day 16 October 15, 1998 Retiming.
4/21/2005JHJ1 Structure-dependent Sequential Equivalence Checking EE290A UC Berkeley Spring 2005.
Processing Rate Optimization by Sequential System Floorplanning Jia Wang 1, Ping-Chih Wu 2, and Hai Zhou 1 1 Electrical Engineering & Computer Science.
1 Retiming Outline: ProblemProblem FormulationFormulation Retiming algorithmRetiming algorithm.
01/27/2005 Combinationality of cyclic definitions EECS 290A – Spring 2005 UC Berkeley.
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.
EDA (CS286.5b) Day 18 Retiming. Today Retiming –cycle time (clock period) –C-slow –initial states –register minimization.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 8: February 13, 2008 Retiming.
FPGA-Based System Design: Chapter 5 Copyright  2004 Prentice Hall PTR Topics n Basics of sequential machines. n Sequential machine specification. n Sequential.
1 COMP541 State Machines Montek Singh Feb 8, 2012.
Electrical and Computer Engineering Archana Rengaraj ABC Logic Synthesis basics ECE 667 Synthesis and Verification of Digital Systems Spring 2011.
CS1Q Computer Systems Lecture 11 Simon Gay. Lecture 11CS1Q Computer Systems - Simon Gay2 The D FlipFlop A 1-bit register is called a D flipflop. When.
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.
1 2-Hardware Design Basics of Embedded Processors (cont.)
FORMAL VERIFICATION OF ADVANCED SYNTHESIS OPTIMIZATIONS Anant Kumar Jain Pradish Mathews Mike Mahar.
CALTECH CS137 Spring DeHon CS137: Electronic Design Automation Day 9: May 6, 2002 FSM Equivalence Checking.
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 7: February 3, 2002 Retiming.
Cut-Based Inductive Invariant Computation Michael Case 1,2 Alan Mishchenko 1 Robert Brayton 1 Robert Brayton 1 1 UC Berkeley 2 IBM Systems and Technology.
1 Retiming and Re-synthesis Outline: RetimingRetiming Retiming and Resynthesis (RnR)Retiming and Resynthesis (RnR) Resynthesis of PipelinesResynthesis.
Pipelining and Retiming
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Multi-Level Logic Synthesis.
1 COMP541 Finite State Machines - 1 Montek Singh Sep 22, 2014.
CMPSC 16 Problem Solving with Computers I Spring 2014 Instructor: Tevfik Bultan Lecture 4: Introduction to C: Control Flow.
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Logic Design Dr. Oliver Faust.
Retiming EECS 290A Sequential Logic Synthesis and Verification.
1 COMP541 Sequential Logic – 2: Finite State Machines Montek Singh Feb 29, 2016.
Logical Agents. Outline Knowledge-based agents Logic in general - models and entailment Propositional (Boolean) logic Equivalence, validity, satisfiability.
Asynchronous Interface Specification, Analysis and Synthesis
CS137: Electronic Design Automation
COMP541 Sequential Logic – 2: Finite State Machines
Instructor: Rajeev Alur
Alan Mishchenko UC Berkeley
James D. Z. Ma Department of Electrical and Computer Engineering
Synthesis for Verification
Objective of This Course
ESE535: Electronic Design Automation
Jun Chen and Changbo Long
CS184a: Computer Architecture (Structures and Organization)
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
Recording Synthesis History for Sequential Verification
Timing Analysis and Optimization of Sequential Circuits
Fast Min-Register Retiming Through Binary Max-Flow
CSE 370 – Winter Sequential Logic-2 - 1
Presentation transcript:

03/08/2005 © J.-H. Jiang1 Retiming and Resynthesis EECS 290A – Spring 2005 UC Berkeley

2 Outline Motivations Retiming & resynthesis An optimization perspective Peripheral retiming Transformation power A verification perspective Verification complexity

3 Why retiming & resynthesis? Sequential optimization Go beyond purely combinational minimization Combinational synthesis cannot cross register boundaries Retiming & resynthesis Retiming: redefine register boundaries by pushing/pulling registers around Resynthesis: minimize combinational logics Optimize sequential networks using combinational techniques Avoid expensive computation Note that clock skewing does not support resynthesis

4 Retiming Retiming for combinational optimization Redefine a register boundary such that the combinational block subject to optimization is as large as possible Peripheral retiming [MSBS91] extends this idea one step further Allow “negative” registers (negative weights on edges of a communication graph) Borrow registers from the environment Need to be able to eliminate negative registers at the end of the optimization (but no need for verification purpose [KB01]) Return registers to the environment Allow “negative” registers exist only on peripheral edges of a circuit graph

5 Resynthesis Rewrite circuit structures in any way while maintaining the functionalities of transition/output functions E.g., simplification, decomposition, Boolean resubstitution, etc. [DeM91]

6 Retiming & resynthesis on pipelined circuits Introduce negative registers, if necessary, to enlarge the combinational block In theory, no need to have iterative retiming & resynthesis if all the latches can be pushed to the peripheral edges Two retimings and one resynthesis are enough

7 Retiming & resynthesis on FSMs Retiming & resynthesis on FSMs can achieve any state re-encoding [Mal90] In theory, iterating retiming & resynthesis may produce different (but equivalent) STGs which cannot be produced by one retiming & one resynthesis

8 What retiming & resynthesis can do Re-encoding How about any equivalent transformations on STGs? (Orthogonal to the state encoding problem) STGs of an FSM are not canonical (but equivalent) Given any two equivalent STGs, can retiming & resynthesis transform one to the other?

9 What retiming & resynthesis cannot do An example where retiming & resynthesis fail G1 and G2 are not transformable to each other under retiming and resynthesis

10 State immediate equivalence Definition. Two states are immediately equivalent if, under any input assignment, they have the same next state and output valuation

11 Effects of an atomic backward move An atomic backward move of retiming can split a state into several immediately equivalent states and/or annihilate states which have no predecessor state

12 Effects of an atomic forward move An atomic forward move of retiming can merge immediately equivalent states to one state and/or create states which have no predecessor state

13 Transformation power of iterative retiming & resynthesis Two STGs are transformable to each other under retiming & resynthesis if and only if there exists a sequence of splitting a state into imm. eq. states, and merging imm. eq. states to a state which changes one STG to the other [Ran97, RSSB98] Resynthesis does not change an STG We ignore the set of unreachable dangling states created by forward moves of retiming (In the next lecture, we will see that these states have decisive effects on initialization sequences)

14 How to tell equivalence under retiming & resynthesis Given two STGs, how do we tell if they are transformable to each other under retiming & resynthesis? Canonical representation for STGs which are equivalent under retiming & resynthesis?

15 State minimization under immediate equivalence Algorithm: STG minimization under immediate equivalence Input: an STG Output: minimized canonical STG 1. Remove dangling states (not strongly connected) 2. Repeat 3. Merge all immediately equivalent states 4. Until no merging can be performed 5. Return the minimized STG

16 Equivalence under retiming & resynthesis Two STGs are equivalent under retiming & resynthesis if they have isomorphic minimized representations derived from the previous procedure

17 Optimization power of peripheral retiming plus resynthesis Can peripheral retiming (in combination with resynthesis) bring in more optimization power than standard retiming? In theory, no; in practice, yes Edges with negative weights cannot be removed by resynthesis

18 Verification – Rt Graph isomorphism checking (with known input/output correspondence) Circuit graph (except weights on edges) is unchanged under retiming Loop invariant checking Register count of every cycle in a circuit graph must be unchanged under retiming Only need to check fundamental cycles (linearly independent cycle set) O(|E| 2 log|V|) [SSBS92] Poly-time solvable

19 Verification – Rt + Rs Assume transformation history unknown Search the right register boundary (in the original circuit) How many such boundaries are possible? Check combinational equivalence for each boundary configuration NP-complete

20 Verification – Rt + Rs + Rt Assume transformation history unknown Search the right register boundaries (in both the original and modified circuits) Check combinational equivalence for each boundary configuration NP-complete

21 Verification – Rt + Rs + Rt + Rs Assume transformation history unknown May not have corresponding register boundary In fact, (Rs + Rt + Rs) is already non-trivial Complexity? There are infinitely many (countable) possibilities in rewriting circuits by resynthesis  2 [Ran97] (but very unlikely)

22 Verification – (Rt + Rs)* Assume transformation history unknown In fact, PSPACE-complete Same as general sequential equivalence checking The foregoing algorithm on checking equivalence under retiming & resynthesis only tells us an upper bound of the verification complexity (polynomial in the number of states, exponential in the number of state bits)

23 Circumventing the hardness Need transformation history, or Check equivalence step by step along the retiming/resynthesis transformation

24 Conclusions We learned the transformation power of retiming & resynthesis, and its verification complexity We will discuss the initialization of synchronous systems, including how initialization sequences are affected by retiming & resynthesis

25 References [DeM91] G. De Micheli. Synchronous logic synthesis: algorithms for cycle-time minimization. IEEE Trans. CAD, [J05] J.-H. Jiang. On some transformation invariants under retiming and resynthesis. In Proc. TACAS, [KB01] A. Kuehlmann & J. Baumgartner. Transformation-based verification using generalized retiming. In Proc. CAV, [Mal90] S. Malik. Combinational Logic Optimization Techniques in Sequential Logic Synthesis. PhD thesis, UC Berkeley, [MSBS91] S. Malik, E. Sentovich, R. Brayton & A. Sangiovanni-Vincentelli. Retiming and resynthesis: optimization of sequential networks with combinational techniques. IEEE Trans. CAD, [Ran97] R. Ranjan. Design and Implementation Verification of Finite State Systems. PhD thesis, UC Berkeley, [RSSB98] R. Ranjan, V. Singhal, F. Somenzi & R. Brayton. On the optimization power of retiming and resynthesis transformations. In Proc. ICCAD, [SSBS92] N. Shenoy, K. Singh, R. Brayton and A. Sangiovanni-Vincentelli, On the temporal equivalence of sequential circuits. In Proc. DAC, [ZSA98] H. Zhou, V. Singhal & A. Aziz. How powerful is retiming? In Proc. IWLS, 1998.