Advances in Debug Automation for a Modern Verification Environment

Total Page:16

File Type:pdf, Size:1020Kb

Advances in Debug Automation for a Modern Verification Environment Advances in Debug Automation for a Modern Verification Environment by Brian Keng A thesis submitted in conformity with the requirements for the degree of Doctor of Philosophy Graduate Department of Electrical and Computer Engineering University of Toronto Copyright c 2013 by Brian Keng Abstract Advances in Debug Automation for a Modern Verification Environment Brian Keng Doctor of Philosophy Graduate Department of Electrical and Computer Engineering University of Toronto 2013 Over the past three decades, the growing list of requirements for integrated circuits has continually presented new challenges to the electronic design community. One of the biggest challenges in the design process is that of functional debugging, which aims to find the root- cause of a functional failure after it has been detected. In recent years, this key challenge has grown in size and scope as bugs commonly appear in both the design and verification environment. This increase in size and scope has made functional debugging one of the largest bottlenecks in the design cycle and points to an urgent need for more scalable and innovative debugging solutions. This dissertation presents multiple novel contributions that address the challenges of in- creased size and scope of modern functional debugging. In particular, these contributions address the scalability of existing automated design debugging techniques, as well as introduce novel automated tools specifically for debugging the verification environment. The first contribution introduces an unsatsifiable core-guided abstraction and refinement technique for design debugging that focuses on managing the design size aspect of debugging complexity. The second contribution introduces a path-directed abstraction and refinement technique that aims to manage the error trace length aspect of debugging complexity. The third contribution presents a novel method that utilizes unsatisfiable cores in design debugging to manage the multiple design errors aspect of debugging complexity. The fourth contribution presents an automated technique to aid debugging of errors found within formal properties themselves. The final contribution presents an automated technique to aid debugging of missing assumptions that are needed during verification methodologies that use formal methods. ii Acknowledgements First and foremost I would like to sincerely thank my Ph.D. supervisor Professor Andreas Veneris for being an excellent mentor, guide and teacher throughout my journey into research. You have been a constant source of motivation and guidance every step of the way. I would also like to thank my parents who are an infinite source of love and support. You have instilled in me the values and lessons that have guided me throughout my life. I am forever grateful. Many thanks to my brother and sister whose love and support always brings a smile to my face, and to my girlfriend Jane Wu for her never-ending encouragement in everything I do. Thank you to my colleagues at the University of Toronto and Vennsa Technologies for all your shared wisdom and constructive feedback. Special thanks are due to Duncan Exon Smith, Sean Safarpour, Hratch Mangassarian, Evean Qin, Alan Baker, Terry Yang, Bao Le, Dipanjan Sengupta and Zissis Poulos. I am also grateful to my Ph.D. committee members Professor Jason Anderson, Professor Vaughn Betz, Professor Stephen Brown, Professor Sharad Malik, Professor Konstantinos Pla- taniotis, and Professor Charles Rackoff for their excellent feedback and insightful suggestions for my dissertation. Finally, acknowledgments are due to the Natural Sciences and Engineering Research Council of Canada (NSERC), the Queen Elizabeth II Graduate Scholarship in Science and Technology, and the University of Toronto for their financial support. iii Contents List of Tables ix List of Figures xi List of Algorithms xiii 1 Introduction 1 1.1 Motivation ...................................... 1 1.1.1 Functional Verification and Debugging . ....... 4 1.1.2 CurrentStateofDebuggingTools . .... 6 1.1.3 DebugAutomation............................... 7 1.2 Contributions................................... ... 9 1.2.1 Core-Guided Abstraction and Refinement . ...... 10 1.2.2 Path Directed Abstraction and Refinement . ...... 11 1.2.3 Debugging of Multiple Errors Using UNSAT Cores . ....... 11 1.2.4 AutomatedDebuggingofAssertions . ..... 12 1.2.5 Automated Debugging of Missing Assumptions . ....... 12 1.3 ThesisOutline ................................... 13 2 Background 14 2.1 Introduction.................................... 14 2.2 FunctionalVerification . ...... 14 2.2.1 IterativeLogicArray. 17 iv 2.2.2 FormalVerification. 19 2.3 FunctionalDebugging ............................. 19 2.4 BooleanSatisfiability. ...... 21 2.4.1 CNFRepresentation . 22 2.4.2 Unsatisfiable Cores and Proofs of Unsatisfiability . ........... 23 2.5 SATSolvers...................................... 26 2.5.1 IncrementalSATandAssumptions . 32 2.6 SAT-basedAutomatedDesignDebugging . ....... 32 2.7 Formal Properties and SystemVerilog Assertions . ............ 36 2.8 Summary ........................................ 39 3 Core-Guided Abstraction and Refinement 40 3.1 Introduction.................................... 40 3.2 Preliminaries ................................... 42 3.2.1 ModuleNotation ................................ 42 3.2.2 Suspect-Guided Abstraction and Refinement . ....... 44 3.3 AbstractionandRefinement. ..... 45 3.3.1 AbstractionFormulation. 46 3.3.2 ModuleRefinement............................... 49 3.3.3 ExtensiontoBasicScheme . 52 3.3.4 OverallAlgorithm .............................. 52 3.4 Experiments..................................... 54 3.5 Summary ........................................ 59 4 Path Directed Abstraction and Refinement 61 4.1 Introduction.................................... 61 4.2 Preliminaries ................................... 63 4.2.1 TimeDiagnosisandTime-Windowing . 63 4.2.2 Counter-Example Guided Abstraction and Refinement . ......... 66 4.3 PathDirectedAbstractionandRefinement . ........ 66 v 4.3.1 Path-basedAbstraction . 69 4.3.2 PathDirectedRefinement . 73 4.3.3 OverallAlgorithm .............................. 77 4.4 ImprovedRefinement............................... 77 4.4.1 Finding Additional Conflicts using Necessary Assignments......... 78 4.4.2 Finding Additional Conflicts using Multiple State Cubes.......... 80 4.4.3 ImprovingtheInitialAbstraction . ....... 81 4.4.4 Leveraging the SAT-solver for Efficient Implementation .......... 83 4.5 FlexiblePathDirectedDebug . ...... 83 4.6 Experiments..................................... 85 4.6.1 RefinementImprovements . 86 4.6.2 WindowSize .................................. 88 4.6.3 FlexiblePathDirectedDebug. 90 4.6.4 TraceLength .................................. 92 4.7 Summary ........................................ 93 5 Debugging of Multiple Errors Using UNSAT Cores 97 5.1 Introduction.................................... 97 5.2 Preliminaries ................................... 98 5.2.1 Unsatisfiable Cores in Design Debugging . ....... 98 5.3 Efficient Debugging of Multiple Design Errors . ..........101 5.3.1 Reducing the Search Space of Multiple Design Errors . .........101 5.3.2 OverallAlgorithm .............................. 103 5.4 Experiments..................................... 104 5.5 Summary ........................................108 6 Automated Debugging of Assertions 109 6.1 Introduction.................................... 109 6.2 RelatedWork..................................... 111 6.3 AssertionDebuggingMethodology . .......111 vi 6.4 SystemVerilogAssertionMutation Model . .........113 6.5 Practical Considerations and Extensions . ...........118 6.6 Experiments..................................... 118 6.6.1 Localization.................................. 119 6.6.2 AssertionDebuggingMethodology . 120 6.7 Summary ........................................123 7 Automated Debugging of Missing Assumptions 127 7.1 Introduction.................................... 127 7.2 Preliminaries ................................... 129 7.2.1 Minimal Correction Sets and Unsatisfiable Cores . .........129 7.2.2 RelatedWork..................................130 7.3 AssumptionDebuggingFlow . 131 7.4 Generating Multiple Counter-examples . ..........132 7.4.1 Minimal Unsatisfiable Input Sets and Minimal Correction Input Sets . 133 7.4.2 Minimal Correction Input Subsets as Blocking Constraints . .135 7.4.3 APracticalAlgorithm . 137 7.4.4 Applications for Debugging Missing Input Assumptions ..........139 7.5 GeneratingAssumptions. 140 7.5.1 AssumptionModel ............................... 141 7.5.2 PruningCandidateAssumptions . 142 7.6 ExperimentalResults. 143 7.6.1 Generating Multiple Counter-Examples . .......143 7.6.2 AssumptionDebuggingMethodology . 145 7.6.3 Qualitative Analysis of Generated Assumptions . ..........148 7.7 Summary ........................................153 8 Conclusions and Future Work 154 8.1 Contributions................................... 154 8.2 FutureWork ...................................... 157 vii 8.2.1 ExtensionsofContributions . 158 8.2.2 FutureDirections.............................. 159 8.3 ClosingRemarks .................................. 161 Bibliography 162 viii List of Tables 1.1 TypesofErrors................................... 6 2.1 CNFforBasicLogicGates ........................... 23 2.2 Common SystemVerilog Assertion Operators . ......... 37 3.1 DesignStatistics ................................ 55 3.2 AbstractionandRefinementExperiments . ........ 60 4.1 DesignCharacteristics . ...... 87 4.2 RefinementImprovementExperiments
Recommended publications
  • EMBEDDED PROGRAMMABLE LOGIC CORES By
    IMPLEMENTATION CONSIDERATIONS FOR “SOFT” EMBEDDED PROGRAMMABLE LOGIC CORES by James Cheng-Huan Wu B.A.Sc., University of British Columbia, 2002 A thesis submitted in partial fulfillment of the requirements for the degree of Master of Applied Science in The Faculty of Graduate Studies Department of Electrical and Computer Engineering We accept this thesis as conforming to the required standard: ___________________________ ___________________________ ___________________________ ___________________________ The University of British Columbia September 2004 © James C.H. Wu, 2004 ABSTRACT IMPLEMENTATION CONSIDERATIONS FOR “SOFT” EMBEDDED PROGRAMMABLE LOGIC CORES As integrated circuits become increasingly more complex and expensive, the ability to make post-fabrication changes will become much more attractive. This ability can be realized using programmable logic cores. Currently, such cores are available from vendors in the form of “hard” macro layouts. An alternative approach for fine-grain programmability is possible: vendors supply an RTL version of their programmable logic fabric that can be synthesized using standard cells. Although this technique may suffer in terms of speed, density, and power overhead, the task of integrating such cores is far easier than the task of integrating “hard” cores into an ASIC or SoC. When the required amount of programmable logic is small, this ease of use may be more important than the increased overhead. In this thesis, we identify potential implementation issues associated with such cores, and investigate in depth the area, speed and power overhead of using this approach. Based on this investigation, we attempt to improve the performance of programmable cores created in this manner. Using a test-chip implementation, we identify three main issues: core size selection, I/O connections, and clock-tree synthesis.
    [Show full text]
  • Integrated Circuit Test Engineering Iana.Grout Integrated Circuit Test Engineering Modern Techniques
    Integrated Circuit Test Engineering IanA.Grout Integrated Circuit Test Engineering Modern Techniques With 149 Figures 123 Ian A. Grout, PhD Department of Electronic and Computer Engineering University of Limerick Limerick Ireland British Library Cataloguing in Publication Data Grout, Ian Integrated circuit test engineering: modern techniques 1. Integrated circuits - Verification I. Title 621.3’81548 ISBN-10: 1846280230 Library of Congress Control Number: 2005929631 ISBN-10: 1-84628-023-0 e-ISBN: 1-84628-173-3 Printed on acid-free paper ISBN-13: 978-1-84628-023-8 © Springer-Verlag London Limited 2006 HSPICE® is the registered trademark of Synopsys, Inc., 700 East Middlefield Road, Mountain View, CA 94043, U.S.A. http://www.synopsys.com/home.html MATLAB® is the registered trademark of The MathWorks, Inc., 3 Apple Hill Drive Natick, MA 01760- 2098, U.S.A. http://www.mathworks.com Verifault-XL®, Verilog® and PSpice® are registered trademarks of Cadence Design Systems, Inc., 2655 Seely Avenue, San Jose, CA 95134, U.S.A. http://www.cadence.com/index.aspx T-Spice™ is the trademark of Tanner Research, Inc., 2650 East Foothill Blvd. Pasadena, CA 91107, U.S.A. http://www.tanner.com/ Apart from any fair dealing for the purposes of research or private study, or criticism or review, as permitted under the Copyright, Designs and Patents Act 1988, this publication may only be reproduced, stored or transmitted, in any form or by any means, with the prior permission in writing of the publishers, or in the case of reprographic reproduction in accordance with the terms of licences issued by the Copyright Licensing Agency.
    [Show full text]
  • DOT/FAA/AR-95/31 ___Design, Test, and Certification Issues For
    DOT/FAA/AR-95/31 Design, Test, and Certification Office of Aviation Research Issues for Complex Integrated Washington, D.C. 20591 Circuits August 1996 Final Report This document is available to the U.S. public through the National Technical Information Service, Springfield, Virginia 22161. U.S. Department of Transportation Federal Aviation Administration Technical Report Documentation Page 1. Report No. 2. Government Accession No. 3. Recipient's Catalog No. DOT/FAA/AR-95/31 5. Report Date 4. Title and Subtitle August 1996 DESIGN, TEST, AND CERTIFICATION ISSUES FOR COMPLEX INTEGRATED CIRCUITS 6. Performing Organization Code 7. Author(s) 8. Performing Organization Report No. L. Harrison and B. Landell 9. Performing Organization Name and Address 10. Work Unit No. (TRAIS) Galaxy Scientific Corporation 2500 English Creek Avenue Building 11 11. Contract or Grant No. Egg Harbor Township, NJ 08234-5562 DTFA03-89-C-00043 12. Sponsoring Agency Name and Address 13. Type of Report and Period Covered U.S. Department of Transportation Final Report Office of Aviation Research Washington, D.C. 20591 14. Sponsoring Agency Code AAR-421 15. Supplementary Notes Peter J. Saraceni. William J. Hughes Technical Center Program Manager, (609) 485-5577, Fax x 4005, [email protected] 16 Abstract This report provides an overview of complex integrated circuit technology, focusing particularly upon application specific integrated circuits. This report is intended to assist FAA certification engineers in making safety assessments of new technologies. It examines complex integrated circuit technology, focusing on three fields: design, test, and certification.. It provides the reader with the background and a basic understanding of the fundamentals of these fields.
    [Show full text]
  • Advanced Verification Methods for Safety-Critical Airborne Electronic Hardware
    NOT FAA POLICY OR GUIDANCE LIMITED RELEASE DOCUMENT 18 October 2013 Advanced Verification Methods for DOT/FAA/A R-XX/XX Safety-Critical Airborne Electronic Office of Aviation Hardware Research and Development Washington, DC 20591 DISCLAIMER This draft document is being made available as a “Limited Release” document by the FAA Software and Digital Systems (SDS) Program and does not constitute FAA policy or guidance. This document is being distributed by permission by the Contracting Officer’s Representative (COR). The research information in this document represents only the viewpoint of its subject matter expert authors. The FAA is concerned that its research is not released to the public before full editorial review is completed. However, a Limited Release distribution does allow exchange of research knowledge in a way that will benefit the parties receiving the documentation and, at the same time, not damage perceptions about the quality of FAA research. NOT FAA POLICY OR GUIDANCE LIMITED RELEASE DOCUMENT 18 October 2013 Technical Report Documentation Page 1. Report No. 2. Government Accession No. 3. Recipient's Catalog No. DOT/FAA/(AR)-xx/xx 4. Title and Subtitle 5. Report Date Qualification of Tools for Airborne Electronic Hardware July. 1, 2013 6. Performing Organization Code 7. Author(s) 8. Performing Organization Report No. Brian Butka 9. Performing Organization Name and Address 10. Work Unit No. (TRAIS) 1 Embry Riddle Aeronautical University 600 S. Clyde Morris Blvd. Daytona Beach, FL 32114 11. Contract or Grant No. DTFACT-11-C-00007 12. Sponsoring Agency Name and Address 13. Type of Report and Period Covered U.S.
    [Show full text]
  • Master's Thesis
    DIPLOMA THESIS Automated verification of a System-on-Chip for radiation protection fulfilling Safety Integrity Level 2 Submitted at the Faculty of Electrical Engineering and Information Technology, TU Wien in partial fulfillment of the requirements for the degree of Diplom-Ingenieur (equals Master of Science) under supervision of Univ.Prov. Dipl.-Ing. Dr.techn. Axel Jantsch Univ.Ass. Dipl.-Ing. Dr.techn. Michael Rathmair Institute of Computer Technology (E384) TU Wien and Dr. Hamza Boukabache CERN, European Organization for Nuclear Research Occupational Health & Safety and Environmental Protection Unit - Radiation Protection Group - Instrumentation & Logistics by Katharina Ceesay-Seitz, BSc Matr.Nr. 0925147 Vienna Vienna, 15.02.2019 Abstract The new CERN Radiation MOnitoring Electronics (CROME) system is currently being devel- oped at CERN. It consists of hundreds of units, which measure ionizing radiation produced by CERN’s particle accelerators. They autonomously interlock machines if dangerous conditions are detected, for example if defined radiation limits are exceeded. The topic of this thesis was the verification of the safety-critical System-on-Chip (SoC) at the heart of these units. The system has been allocated the Safety Integrity Level 2 (SIL 2) of the IEC 61508 standard for functional verification. The SoC has several characteristics that are challenging for its verification. It is highly configurable with parameters of wide ranges. It will operate continuously for up to 10 years. Measurement outputs are dependent on previous measurements over the complete operating time. The goal of this thesis was the definition and demonstration of a SIL 2 compliant functional verifi- cation methodology for the mentioned SoC.
    [Show full text]
  • Advanced Verification Methods for Safety-Critical Airborne Electronic Hardward
    DOT/FAA/TC-14/41 Advanced Verification Methods Federal Aviation Administration William J. Hughes Technical Center for Safety-Critical Airborne Aviation Research Division Atlantic City International Airport Electronic Hardware New Jersey 08405 January 2015 Final Report This document is available to the U.S. public through the National Technical Information Services (NTIS), Springfield, Virginia 22161. This document is also available from the Federal Aviation Administration William J. Hughes Technical Center at actlibrary.tc.faa.gov. U.S. Department of Transportation Federal Aviation Administration NOTICE This document is disseminated under the sponsorship of the U.S. Department of Transportation in the interest of information exchange. The U.S. Government assumes no liability for the contents or use thereof. The U.S. Government does not endorse products or manufacturers. Trade or manufacturers’ names appear herein solely because they are considered essential to the objective of this report. The findings and conclusions in this report are those of the author(s) and do not necessarily represent the views of the funding agency. This document does not constitute FAA policy. Consult the FAA sponsoring organization listed on the Technical Documentation page as to its use. This report is available at the Federal Aviation Administration William J. Hughes Technical Center’s Full-Text Technical Reports page: actlibrary.tc.faa.gov in Adobe Acrobat portable document format (PDF). Technical Report Documentation Page 1. Report No. 2. Government Accession No. 3. Recipient's Catalog No. *DOT/FAA/TC-14/41 4. Title and Subtitle 5. Report Date Advanced Verification Methods for Safety-Critical Airborne Electronic January 2015 Hardware 6.
    [Show full text]