Rajeev K. Ranjan Advanced Technology Group Synopsys Inc. Using Combinational Verification for Sequential Circuits Joint work with: Vigyan Singhal, Cadence.

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

Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
Combinational Logic.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Sequential Synthesis.
Give qualifications of instructors: DAP
K-Maps, Timing Sequential Circuits: Latches & Flip-Flops Lecture 4 Digital Design and Computer Architecture Harris & Harris Morgan Kaufmann / Elsevier,
Circuits require memory to store intermediate data
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 5 – Sequential Circuits Part 1 – Storage.
Sequential Circuit Analysis & Design Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Dr. Aiman H. El-Maleh.
Timing Margin Recovery With Flexible Flip-Flop Timing Model
High-Level Constructors and Estimators Majid Sarrafzadeh and Jason Cong Computer Science Department
FPGA Latency Optimization Using System-level Transformations and DFG Restructuring Daniel Gomez-Prado, Maciej Ciesielski, and Russell Tessier Department.
CSE241 Formal Verification.1Cichy, UCSD ©2003 CSE241A VLSI Digital Circuits Winter 2003 Recitation 6: Formal Verification.
RTL Hardware Design by P. Chu Chapter 161 Clock and Synchronization.
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
ECE Synthesis & Verification - Lecture 8 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Introduction.
EECC341 - Shaaban #1 Lec # 13 Winter Sequential Logic Circuits Unlike combinational logic circuits, the output of sequential logic circuits.
Asynchronous Sequential Logic
TH EDA NTHU-CS VLSI/CAD LAB 1 Re-synthesis for Reliability Design Shih-Chieh Chang Department of Computer Science National Tsing Hua University.
Spring 08, Feb 28 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2008 Retiming Vishwani D. Agrawal James J. Danaher.
1 Digital Logic
Modern VLSI Design 2e: Chapter 5 Copyright  1998 Prentice Hall PTR Topics n Memory elements. n Basics of sequential machines.
Rajeev K. Ranjan Advanced Technology Group Synopsys Inc. On the Optimization Power of Retiming and Resynthesis Transformations Joint work with: Vigyan.
Retiming. Consider the Following Circuit Suppose T XOR = 3 ns, T pcq = 1 ns, T setup = 1 ns, then this circuit can be clocked at 1 ns + (3 x 3 ns) + 1.
Retiming with Interconnect and Gate Delay CUHK CSE CAD Group Dennis Tong 29 th Sept., 2003.
1 UCSD VLSI CAD Laboratory ISQED-2009 Revisiting the Linear Programming Framework for Leakage Power vs. Performance Optimization Kwangok Jeong, Andrew.
Overview Sequential Circuit Design Specification Formulation
Spring 07, Apr 5 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Retiming Vishwani D. Agrawal James J. Danaher Professor.
Timing Analysis of Cyclic Combinational Circuits Marc D. Riedel and Jehoshua Bruck California Institute of Technology IWLS, Temecula Creek, CA, June 4,
ECE Synthesis & Verification 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Retiming.
Chapter #6: Sequential Logic Design 6.2 Timing Methodologies
03/08/2005 © J.-H. Jiang1 Retiming and Resynthesis EECS 290A – Spring 2005 UC Berkeley.
Fall 2007 L16: Memory Elements LECTURE 16: Clocks Sequential circuit design The basic memory element: a latch Flip Flops.
Lecture 10 Topics: Sequential circuits Basic concepts Clocks
Lecture 8: Sequential Networks and Finite State Machines CSE 140: Components and Design Techniques for Digital Systems Fall 2014 CK Cheng Dept. of Computer.
Digital Computer Design Fundamental
FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR HDL coding n Synthesis vs. simulation semantics n Syntax-directed translation n.
Shashi Kumar 1 Logic Synthesis: Course Introduction Shashi Kumar Embedded System Group Department of Electronics and Computer Engineering Jönköping Univ.
Electrical and Computer Engineering Archana Rengaraj ABC Logic Synthesis basics ECE 667 Synthesis and Verification of Digital Systems Spring 2011.
Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.
ECE Advanced Digital Systems Design Lecture 12 – Timing Analysis Capt Michael Tanner Room 2F46A HQ U.S. Air Force Academy I n t e g r i.
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.
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,
Introduction to State Machine
In1200/04-PDS 1 TU-Delft Digital Logic. in1200/04-PDS 2 TU-Delft Unit of Information l Computers consist of digital (binary) circuits l Unit of information:
Analysis and Synthesis of Synchronous Sequential Circuits A “synchronizing” pulse/edge signal (clock) controls the operation of the memory portion of the.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Multi-Level Logic Synthesis.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Timing Optimization.
Equivalence checking Prof Shobha Vasudevan ECE 598SV.
Latches, Flip Flops, and Memory ECE/CS 252, Fall 2010 Prof. Mikko Lipasti Department of Electrical and Computer Engineering University of Wisconsin – Madison.
Fast Synthesis of Clock Gating from Existing Logic Aaron P. Hurst Univ. of California, Berkeley Portions In Collaboration with… Artur Quiring and Andreas.
Retiming EECS 290A Sequential Logic Synthesis and Verification.
COMBINATIONAL AND SEQUENTIAL CIRCUITS Guided By: Prof. P. B. Swadas Prepared By: BIRLA VISHVAKARMA MAHAVDYALAYA.
Chapter 3 Boolean Algebra and Digital Logic T103: Computer architecture, logic and information processing.
TOPIC : Introduction to Sequential Circuits UNIT 1: Modeling and Simulation Module 4 : Modeling Sequential Circuits.
Kanupriya Gulati * Mathew Lovell ** Sunil P. Khatri * * Computer Engineering, Texas A&M University ** Hewlett Packard Company, Fort Collins, CO Efficient.
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
ASIC Design Methodology
Chapter #6: Sequential Logic Design
Asynchronous Interface Specification, Analysis and Synthesis
Alan Mishchenko UC Berkeley
332:437 Lecture 12 Finite State Machine Design
CPE/EE 422/522 Advanced Logic Design L02
CSE 370 – Winter Sequential Logic - 1
CSE 370 – Winter Sequential Logic-2 - 1
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. Using Combinational Verification for Sequential Circuits Joint work with: Vigyan Singhal, Cadence Berkeley Labs, Berkeley Fabio Somenzi, Univ. of Colorado, Boulder Robert K. Brayton, Univ. of California, Berkeley

