TOWARDS EQUIVALENCE CHECKING BETWEEN TLM and RTL MODELS PRINCIPLES OF SEQUENTIAL EQUIVALENCE VERIFICATION Giray Kömürcü Boğaziçi University CMPE 58Q.

Slides:



Advertisements
Similar presentations
Analyzing Regression Test Selection Techniques
Advertisements

1 Verification of Parameterized Systems Reducing Model Checking of the Few to the One. E. Allen Emerson, Richard J. Trefler and Thomas Wahl Junaid Surve.
Switching circuits Composed of switching elements called “gates” that implement logical blocks or switching expressions Positive logic convention (active.
Copyright  2003 Dan Gajski and Lukai Cai 1 Transaction Level Modeling: An Overview Daniel Gajski Lukai Cai Center for Embedded Computer Systems University.
Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
Types of Logic Circuits
TOPIC : Finite State Machine(FSM) and Flow Tables UNIT 1 : Modeling Module 1.4 : Modeling Sequential circuits.
Presenter: PCLee VLSI Design, Automatic and Test, (VLSI-TSA-DAT).
Lecture # 2 : Process Models
Sequential Circuits1 DIGITAL LOGIC DESIGN by Dr. Fenghui Yao Tennessee State University Department of Computer Science Nashville, TN.
ECE Synthesis & Verification 1 ECE 667 Synthesis and Verification of Digital Systems Formal Verification Combinational Equivalence Checking.
Efficient Reachability Analysis for Verification of Asynchronous Systems Nishant Sinha.
Copyright 2001, Agrawal & BushnellDay-1 PM Lecture 4a1 Design for Testability Theory and Practice Lecture 4a: Simulation n What is simulation? n Design.
Using Interfaces to Analyze Compositionality Haiyang Zheng and Rachel Zhou EE290N Class Project Presentation Dec. 10, 2004.
Mahapatra-Texas A&M-Fall'001 cosynthesis Introduction to cosynthesis Rabi Mahapatra CPSC498.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
Dr. Turki F. Al-Somani VHDL synthesis and simulation – Part 3 Microcomputer Systems Design (Embedded Systems)
Modeling and the simulator of Digital Circuits in Object-Oriented Programming Stefan Senczyna Department of Fundamentals of Technical Systems The Silesian.
25/06/2015Marius Mikucionis, AAU SSE1/22 Principles and Methods of Testing Finite State Machines – A Survey David Lee, Senior Member, IEEE and Mihalis.
Computation Engines: BDDs and SAT (part 2) 290N: The Unknown Component Problem Lecture 8.
ECE Synthesis & Verification - L211 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Verification Equivalence checking.
5/6/2004J.-H. R. Jiang1 Functional Dependency for Verification Reduction & Logic Minimization EE290N, Spring 2004.
1 Application Specific Integrated Circuits. 2 What is an ASIC? An application-specific integrated circuit (ASIC) is an integrated circuit (IC) customized.
Sequential Testing Two choices n Make all flip-flops observable by putting them into a scan chain and using scan latches o Becomes combinational testing.
George Mason University ECE 448 – FPGA and ASIC Design with VHDL Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts,
03/08/2005 © J.-H. Jiang1 Retiming and Resynthesis EECS 290A – Spring 2005 UC Berkeley.
Digital Computer Design Fundamental
Using Mathematica for modeling, simulation and property checking of hardware systems Ghiath AL SAMMANE VDS group : Verification & Modeling of Digital systems.
Extreme Makeover for EDA Industry
Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.
1 H ardware D escription L anguages Modeling Digital Systems.
Digital networks classification Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA)
FORMAL VERIFICATION OF ADVANCED SYNTHESIS OPTIMIZATIONS Anant Kumar Jain Pradish Mathews Mike Mahar.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics Basics of register-transfer design: –data paths and controllers; –ASM charts. Pipelining.
Design & Co-design of Embedded Systems Next Step: Transaction-Level Modeling Maziar Goudarzi.
Lyra – A service-oriented and component-based method for the development of communicating systems (by Sari Leppänen, Nokia/NRC) Traditionally, the design,
Introduction to State Machine
Computer Organization & Programming Chapter 5 Synchronous Components.
Hardware Design and The Petri Net Abhijit K. Deb SAM, LECS, IMIT, KTH Kista, Stockholm.
Testing of Synchronous Sequential Circuits By Dr. Amin Danial Asham.
1 Copyright  2001 Pao-Ann Hsiung SW HW Module Outline l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW.
Verification & Validation By: Amir Masoud Gharehbaghi
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Equivalence checking Prof Shobha Vasudevan ECE 598SV.
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
Speaker: Nansen Huang VLSI Design and Test Seminar (ELEC ) March 9, 2016 Simulation-Based Equivalence Checking.
Complexity Relief Techniques for Model Checking METU, Aug SOFTWARE VERIFICATION WORKSHOP Hüsnü Yenigün Sabanci University Informatics Institute,
Introduction to Formal Verification
Asynchronous Interface Specification, Analysis and Synthesis
Hardware Verification
VLSI Testing Lecture 5: Logic Simulation
VLSI Testing Lecture 5: Logic Simulation
Synthesis for Verification
Introduction Introduction to VHDL Entities Signals Data & Scalar Types
Vishwani D. Agrawal Department of ECE, Auburn University
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Introduction to cosynthesis Rabi Mahapatra CSCE617
Hardware Description Languages
Introduction to Formal Verification
Objective of This Course
Scalable and Scalably-Verifiable Sequential Synthesis
Research Status of Equivalence Checking at Zhejiang University
Aiman H. El-Maleh Sadiq M. Sait Syed Z. Shazli
Transaction Level Modeling: An Overview
State Abstraction Techniques for the Verification of Reactive Circuits
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL code ECE 448 – FPGA and ASIC Design.
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
ECE 667 Synthesis and Verification of Digital Systems
Presentation transcript:

