logo资料库

Effective Functional Verification.pdf

第1页 / 共268页
第2页 / 共268页
第3页 / 共268页
第4页 / 共268页
第5页 / 共268页
第6页 / 共268页
第7页 / 共268页
第8页 / 共268页
资料共268页,剩余部分请下载后查看
EFFECTIVE FUNCTIONAL VERIFICATION
Effective Functional Verification Principles and Processes by SRIVATSA VASUDEVAN
A C.I.P. Catalogue record for this book is available from the Library of Congress. ISBN-10 0-387-28601-2 (HB) ISBN-13 978-0-387-28601-3 (HB) ISBN-10 0-387-32620-0 ( e-book) ISBN-13 978-0-387-32620-7 (e-book) Published by Springer, P.O. Box 17, 3300 AA Dordrecht, The Netherlands. www.springer.com Printed on acid-free paper All Rights Reserved © 2006 Springer No part of this work may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, microfilming, recording or otherwise, without written permission from the Publisher, with the exception of any material supplied specifically for the purpose of being entered and executed on a computer system, for exclusive use by the purchaser of the work. Printed in the Netherlands.
This book is dedicated to: The Almighty, who gave me a variety of experiences and the inspiration to write this work. My family for putting up with me as I wrote this book. My colleagues who taught me what they knew and worked with me. My managers and mentors who encouraged me on this incredible journey.
Contents Dedication List of Figures Foreword Preface Acknowledgments v xiii xvii xix xxiii Part I Starting the Verification Journey 1. An Introduction to IC Verification 3 . . . . . . . . . . . . . . . . . . . . . . . Importance of Verification 3 Overview of a Typical ASIC Design Process . . . . . . . . . . . . . . 6 Factors in Successful Verification . . . . . . . . . . . . . . . . . . . . 11 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2. Approaches to Verification 13 What is Functional Verification all About? . . . . . . . . . . . . . . . 14 Stimulating the design - A choice of approaches . . . . . . . . . . . . 16 Black Box Approach . . . . . . . . . . . . . . . . . . . . . . . . 16 White Box Approach . . . . . . . . . . . . . . . . . . . . . . . . 18 . . . . . . . . . . . . . . . . . . . . . . . . 18 Gray Box Approach . . . . . . . . . . . . . 19 Block Level Verification . . . . . . . . . . . . . . . . . . . . . . 20 Sub System Verification . . . . . . . . . . . . . . . . . . . . . . 23 Full Chip Verification . . . . . . . . . . . . . . . . . . . . . . . . 25 . . . . . . . . . . . . . . . . . . . . . 26 System Level Verification Instruction Driven Verification . . . . . . . . . . . . . . . . . . . . . 26 Random Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Verification Approaches Based on Integration vii
viii Contents Pre-Post Processing Approach Assertion Based Verification Advantages of a Golden Model Disadvantages of using a Golden Model Coverage Driven Verification . . . . . . . . . . . . . . . . . . . . . . 30 Transaction Based Verification . . . . . . . . . . . . . . . . . . . . . 33 . . . . . . . . . . . . . . . . . . . . . . . . 37 Golden Model Approach . . . . . . . . . . . . . . . . . . 37 . . . . . . . . . . . . . . 38 . . . . . . . . . . . . . . . . . . . . . 39 . . . . . . . . . . . . . . . . . . . . . . 42 . . . . . . . . . . . . . 44 Assertions - Who writes them and when? Types of Assertions . . . . . . . . . . . . . . . . . . . . . . . . . 45 . . . . . . . . . 45 Advantages of an Assertion Based Methodology Challenges with an Assertion Based Methodology . . . . . . . . 48 . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 . . . . . . . . . . . . . . . . . . . . . . . . . . 51 . . . . . . . 52 Emulation and Acceleration . . . . . . . . . . . . . . . . . . . . . . . 54 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Model Checking A Comparison of Simulation and Formal approaches Formal Verification 3. Various Workflows Practiced in Verification An Overview of the Entire Verification Process The Planning Process 59 . . . . . . . . . . . . 59 . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Some Other Aspects of Verification Planning . . . . . . . . . . . 63 Verification Resource Planning . . . . . . . . . . . . . . . . . . . 64 The Regression Process . . . . . . . . . . . . . . . . . . . . . . . . . 65 Block Regressions . . . . . . . . . . . . . . . . . . . . . . . . . 67 Chip Level Regressions . . . . . . . . . . . . . . . . . . . . . . . 68 . . . . . . . . . . . . . . . . . . . . . 68 Coverage in Regressions. Maturing of the Design . . . . . . . . . . . . . . . . . . . . . . . . . 69 The Periodic Review Process . . . . . . . . . . . . . . . . . . . . . . 70 Regression Result Reviews . . . . . . . . . . . . . . . . . . . . . 71 . . . . . . . . . . . . . . . . . . . . 72 The Verification Signoff Process Part II Ingredients of Successful Verification 4. People make all the Difference Team Dynamics and Team Habits for Success 77 . . . . . . . . . . . . . 78 . . . . . . . . . . . 78 Habit 1: Begin With the Big Picture in Mind . . . . . . . . . . . . . . . . 80 Habit 2: Do it Right the First Time Habit 3: Be Object Oriented in your Approach . . . . . . . . . . 82 Habit 4: Reduce, Reuse and Recycle . . . . . . . . . . . . . . . . 82 Habit 5: Innovate . . . . . . . . . . . . . . . . . . . . . . . . . . 83 . . . . . . . . . . . . . . . . . . . . 84 Habit 6: Communicate . . . . . . . . . . . 86 Quality 1: The Ability to see the Full Picture . . . . . . . . . . . 87 Quality 2: Assumes Nothing . . . . . . . . . . . . . . . . . . . . 88 . . . . . . . . . . . . . . . . . . . . . . . . 88 Quality 3: Consistent The Six Qualities of Successful Verification Engineers
Contents ix Quality 4: Organized . . . . . . . . . . . . . . . . . . . . . . . . 89 . . . . . . . . . . . . . . . . . . . . . . 89 Quality 5: Multi-skilled Quality 6: Empower Others . . . . . . . . . . . . . . . . . . . . 90 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 References 5. Case Studies from the Real World 93 . . . . . . 94 Block and System Level Tests use Unrelated Environments . . . . . . . . . 94 Not Implementing Monitors and Assertions Early on . . . . . . . . . . . . . . . . . . 95 Review Processes Not Done Timely Pure Random Testing Without Directed Tests . . . . . . . . . . . . . 96 Not Running a Smoke Test Before a Regression . . . . . . . . . . . . 97 Lint Policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Effective Use of a Source Control Strategy . . . . . . . . . . . . . . . 98 6. Tracking Results That Matter 101 Why Do We Ever Need any Verification Metrics? . . . . . . . . . . . 101 Metrics in a Regression . . . . . . . . . . . . . . . . . . . . . . . . . 102 . . . . . . . . . . . . . . . . . . . . . . . . 105 Commonly used Metrics . . . . . . . . . . . . . . . . . . . . . . 109 Functional Coverage Metrics Structural Coverage Metrics . . . . . . . . . . . . . . . . . . . . . . 110 Some Caveats on Structural Coverage . . . . . . . . . . . . . . . 111 . . . . . . . . . . . . . . . . . . . . . 111 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 Assertion Verification Metrics References Part III Reducing work in Verification 7. Reducing Work in Verification 117 Considerations in a Verification Environment . . . . . . . . . . . . . 118 Tri-State Buses and Dealing with Them . . . . . . . . . . . . . . . . 119 . . . . . . . . . . . . . . . . . . . . . . 120 Dealing with Internal Signals . . . . . . . . . . . . . . . . . . . . . 122 Environmental Considerations Dealing with Register Programming . . . . . . . . . . . . . . . . . . 128 A Hybrid Approach to Register Programming . . . . . . . . . . . 131 Dealing with Clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Driving the Design . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Debugging the Design . . . . . . . . . . . . . . . . . . . . . . . . . . 138 . . . . . . . . . . . . . . . . . . . . . . . 141 Making Note of Errors Debug Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 . . . . . . . . . . . . . . 143 . . . . . . . . . . . . . . . . . . . . . . . . 145 Identify Failures Before You Run Again . . . . . . . . . . . . . . 149 Don’t Postpone Features to be Tested . . . . . . . . . . . . . . . 149 Compile your Code . . . . . . . . . . . . . . . . . . . . . . . . . 149 QC Processes to run a Clean Run . . . . . . . . . . . . . . . . . . . . 150 Using a Data Profile to Speed up Simulations . . . . . . . . . . . . . 150 Getting the Machine to Document for You . . . . . . . . . . . . . . . 154 Code Profiling to Keep the Inefficiency Out Regression Management
分享到:
收藏