Digitaalsüsteemide verifitseerimise kursus1 Exercises Binary decision diagrams ROBDD generation. Shannon expansion Finding an optimal ordering Dynamic.

Slides:



Advertisements
Similar presentations
Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
Advertisements

Satisfiability Modulo Theories (An introduction)
TOPIC : Reduced Ordered Binary Decision Diagrams UNIT 1: Modeling Digital Circuits Module 1 : Functional Modeling.
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: Property checking Property checking.
July 13 th.  If/ Else if / Else  Variable Scope  Nested if/else's  Switch statements  Conditional Operator.
© 2011 Carnegie Mellon University Binary Decision Diagrams Part Bug Catching: Automated Program Verification and Testing Sagar Chaki September.
Binary Decision Diagrams. ROBDDs Slide 2 Example Directed acyclic graph non-terminal node terminal node What function is represented by the graph?
ECE 331 – Digital System Design
Trees Chapter Chapter Contents Tree Concepts Hierarchical Organizations Tree Terminology Traversals of a Tree Traversals of a Binary Tree Traversals.
Spring 07, Feb 13 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Binary Decision Diagrams Vishwani D. Agrawal James.
DATE-2002TED1 Taylor Expansion Diagrams: A Compact Canonical Representation for Symbolic Verification M. Ciesielski, P. Kalla, Z. Zeng B. Rouzeyre Electrical.
Binary Decision Diagrams1 BINARY DECISION DIAGRAMS.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
Rolf Drechlser’s slides used
Taylor Expansion Diagrams (TED): Verification EC667: Synthesis and Verification of Digital Systems Spring 2011 Presented by: Sudhan.
ECE Synthesis & Verification - Lecture 10 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Binary.
 2001 CiesielskiBDD Tutorial1 Decision Diagrams Maciej Ciesielski Electrical & Computer Engineering University of Massachusetts, Amherst, USA
ECE 667 Synthesis & Verification - BDD 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Binary Decision Diagrams (BDD)
 2000 M. CiesielskiPTL Synthesis1 Synthesis for Pass Transistor Logic Maciej Ciesielski Dept. of Electrical & Computer Engineering University of Massachusetts,
Optimal binary search trees
ECE 667 Synthesis and Verification of Digital Systems
By Tariq Bashir Ahmad Taylor Expansion Diagrams (TED) Adapted from the paper M. Ciesielski, P. Kalla, Z. Zeng, B. Rouzeyre,”Taylor Expansion Diagrams:
1 Software Testing and Quality Assurance Lecture 5 - Software Testing Techniques.
Path testing Path testing is a “design structural testing” in that it is based on detailed design & the source code of the program to be tested. The methodology.
Testing Dr. Andrew Wallace PhD BEng(hons) EurIng
Software Testing Sudipto Ghosh CS 406 Fall 99 November 9, 1999.
CUTE: A Concolic Unit Testing Engine for C Technical Report Koushik SenDarko MarinovGul Agha University of Illinois Urbana-Champaign.
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: BDD BDDs applied in equivalence checking.
Truth Table-Based Testing Generating test cases when the test model is a truth table Reading: Binder Chapter 6.
Binary Decision Diagrams (BDDs)
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 20 Slide 1 Defect testing l Testing programs to establish the presence of system defects.
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: SAT SAT applied in equivalence checking.
CS 267: Automated Verification Lecture 6: Binary Decision Diagrams Instructor: Tevfik Bultan.
CTL Model Checking 张文辉
Two Level and Multi level Minimization
Intro. to Logic CS402 1 HW #5: Due June 6th 23:59 HW #5: Due June 6th 23:59.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
HW6: Due Dec 8th 23:59 1.Describe test cases to reach full path coverage of the triangle program by completing the path condition table below. Also, draw.
 Geometric mean of any n numbers is:  Find the geometric mean of the following list of numbers. A. 4, 6 B. 3, 5, 9 C. 4, 8, 10, 12.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Verification & Validation By: Amir Masoud Gharehbaghi
