Preface

Contemporary design and manufacturing ...

... of large and complicated integrated circuits requires extensive computer support. This gives rise to such dynamically developing areas as Computer-Aided Design and Computer-Aided Manufacturing (CAD/CAM), bridging the gap between microelectronics and computer science. The CAD software available on present computers includes, at the very least, such design tools as: a layout editor, circuit extraction from that layout, extraction of device parameters, logic and circuit simulators, libraries of device models, and standard subcircuits. All programs are supported by a graphical user-interface. Such a basic toolset enables engineers to design Application Specific Integrated Circuits (ASICs). Similar, though more powerful tools are used by companies manufacturing VLSI circuits. Simulation programs, such as the ubiquitous SPICE, form an important part of these CAD packages.

By simulation we mean different forms of circuit analysis, able to predict circuit responses and to display them in a user-friendly form. The first purpose of any such simulation is verification of circuit performance. Simulators also are used in conjunction with optimization programs to achieve designs which optimize certain aspects of circuit quality; this is done by minimizing deterministic and/or statistical objective-functions. Another role is in Monte Carlo estimations of quality statistics for mass-production of integrated circuits. There, they are accompanied by simulators for the fabrication process (such as FABRICS), that can predict the spreads of device parameters while the circuit simulation predicts the effects of these. We can see therefore, that circuit simulators are vital tools in the commercial design and manufacturing of integrated circuits.

Simulation requires efficient device modeling to resolve the conflict between the complexity of any full description of solid-state physics and the need to minimize computational effort, particularly when modeling large circuits. Such simulation programs as HSPICE employ complicated models of electronic devices, suitable only for very small circuits, while very large circuits can only be simulated using simple models. At each level, a compromise has to be struck between accuracy and efficiency.

Over recent decades, much research effort has gone into developing computerized circuit theory, numerical analysis, computer science and, not least, computing technology. As a result, circuit simulation has now become fast, accurate and user-friendly. Nonetheless, in most areas of technology the possibilities for creating complex circuits still exceed the bounds of simulation and it is necessary to consider the need for partitioning circuits and concurrent simulation of their parts.

The role of circuit simulation is not limited to design and manufacture, or even research. It is a very useful tool in education and, indeed, has been used as a partial substitute for practical laboratory work. By experimenting with SPICE, students can become acquainted with electronic circuits without becoming distracted by measurement problems. The evaluation version of PSPICE is free and is often adequate for small student problems; it also introduces them to one version of an industry-standard simulator.

The great importance of circuit simulation means that it must be taught effectively in University Electronics Courses. This book "Circuit Simulation Methods and Algorithms" aims to help with that.

This book is ...

... dedicated to the electrical simulation of coupled circuits. Electromagnetic field problems and the simulation of microwave circuits are beyond its scope. The book offers a complete presentation of circuit simulation methods and algorithms, from basic principles to advanced methods for large-scale circuits. As a book on circuit simulation it entirely neglects the issues peculiar to logic simulation, such as gate-level, switch-level and mixed-mode simulators. The whole course is illustrated with many examples, which are usually mixed in with the theoretical treatment. The study of both theory and examples can be accompanied by computer experiments. In that sense the book is quite unusual and attractive.