TOWARDS EQUIVALENCE CHECKING BETWEEN TLM and RTL MODELS PRINCIPLES OF SEQUENTIAL EQUIVALENCE VERIFICATION Giray Kömürcü Boğaziçi University CMPE 58Q

MOTIVATION Verification is a crucial step in microelectronic design cycle Has to be done in a limited time with 100% success

OUTLINE PART 1 Sequential Circuit Representations Introduction to Sequential Equivalence State & Sequential Equivalence Product Machine Approaches to Sequential Equivalence Verification BDD-Based Symbolic CNF-Based Induction Structure Driven

SEQUENTIAL CIRCUIT REPRESENTATION m # of inputs l # of outputs n # of memory elements k # of internal signals Clock(clk) signal

SEQUENTIAL VERIFICATION Checking the equivalence of two models is crucial in transformation based design flow Combinational Equivalence Verification is appropriate when the transformations effect the combinational parts only Sequential Equivalence Verification is needed if the transformations effect the correspondence between the memory elements Retiming State Minimization Sequential Redundancy removal Classical Algorithms have exponential complexity Recently Symbolic Traversal, Induction, Structural approaches developed

SEQUENTIAL CIRCUIT REPRESENTATION FSM is represented by state transition graph Edges: input/output y1y1 y2y2 state

STATE EQUIVALENCE Two states s1, s2 of a FSM M are equivalent (s1~s2) if: For every possible input sequence applied from these states results the same output sequence If (s1!~ s2) they are distinguishable Sequence that results in different outputs is distinguishing sequence

SYNCHRONIZING and INITIALIZING SEQUENCES Synchronizing sequence of machine M is an input sequence that drives M to a specific state s sync when applied form any state of M If s sync exists; M is synchronizable Input sequence 0-0 results in state 00 from any state Initializing sequence is a synchronizing sequence identifiable through three-valued logic simulation