Rajeev K. Ranjan Advanced Technology Group Synopsys Inc. Using Combinational Verification with Sequential Optimization Joint work with: Vigyan Singhal, Cadence Berkeley Labs, Berkeley Fabio Somenzi, Univ. of Colorado, Boulder Robert K. Brayton, Univ. of California, Berkeley

Motivation High complexity of sequential circuit verification Very little sequential optimization performed due to lack of practical verification tool Significant advancements in combinational verification domain - commercial tools, part of design flow BUT Large gap in combinational vs. sequential optimization capability Leverage the gap between sequential and combinational optimization

Our Work Restricted sequential optimization IIterative synthesis and retiming Constraint on the retiming transformation Verification complexity EExtension of combination verification problem Proposed Optimization Capability Verification Complexity Combinational Sequential

Previous Work: General Sequential Equivalence State space exploration based techniques  Requires state-space traversal of product machine  Explicit search (DDHY92)  Implicit search (CBM89, BCML90)  State-space explosion problem ATPG based:  AQUILA (HCC97)  Relies on finding equivalent points  symbolic justification procedure

Previous Work: Equivalence with Constrained Optimization HCC96: Verification of retimed circuits.  Relies on finding correspondence of flip-flops AGM96: Verification of “complete-1-distinguishable” circuits.  Requires state-space traversal of individual machines. SK97, E98: Structural technique  Relies on finding logic transformations  Solves a series of combinational equivalence problem

Related Work: Bischoff et al. (ICCD 97) Compared RTL with gates extracted from a custom transistor netlist “Retiming comparison” used to compare logic across flip-flop boundaries No formal framework for such verification presented No technique given to handle circuits with feedback paths

Outline Background Sequential circuit without feedback  Circuits with regular flip-flops  Circuits with enabled flip-flops Sequential circuit with feedback Experimental results Conclusion

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

Background: Combinational Synthesis Primary InputsPrimary Outputs Flip-flop InputsFlip-flop 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 flip-flop locations Sequence of retiming and synthesis provides powerful sequential optimization technique

