CircuitBook : a framework for analog design reuse

Placeholder Show Content


Analog IC design tools have not changed much during the past few decades. While the models and simulation methods have greatly improved in accuracy and performance, analog design still relies on manually constructed schematics and layouts. Each design needs to carry its own test routine, and the quality of the entire system depends on this custom-constructed test routine. It is common for circuits to be tested in an ad-hoc manner through some combination of SPICE decks, MATLAB calculations, and perl scripts. This test collateral is often brittle (i.e., tightly coupled to the process, circuit, and simulation environment) and archived without sufficient documentation. As a result, it is usually easier to recreate the test frame when the circuit is reused in the future. Languages like OCEAN try to address this by providing a common language that both configures the simulation environment and performs calculations. While this reduces the number of files required for a simulation and reduces the need for documentation, it does not solve the problem of tight coupling. Reuse of OCEAN scripts generally means copy-and-paste, and this duplication of code makes the test routines more difficult to debug later. We see an opportunity to improve the productivity of analog design by raising the abstraction level, at least for test construction, used by analog designers. In this work, we present the CircuitBook test framework and repository that complement existing analog design flows. Our test framework is a set of Python libraries that allow high-level specification of analog tests and an associated tool chain that executes these tests. Circuits and tests are defined against an hierarchical tree of interfaces. These common interfaces allow the reuse of tests across different circuits as well as enable faster prototyping of circuits and tests. Tests defined using the CircuitBook test framework separate the simulation directives from the results analysis. This separation of concerns avoids code duplication by separating the reusable parts of the tests from the environment-specific parts. The CircuitBook repository stores circuits, tests, and simulation results to allow designers to leverage existing circuits and tests in new designs. The objects in this repository can browsed via the interface hierarchy or through property tags of the tests. We leverage the high-level nature of the test framework and automatically generate property tags by parsing the test structure.


Type of resource text
Form electronic; electronic resource; remote
Extent 1 online resource.
Publication date 2013
Issuance monographic
Language English


Associated with Mao, James
Associated with Stanford University, Department of Electrical Engineering.
Primary advisor Horowitz, Mark (Mark Alan)
Thesis advisor Horowitz, Mark (Mark Alan)
Thesis advisor Poon, Ada Shuk Yan
Thesis advisor Wooley, Bruce A, 1943-
Advisor Poon, Ada Shuk Yan
Advisor Wooley, Bruce A, 1943-


Genre Theses

Bibliographic information

Statement of responsibility James Mao.
Note Submitted to the Department of Electrical Engineering.
Thesis Thesis (Ph.D.)--Stanford University, 2013.
Location electronic resource

Access conditions

© 2013 by James Ji-Chao Mao

Also listed in

Loading usage metrics...