SEQUENTIAL EQUIVALENCE Two circuits are sequentially equivalent if each state of one FSM is equivalent to a state in the other Generally reset signal is applied and number of possible Initial States are limited Initial States’ equivalence is enough If reset is not applicable, various equivalence notions have been devised

PRODUCT MACHINE Miter Circuit is used to check equivalence FSM of Miter is called Product Machine Each state of product machine is a state pair s 1 s 2 If output of a state is 0 its unsafe State s j is reachable from s i if an input sequence takes the machine from s i to s j Two states s 1 of M 1 and s 2 of M 2 are equivalent if all states reachable from state s 1 s 2 are safe

PRODUCT MACHINE

CIRCUITS with ONE INITIAL STATE When each circuit has one initial state, initial states’ equivalence is enough Locally checking wheather two states are equivalent: Breadth-first search to find the set of states reachable from the product machine’s initial state called forward FSM traversal If all reachable states are safe circuits are equivalent

CIRCUITS with ONE INITIAL STATE Alternatively, we compute the set of non equivalent state pairs. If these pairs belong to initial state or the states reachable from the initial state designs are non-equivalent Backward FSM Traversal

STATE EXPLOSION Verifying Sequential Equivalence via graph traversal problem has exponential complexity State transition graphes’ size grow exponentially with the number of memory elements n memory elements 2 n vertices No algorithms working in polynomial time Several heuristics developed to solve the problem

SYMBOLIC GRAPH TRAVERSAL Proven effective in practice Perform search by manipulating the characteristic functions of sets and relations States are not evaluated one-by-one BDD’s are used Efficient data structure for representing and manipulating Boolean functions Memory requirements are prohibitive Memory explosion!

CNF BASED INDUCTION If we show that the initial state is safe And every safe state transitions to safe states only We can conclude that all reachable states are safe Sufficient but not necessary S safe might have transitions to unsafe states but if S safe is not reachable from initial state this is not a problem Can be solved via increasing the induction depth

CNF BASED INDUCTION For Figure a at induction depth 4 problem resolves For Figure b at any induction depth fails s5-s7-s8 s6-s5-s7-s8 s9-s9....-s9-s10

STRUCTURE DRIVEN Use functional relations that exist among the two circuits’ signals Circuits compared are related since one is derived from the other through transformations Functional relations make verification more tractable Equivalent state variables Delayed equivalent signals Functional relations between state variables

STRUCTURE DRIVEN Example: State variables y 2, y 5 are equivalent Speed up verification

CIRCUITS WITH UNKNOWN INITIAL STATE Resetting the flip-flops is costly in hardware With nonreset flip-flops single initial state no longer holds Classical FSM Equivalence: For each state of M1 there is a corresponding state in M2

SEQUENTIAL HARDWARE EQUIVALENCE For no known initial state Find a “aligning” sequence that brings the circuits to an equivalent state regardless of their current states Aligning responses may be arbitrary If the two designs are equivalent under SHE, they are equivalent in their steady state behaviour

SAFE REPLACEMENT EQUIVALENCE No Assumptions about a circuits operation Machine M2 is a safe replacement for M1 (M 2 ≤ safe M 1 ) iff:Any state s2 of M2 & for any input sequence There exists a state s1 of M1 produce the same output to same input M1 and M2 are self replacement equivalent if: M 2 ≤ safe M 1 & M 1 ≤ safe M 2 I/O behavior of every state of M2 (M1) can be reproduced by some state of M1 (M2) States do not have to be equivalent

SAFE REPLACEMENT EQUIVALENCE M 3 ≤ safe M 1 do not hold (11 input to v 4 outputs 11 in M 3 & not in M 1 ) M 4 ≤ safe M 1 holds

OUTLINE PART 2 Introduction to RTL-TLM Equivalence Event-Based Equivalence RTL-TLM Event-Based Equivalence

