Mikael Sahrling
IPG Photonics Inc., San Jose, CA, USA
ISBN 978-3-030-64205-1 e-ISBN 978-3-030-64206-8
https://doi.org/10.1007/978-3-030-64206-8
Springer Nature Switzerland AG 2021
This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use.
The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, expressed or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
This Springer imprint is published by the registered company Springer Nature Switzerland AG
The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
Preface
This book is intended as an aid in using modern simulators encountered in the design of both active and passive electronic circuits. These simulators have been developed over many years and have become quite complex. As a result, it can be hard to get a handle on all the sophisticated options one has at ones disposal as a circuit designer. Literatures describing these innovations are fairly extensive but they often target specialists, mathematicians, and computer scientists, and the level is often such that for a practical user it can be too time consuming to differentiate the advantages of different simulation options. This book goes through the simulation methods from the very basic algorithms and builds up understanding step by step by adding more sophisticated methods on top of what has already been discussed. The basic idea is to do this in such a way that the reader will better understand how simulators work without becoming a simulator design expert. This will be done by looking at fairly simple example codes that illustrate the methods without going into the details of what makes algorithms and code implementations production ready. Throughout the book, we will build a few simple simulators that demonstrate the basics of the lessons learned. The reader can then go out on their own to expand the code and learn more sophisticated techniques. The goal is not to build a full fledge modern simulator; however, the firm belief is that through actually doing numerical experiments, a deeper understanding of the difficulties and potential weaknesses behind modern implementations will develop. With increased understanding of the tools, a more efficient use of real simulators will follow. There are many references supplied for the interested reader wanting to dig deeper. A book such as this is by necessity heavy on examples and exercises to ensure the reader understands the sometimes-subtle workings of simulators and each chapter has plenty of both.
The use of simulators is intimately tied to modeling techniques, particularly of active devices. We therefore include a chapter where we discuss modeling techniques and various limitations that can impact the simulation results.
The final chapter describes good practices when using simulators gained from many years of active design work in the fast-paced semiconductor industry. Here, we address issues like how to handle foundry models including the supplied corner cases, and how to best simulate small circuits up to full chips in an efficient manner, among other topics.
We start with an overview of the basics in Chap. contains a more detailed mathematical background to the operation of simulators, where some of the key theorems and properties of various integration methods are outlined. The appendix contains the complete python codes used in all the examples throughout the book. The python codes will also be available for download.
A book like this cannot be completed without the help and support of many people. First of all my family, Nancy and Nicole have both been unwavering in their loyalty and understanding of the sometimes-lonely task of putting a full manuscript together. My manager, Pirooz Hojabri, has been enthusiastic about the project from the very beginning. Also, my coworkers Dongwei Chen and Vincent Tso have read through the whole manuscript in detail and provided many useful tips for improvement. The same goes for Shahrzad Naraghi and Thomas Geers. Some of the professorial staff at UC Berkeley who I know indirectly have also provided great encouragement for the project. The code snippets have been reviewed by, in particular, Bart Hickman and others, and thanks to their comments, a much more readable code is the result.
Mikael Sahrling
San Jose, CA, USA