The experimental work in this book is based on two simulators: PSPICE (evaluation version, which is assumed to be readily available to the reader and OPTIMA-3. This book incorporates two 3.5" diskettes. On Diskette A we have a variety of sample tasks for PSPICE and for OPTIMA. On Diskette B we have the general-purpose circuit simulator OPTIMA-3 itself. This simulator is useful for a variety of educational purposes, and will hopefully be of interest to our readers. OPTIMA-3 is almost compatible with SPICE. In those places where it is not, it considerably extends SPICE possibilities in line with a flexible idea of compact behavioral modelling on the analog level. It incorporates slightly improved algorithms, a bank of behavioral models for devices, and, which should be stressed, a variety of education-oriented options. This simulator makes possible a number of experiments which cannot be conducted in PSPICE.

The book works on several levels of abstraction, in teaching circuit simulation. Each level is addressed to a different group of readers.

Simulator user level. Section 1.1, TUTORIAL.DOC and other data given on the diskettes can be viewed as addressed first to those of our readers who are only users of simulators. They will find in Section 1.1 an explanation of basic concepts helping them to understand how SPICE operates. To become more familiar with its language, they can study the TUTORIAL.DOC (its ASCII file is given on Diskette A) and then experiment with the examples in directory \SPICE of this diskette. In the TUTORIAL.DOC readers will find out that the use of the simulator OPTIMA-3 is almost as simple as PSPICE and that the differences between them are only due to the extended possibilities of OPTIMA-3. Then they are invited to experiment with this program using installing it from Diskette B and running some examples given in the directory \OPTIMA of Diskette A.

Basic level. Our book covers problems ranging from the foundations of circuit simulation (where even some concepts of circuit theory are explained) up to advanced methods for large-scale circuits. Therefore, the topics can be suitable for undergraduate, graduate and, in places, even for postgraduate courses. The basic level consists of studying only the theoretical treatment and those examples provided. To check his/her understanding the reader can after each section review the topics by means of problems and questions listed at the end. However, on this basic level, those places where we refer to computer simulations and information given in diskette files can be ignored.

Thorough level. Problems elaborated on the basic level can be studied more thoroughly by simultaneous application of PSPICE and OPTIMA-3. In our book we often refer to sample tasks. On finding such a reference we can proceed to a computer, edit one of task-files Si*.CIR for PSPICE or Oi*.CIR for OPTIMA (i is a chapter number) and read the explanations contained in its comments. Then we may carry out experiments guided by these explanations and run the appropriate simulator. Finally, we turn to a graphical postprocessor and/or to text results. In some cases the task-file is accompanied by a file *.TXT incorporating further information connected with the experiment. This practice enables us to study circuit simulation much more thoroughly.

This book covers a very wide range of topics.

Chapter 1 is dedicated to foundations of computerized circuit theory and basic circuit simulation concepts. It introduces a formalism based on canonical circuit equations and then a circuit variables transformation.

Chapter 2 presents numerical methods of linear circuit analysis, including the formulation of equations and principles of a.c. analysis. Problems of symbolic analysis are not considered.

Chapter 3 is dedicated to numerical methods for solution of linear algebraic equations. This area of numerical linear algebra is especially important in circuit simulation and has therefore been covered in a separate chapter. Its presentation is not formal, but rather focused on circuit simulation aspects. Sparse matrix techniques are also included.

Chapter 4 covers methods and algorithms for d.c. analysis. The treatment starts from a basic presentation of numerical methods for nonlinear algebraic equations and then goes on to the most efficient and common modified Newton-Raphson algorithms.

Chapter 5 lays the foundations for numerical integration of ordinary differential equations, and then discusses their practical applications to time-domain circuit analysis. Problems of charge conservation, local accuracy, stability and accuracy control are presented thoroughly.

Chapter 6 is dedicated to methods of periodic steady-state analysis. The two most efficient methods are presented: the Newton-Raphson approach and a new secant algorithm, which is also implemented in OPTIMA-3.

Chapter 7 gives extensive coverage of methods of sensitivity analysis. These include the theory and implementation of sensitivity analysis for static and dynamic circuits. Finally, the large-change sensitivity analysis of linear circuits is described.

Chapter 8 is dedicated to the direct methods of large-scale circuit analysis exploiting decomposition and latency. First, we consider linear circuits solution and then proceed to algorithms for nonlinear circuits.

Chapter 9 contains a presentation of concurrent relaxation-based circuit simulation methods for large-scale circuits. The following areas are discussed: timing-simulation, iterated timing-simulation, waveform-relaxation simulation, block-relaxation simulation, and event-driven simulation. The treatment in this chapter is not limited to a general overview, but enables us to really understand the newest approaches to large-scale circuit simulation.

OPTIMA-3 license ...

... is automatic for everybody buying this book. At the same time we hope that the restrictions on copying this program are well understood. Anyone having any problems or suggestions and comments is encouraged to contact the author by e-mail: jogr@ipe.pw.edu.pl.

Acknowledged gratefully are ...

... many persons who gave me outstanding assistance and so enabled me to carry out this work.

I wish to thank Prof. Andrzej Filipkowski from the Electronics Department, Warsaw University of Technology, Warsaw, Poland for his friendship and constant moral support during this work. Gratitude is also due to Prof. Kel Fidler of the Department of Electronics, University of York, Heslington, York, U.K. and to Prof. Andrzej Strojwas from Electrical and Computer Engineering at the Carnegie-Mellon University, Pittsburgh, PA, USA for his friendly reception of this work.

I am especially grateful for the friendship of Dr. William Fawcett from the Department of Electronics, University of York, Heslington, York, U.K. who has offered me his help in improving the English of this book and to Dr Jerzy Rutkowski from the Silesian University of Technology, Gliwice, Poland who also helped in ensuring that my English attained a satisfactory level.

I also wish to express my gratitude to those of my colleagues from the Institute of Electronics Fundamentals, Department of Electronics, Warsaw University of Technology, who supported the work on OPTIMA-3:

First of all to Mr. Dariusz Bukat, without whom there would be no OPTIMA-3 at all, for his friendship, diligence, and cooperation during several years spent improving this simulator.

Moreover, to other colleagues: to Dr Leszek Opalski, who was one of contributors of the ideas developed in this program; to Dr Marian Bukowski, contributor of a new procedure for periodic steady-state analysis; to Dr. Wojciech Bandurski from Poznañ University of Technology, Poznañ, Poland, who contributed a new model of a lossy-nonuniform transmission line. I must also thank Mr. Ryszard Rogocki, creator of Node-Viewer, Mr. Dariusz Andziak, Mr. Artur Iterman, and Mr. Jorge Cardenas who, as students, worked on parts of this program.

It is also essential to thank my Wife and Son for their splendid patience and moral help during those years of my work when this book, as well as the enclosed software, were taking shape.

5 December 1993 Jan Ogrodzki

Warsaw, Poland