INTRODUCTION Transaction Level Modelling (TLM) High level to check functionality Fast for simulation Register Transfer Level Modelling (RTL) Ready for Place & Route TLM to RTL & RTL to TLM is required In either case equivalence checking is mandatory

TLM & RTL EQUIVALENCE CHECKING Open Problem No temporal or structural similarities Traditional techniques inapplicaple Event based equivalence is based on sequence of events Models compared are considered as black boxes, only I/O behaviours are matched No similarity required No timing correlation is needed

EVENT BASED EQUIVALENCE Event: Something happening at a certain time during the evaluation of the system model Sequence of events will be compared Ordering Sequences of Events by “Happens Before” a “happens before( )” b, if a is executed before b If a b & b c then a c If neither a b nor b a, a & b are concurrent; a||b At different abstraction levels internal structures are very different for the same functionality so equivalence should be proved in terms of sequence of events Informally outputs to same inputs should be the same Definition of equivalence can be applied to formally prove that two models abstracted or refined from each other is correct by construction

EVENT BASED EQUIVALENCE

RTL-TLM EVENT BASED EQUIVALENCE TLM has different abstraction levels based on timing and communication mechanism TLM Programmers View(PV): transaction based, untimed Functional specification is created HW/SW partition is not certain Communication and computation untimed Data transfers are abstract and by function calls TLM Programmers View with Time(PVT): aprx. timed Simulates in non-zero simulation time: performance estimation can be done HW/SW Partition is done Abstract Architecture mapped to interconnected blocks Data transactions are characterized in terms of bus-width and message size: bus burst estimation

RTL-TLM EVENT BASED EQUIVALENCE TLM Cycle Accurate(CA): cycle based and timed HW components are similar to RTL Descriptions Bus model is introduced & cycle accurate protocols are mapped to HW interfaces Transactions are mapped to bus cycles CA TLM is very close to RTL models More Accurate than Transaction Based models CA models: CA TLM & RTL descriptions TB models: PV & PVT TLM descriptions

TB EVENTS vs CA EVENTS Both TB & CA event sequences can be ordered according to “Happen Before” relation Def: In a TB Model an event occurs when a transaction starts or finishes. In a CA Model an event occurs when a read on PI or write on PO is performed

TB-CA EVENT BASED EQUIVALENCE CHECKING IO Operations performed by the models can be put in correspondence Event Based Equivalence holds iff both implementations produce the same result independently of timing But the strategy and data structure required for reading input stimuli or writing results is generally different Also number of events during the input or output phase is generally different

TB-CA EVENT BASED EQUIVALENCE CONDITIONS Designers should provide the set of relevant IO objects and correspondence of PIs/POs between the CA & TB models PIs & POs may differ in type and in number The sequences of events observed during the evolution of the models to be compared must correspond Such correspondence is automatically achieved by two abstraction functions; one for CA and one for TB

TB-CA EVENT BASED EQUIVALENCE Example: Read data1, Read data2, Write sum Events are not matchable

TB-CA EVENT BASED EQUIVALENCE Relevant I/O objects must be defined by the designers Concurrent events must be collapsed by abstraction functs. Events specifically generated for compliance with the communication protocol must be removed by abs. functs. is preserved only

TB-CA EVENT BASED EQUIVALENCE is preserved only

TB-CA EVENT BASED EQUIVALENCE

CONCLUSION Sequential synthesis and optimization of digital circuits requires robust equivalence checking Heuristic approaches increase the capacity of basic approaches Still inadequate for large designs More research is needed for sequential equivalence checking for a reliable system that can be used in the industry widely RTL-TLM event based equivalence is a newly developed promising approach

REFERENCES PRINCIPLES OF SEQUENTIAL EQUIVALENCE VERIFICATION Maher N. Mneimneh, Karem A. Sakallah TOWARDS EQUIVALENCE CHECKING BETWEEN TLM and RTL MODELS Nicola Bombieri, Franco Fummi, Graziano Pravadelli

THANK YOU & QUESTIONS?