Copyright © 1991, by the Author(S). All Rights Reserved
Total Page:16
File Type:pdf, Size:1020Kb
Copyright © 1991, by the author(s). All rights reserved. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission. AUTOMATED DESIGN MANAGEMENT USING TRACES by Andrea Casotto Memorandum No. UCB/ERL M91/22 15 March 1991 AUTOMATED DESIGN MANAGEMENT USING TRACES by Andrea Casotto Memorandum No. UCB/ERL M91/22 15 March 1991 ELECTRONICS RESEARCH LABORATORY College of Engineering University of California, Berkeley 94720 AUTOMATED DESIGN MANAGEMENT USING TRACES by Andrea Casotto Memorandum No. UCB/ERL M91/22 15 March 1991 ELECTRONICS RESEARCH LABORATORY College of Engineering University of California, Berkeley 94720 Automated Design Management Using Traces Andrea Casotto Department of Electrical Engineering and Computer Sciences, University of California, Berkeley. Abstract Theproductivity ofmodern CAD systems can beincreased with alayer ofsoftware, called the "automatic design manager," whose goal is to provide services such as automatic sequencing and scheduling of the tools, coordination of team design and tracking of the design activity for documentationpurposes. An automatic management system for CAD is proposed, based on the idea that CAD tools can leave a"trace" of their execution. The trace is represented as a bipartite directed and acyclic graph in which the nodes represent either design data orCAD transactions. The trace is both arecord ofthe design activity and agraph representing the dependencies among the design objects. The architecture ofthe system is distributed: aserver manages the trace, while anumber of clients can concurrendy interact with the trace through the server. The system supports the notion ofmeasurement on the design data, necessary to provide even more services such as tracking of design specifications, validation of design data, design estimation. The system is non-intrusive, because it does notaffect theway designers interact with thetools. The design manager has been implemented in asystem called VOV. This prototype has been tested by many designers, including novices and experts. The results ofthese tests are reported. Professor Alberto Sangiovanni-Vincentelli Thesis Committee Chairman Acknowledgements Finally a pause, a blank page to reflect upon the many people to whom I owe thanks. My advisor, Alberto Sangiovanni-Vincentelli. He directed me towards design manage ment and made available the resources for this research. Although I could never get enough of his time, I need to thank him for his guidance and his trust. I thank my other advisor, Prof. Richard Newton, for steering me away from the formalism of Petri nets and for his poignant criticism. He has contributed to form a large part ofthe ideas presented in this thesis. I consider myselflucky to work with these two stars of the CAD world. 1only regret not having been able to defeat either of them in a tennis match. Prof. Randy Katz is acknowledged for suggesting the use of the word "trace" in the context of design management and for helpful discussions in the early stages of this research. I thank Prof. John Wawr/ynek for being the first to trust VOV and to use it in his classes. Prof. Alice Agogino has been kind accepting to be on my dissertationcommittee. My office mates Mark Beardslee, Mitch Igusa and Chuck Kring, have been patient and helpful, they have tolerated my demos and even tried the earliest and buggiest versions of the sys tem. Chuck has been especially cruel in dissecting a draft of this thesis, and I owe it to him if this thesis is now much more readable. The Octtools developers, in particular Rick Spiekelmier and David Harrison, have produced a tremendous amount of great code that now is also part of VOV. I thank them all. Gregg Whitcomb has invested a lot ofenergy into maintaining g++, which made the development of VOV so much simpler. The students in CS292i, who were the first to use VOV in Spring 90, and the students in CS250, who were the first to use the assistant in Fall 90, have been instrumental in the progress of this research. Flora Oviedo, Irena Stanczyk-Ng, and Elise Mills, who really run the show here in Cory Hall, have always been helpful in all office related matters. SRC has provided financial support throughout my five and a half years as Graduate student. Contents Table of Contents iii 1 Introduction 1 1.1 A characterization ofelectronic design 3 1.2 Requirements of an automatic design manager 7 1.3 Background on the Octtools 10 1.3.1 The Octtools 10 1.3.2 Brief history of VOV and the Octtools 13 2 Previous Work 15 2.1 Representation of the design activity 16 2.1.1 Ad-hoc models for VLSI design 16 2.1.2 General models for design activity 20 2.1.3 Design environments 33 2.2 Intrusiveness of implementation 34 2.3 Classification of tools and data 35 2.4 Artificial intelligence techniques 37 2.5 Issues in data management 38 2.6 Commercial systems 40 2.7 Conclusion of the survey 41 3 The Design Trace 43 3.1 Design management based on design traces 43 3.1.1 Non-intrusive tracing 44 3.1.2 The trace 45 3.1.3 An example trace 48 3.2 The trace as a definitional language 50 3.2.1 Backtracking 51 3.3 Tools that run in place 52 3.4 The architecture 53 3.4.1 Communication between the tools and the server 55 3.4.2 Affinity oftransitions 57 3.5 Interactive tools 59 iii IV 3.6 The firing rule 60 3.7 Trace versus Petri net 61 3.8 Sets of nodes 62 3.8.1 Hierarchy in the trace 64 3.9 Services 67 3.9.1 Service: Design documentation 67 3.9.2 Service: data monitoring 70 3.9.3 Service: retracing 70 3.9.4 Service: Conflict detection 73 3.9.5 Management of refinements and alternatives 74 3.9.6 Archiving 76 3.10 Use of measurements 76 3.11 The assistant 78 3.12 Support of design methodology 84 3.13 Iteration in design 85 3.14 Principles that guided the development of VOV. 87 3.14.1 Simplicity 87 3.14.2 Non-intrusivcness 89 3.14.3 Distributed resources, localization of information 89 3.14.4 Focus on users 90 3.14.5 Emphasis on team design 91 3.14.6 No restriction to data visibility 92 3.14.7 Ignore design hierarchy 92 Implementation 96 4.1 The design trace 97 4.1.1 Attributes ofnodes 97 4.1.2 Attributes of places and transitions 97 4.1.3 Canonical names for files 99 4.1.4 The representation of the trace 99 4.2 Special topics 102 4.2.1 Project identification 102 4.2.2 Robustness and safety 103 4.3 Software architecture 103 4.3.i The hierarchy of classes 106 4.3.2 User interface 108 4.4 Performance HO 4.4.1 Server latency HO 4.4.2 Capsule overhead HI 4.4.3 Trace size H2 4.4.4 Small designs 113 4.4.5 Large designs 113 5 Experimental Results 115 5.1 Statistics on the design 115 5.2 BRIC 117 5.3 Floorplanning an FPU 118 5.4 Compilation of VOV 119 5.5 VOV in a VLSI design course 120 5.5.1 The laboratory exercises 120 5.5.2 The final project 126 5.5.3 Comment 127 6 Conclusion 129 A Tutorial 132 A.l Introduction 132 A.2 TUTORIAL: Design of a seven segment display driver 133 A.2.1 Start mini-VOV 133 A.2.2 Enter the assistant 134 A.2.3 The graphical interface 135 A.2.4 Getting assistance from the assistant 135 A.2.5 Your turn to act intelligent 138 A.2.6 The trace as a dependency graph 138 A.2.7 Validity of nodes 140 A.2.8 Automatic retracing 142 A.2.9 Review what has happened 142 A.2.10 Possible problems 144 A.2.11 Substitution a transition 145 A.2.12 Check the results 145 A.2.13 Try something new 145 A.2.14 Suspension or end of the exercise 148 A.3 TUTORIAL: Second part 148 A.3.1 What does vov_mini really do 148 A.3.2 Add many slaves to your server 149 A.3.3 Start the server 150 A.3.4 Clients 150 A.3.5 The event queue and the journal 151 A.3.6 The event queue 151 A.3.7 The trace 151 A.3.8 Annotations 152 A.3.9 Affinity oftransition, interactive transitions 152 A.3.10 Graphical interface using vem/RPC 153 A.3.11 Status of the trace 153 A.3.12 Protection 154 A.3.13 Sets 154 A.3.14 Forgetting nodes 154 A.3.15 Moving stuff around the file system 154 VI A.3.16 Handy utilities 155 B Quick Tool Overview 156 Bibliography 157 Chapter 1 Introduction The complexity of modern human artifacts such as microprocessors, aircraft, and satel lites, demands the power of computer tools to assist the designers in many ofthe design tasks. This is particularly true in the electronic industry, which routinely deals with millions of components. In recent years, CAD systems have come a long way towards freeing the designers from the com plexity of design, but designers now have to cope with the ever growing complexity of the CAD systems themselves.