1;2c Parser
background

Introduction

It is of great importance to industry and academia that deal with electronic circuits to determine circuit voltages and currents that enable electronic components to operate properly and the system to behave as desired. These specific voltages and currents are called DC operating points of the circuit. To find the DC operating points of a transistor circuit, it is necessary solve a system of nonlinear algebraic equations that describe the circuit's DC behavior. A common method used to find DC operating points is the Newton-Raphson method, which requires an initial point close enough to the solution, which is sometimes difficult to provide. Therefore, homotopy methods, an alternative method to solve nonlinear system of equations, have been applied to find DC operating points of circuits. In this project, we used a software implementation of a homotopy method composed for two programs: A parser, developed by Edward Chan [2], that generates the system of equations from a circuit description, and a MATLAB script [1], written by Heath Hoffman, that implements the homotopy method to solve the system of equations. However, the original Parser code was not generating correct form of equations required by the MATLAB program. The main contribution of this project is to correct and improve the original Parser.

[Top] Fiding DC Operating Points

The flow of finding DC operating points in this project is described by the scheme shown in Figure 1:

First, the circuit is described by a netlist file that is written in the well-known SPICE format. This file is then used as the input to the Parser program that in turn produces the system of nodal or modified nodal equations in an symbolic format. These nonlinear equations are used by the homotopy algorithm that solves the systemof equations and obtain DC operating points of the specified circuit. The following sections give a quick explanation about the homotopy method and the parser used in this project.

[Top] Parser

The MATLAB algorithm that implements the homotopy method requires a system of equations in a symbolic form. The parser created by Edward Chan receives a netlist file as the input and generates equations. A netlist file is a text file that describes a circuit, its components, and how they are connected. As an example, shown are the schematics and netlist representation of the Schmitt trigger circuit.

  • Fig. 2. Schematic representation of the Schmitt trigger circuit.

  • Fig. 3. Netlist representation Schmitt trigger circuit.

From the netlist file, the Parser generates as output the system of equations based on a nodal or modified nodal analysis. This equations describe the circuit behavior in terms of voltage and currents of each node as well as its Jacobian. A Jacobian is a square matrix of whose elements are derivatives of each function with respect to each variable. This system of equations and its Jaconbian are used as input to the MATLAB code developed by Heath Hofmann, which uses Homotopy method to solve the system of equations and then find DC operating points of the circuit.

[Top] Conclusion

In the project, we have corrected many issues identified in the original Parser. The problems were related to the Nodal equations and Modified Nodal equations and their respective Jacobians in specific circuit configuration. Problems related to the equations for a "super node" in case of floating voltage source was corrected. Even though it was possible to correct most of the problems found in the original Parser, additional work has to be done in order to design a version that producess all equations and Jacobians in the correct format.

[Top] Downloads

Erik's and older version of the Parser code, the MATLAB code of Homotopy algorithm, and the netlist of a four-transistor benchmark Chua circuit [8]:

       Parser (all versions)

       MATLAB Code (Modified Nodal Analysis)

       PSPICE Netlist

Project report and presentation: Report and Presentation.

[Top] References

[1] Matlab Language Reference. Mathworks Inc., 1996.
[2] E. Chan. Documentation on the parser program. Technical report, UC Berkeley, 1996.
[3] A. Dyes, E. Chan, H. Hofmann, W. Horia, and L. Trajkovic. Simple implementations of homotopy algorithms for finding dc solutions of nonlinear circuits. In Circuits and Systems, 1999. ISCAS ’99. Proceedings of the 1999 IEEE International Symposium on, volume 6, pages 290–293 vol.6, Jul 1999.
[4] A. Dyess. Finding dc operating points of chua’s circuit using homotopy methods. Technical report, University of Alabama, 1997.
[5] K. L. Judd. Numerical Methods in Economics. Massachusett Institute of Technology,1998.
[6] W. H. Press, S. A. Teulkolsky, W. T. Vetterling, and B. P. Flannery. Numerical Recipes in C: The Art of Scientific Computing. , 1988.
[7] L. Trajkovic. Dc operating points of transistor circuits. Nonlinear Theory and Its Applications,IEICE, 2012.
[8] L. O. Chua and A. Ushida, "A switching-parameter algorithm for fiding multiple solution of nonlinear resistive circuits", Int. J. Circuit Theory Appl., vol. 4, pp. 215-239, 1976.

[Top] About Joao Erik Melo

joao_erik Joao Erik Melo is the final year undergraduate student of Computer Engineering (2009-2014) at Center of Informatics at Universidade Federal de Pernambuco, Brazil.
This work was done as part of his summer internship (May 2014-July 2014) funded by MITACS Globalink program under supervision of Professor Ljiljana Trajkovic at Simon Fraser University - Burnaby.
Please email questions related to this work to jeam2@cin.ufpe.br.