Main Idea Create an acyclic representation of the circuit  Restrict retiming of some flip-flops if needed Perform iterative retiming and resynthesis Obtain combinational representations for original and optimized circuit and perform combinational equivalence Notion of equivalence: Steady-state Ignores the transient behavior (initialization of flip-flops) Compares the steady-state behavior

Sequential Circuit without Feedback Circuits with regular flip-flops  Outputs dependent on inputs at multiple time instants  Time instants defined by clock ticks  e.g. (t-1) indicates one clock tick ago  Clocked Boolean Function (CBF) Circuits with load-enabled flip-flops  Outputs dependent on inputs at multiple time instants  Time instants defined by the events  e.g.  (e) indicates latest time at which “e” was true  Event Driven Boolean Function (EDBF)

Clocked Boolean Function (CBF) sy s(t) = y(t-1) s : Primary input s(t) primary input ststtt()('),'  Combinational representation of acyclic sequential circuit with regular flip-flops. F y1y1 y2y2 ymym s s(t) = F( y 1 (t), y 2 (t), …, y m (t))

Clocked Boolean Function: Illustration ab cd o otctdt()()()  dtct()()  1 ctbtat()()()  btat()()  1 otatatatat()(()())(()(  121 CBF captures the steady-state value of the outputs

Clocked Boolean Function: Illustration ab cd o Original circuit Combinational representation a(t) c d o a(t-1) a(t-2)

Canonicity of CBF Theorem: C 1 and C 2 are two acyclic sequential circuits F 1 and F 2 their CBFs, then FFCC 1212 

Event Driven Boolean Function (EDBF) Combinational representation of acyclic sequential circuit with load-enabled flip-flops. F y1y1 y2y2 ymym s sEfyEyEyE m (())((()),((...,(()))  12 sy e sEyeE(())(([])  s : Primary input primary input sEsEEE(())((')),'  sE(()) 

EDBF: Illustration ab cd o e1e1 e2e2 odc([])( (   dce( ([])  2 cab([])( (   bae( ([])  1 oaaeaeaee([])(( ([]))(([])([]))     1112 EDBF captures the steady-state value of the outputs

EDBF: Illustration ab cd o c d o Original circuit Combinational representation e1e1 e2e2 ae([])  1 aee([  12 a([]) 

Canonicity of EDBF Theorem: u C 1 and C 2 (obtained from C1 by retiming and synthesis) are two acyclic sequential circuits u F 1 and F 2 their EDBFs, then FFCC 1212 

Synthesis does not change functionality Retiming = (Basic retiming) * Basic retiming results in equivalent EDBFs By transitivity result holds for Iterative retiming moves across primitive elements Canonicity of EDBF (proof):

Sequential Circuit with Feedback C1 C2 x e d Key idea: Model feedback path with a flip-flop fed by a multiplexer. e d e d Model direct feedback path to a flip-flop with load enabled flip-flop e d C2 No feedback path

Modeling Feedback Path: Decomposition Condition x : Output signal of a flip-flop with feedback path F(x) : Next state function of the flip-flop, then FxedexFF xx ()  FdF eFF xx xx   i.e., F(x) should be positive unate in x Conditions on data and enable signal: e is a function of primary inputs only

Methodology: Summary Expose the (designer specified) registers which cannot be retimed If the resulting circuit is acyclic, continue If the next state function of each flip-flop with a feedback path is positive unate, perform appropriate modeling, continue If not, expose minimum number of flip-flops to make it acyclic, continue

Experimental Setup Circuit modification: Identify minimal set of flip-flops to expose to make the circuit acyclic Combination optimization: SIS with modified version of “script.delay” Retiming: Using MINARET (MS97)  Minimum area for delay obtained by combinational optimization  Minimum area for minimum feasible period CBF equivalence mapped onto combinational equivalence

Experimental Results Combinational optimization. Retiming and resynthesis.

Conclusion Practical retiming and resynthesis based sequential optimization and verification methodology Constraint on the feedback path (if one exists) of flip- flops being retimed Constraints can be met by exposing some flip-flops Faster circuits using retiming with reasonable verification time Availability of retiming tool capable of moving enabled flip-flops critical