1 Control Flow Analysis Topic today Representation and Analysis Paper (Sections 1, 2) For next class: Read Representation and Analysis Paper (Section 3)
Solving Linear Equations Define and use: Linear Equation in one variable, Solution types, Equivalent Equations.
Binary decision diagrams (BDD’s) Compact representation of a logic function ROBDD’s (reduced ordered BDD’s) are a canonical representation: equivalence.
Static Techniques for V&V. Hierarchy of V&V techniques Static Analysis V&V Dynamic Techniques Model Checking Simulation Symbolic Execution Testing Informal.
CUTE: A Concolic Unit Testing Engine for C Koushik SenDarko MarinovGul Agha University of Illinois Urbana-Champaign.
HW7: Due Dec 5th 23:59 1.Describe test cases to reach full path coverage of the triangle program by completing the path condition table below. Also, draw.
Binary Decision Diagrams Prof. Shobha Vasudevan ECE, UIUC ECE 462.
Dynamic White-Box Testing What is code coverage? What are the different types of code coverage? How to derive test cases from control flows?
CS223: Software Engineering Lecture 26: Software Testing.
Software Testing.
Simulation based verification: coverage
Algebra substitution.
Structural testing, Path Testing
Types of Testing Visit to more Learning Resources.
Moonzoo Kim CS Dept. KAIST
If statement.
Software Testing (Lecture 11-a)
LPSAT: A Unified Approach to RTL Satisfiability
Fast Computation of Symmetries in Boolean Functions Alan Mishchenko
Combinatorial Logic Circuit
Binary Decision Diagrams
Who Wants To Be A Millionaire?
Automatic Test Generation SymCrete
Coursework 1 Due Tuesday, Feb 6, 2007 in the tutorial
CUTE: A Concolic Unit Testing Engine for C
Lecture 17 State Machine Design Using SM Chart
Boolean Algebra for CAD Applications
Week 3 Logic will get you from A to B. Imagination will take you everywhere. Albert Einstein.
Presentation transcript:

Digitaalsüsteemide verifitseerimise kursus1 Exercises Binary decision diagrams ROBDD generation. Shannon expansion Finding an optimal ordering Dynamic node reordering SAT Creating the SAT instance: characteristic formula SAT solving

Digitaalsüsteemide verifitseerimise kursus 2 Exercises Equivalence checking Using ROBDDs Using SAT Code Coverage Generate minimal tests for 100% statement, branch and path coverage Assertions Evaluate operations on SVA sequences

Digitaalsüsteemide verifitseerimise kursus3 Binary decision diagrams ROBDD generation. Shannon expansion f = ¬a¬bcd + a¬bc + ¬abc + abc + ab¬cd + a¬b¬cd 1) Generate the binary decision tree 2) Reduce it to an ROBDD 3) Derive the function from the BDD

Digitaalsüsteemide verifitseerimise kursus4 Binary decision diagrams ROBDD generation. Find the optimal ordering f = ab + a¬b¬c¬d + a¬bcd + ¬abc + ¬ab¬cd + ¬a¬bcd Reorder dynamically the 2. and 3. variable

Digitaalsüsteemide verifitseerimise kursus5 SAT Create a characteristic formula for f = ¬ac + b¬c + a¬b

Digitaalsüsteemide verifitseerimise kursus6 Equivalence checking Whether f and g are equivalent? f = ¬ac + b¬c + a¬b g = a¬c + ¬bc + ¬ab 1) Check with SAT 2) Check with ROBDDs

Digitaalsüsteemide verifitseerimise kursus7 Code Coverage void Function(int x,y,z,w) { int a, b, c; a=0; if(x) { a = 1;} else { if(a==0) { a = 1;} else { a = a + 1;} } if(y) { if(z) { a = 2;} } if(w) { b=c;} } 1) Generate the minimum test for the full statement coverage (inputs w, x, y & z) 2) Generate the minimum test for the full branch coverage 3) Generate the minimum test for the full path coverage 4) Which statements/branches are unreachable (i.e. dead code)?

Digitaalsüsteemide verifitseerimise kursus8 Assertions 1) When is a sequence S1|=>S2 true? S1=##1INT ##[0,3] TASK; S2=HDLR ##[1,4] DONE a) b) c)