Algorithmic Aspects of Linear Symbolic Simulation

In the previous chapter, the application areas for symbolic simulation have been pointed out and a general description of the structure and functionality of one particular simulator, called ISAAC [GIE_89c, SAN_89], has been given. In this chapter, the algorithmic aspects of symbolic simulation are discussed and illustrated by means of ISAAC: the actual calculation and approximation of the symbolic network functions. In this introductory section, first different network function formats are defined. One of these formats, the canonic sum-of-products format, will be of great importance later on in this chapter. Section 4.2 then gives an historical overview of symbolic analysis and shortly describes the different symbolic analysis techniques presented in the literature. These methods are compared with respect to their usefulness and efficiency. The requirements imposed on the ISAAC program have resulted in the adoption of a determinant calculation method. The set-up of the circuit equations in ISAAC is then discussed in section 4.3. A compacted modified nodal analysis (CMNA) formulation is used, which yields compact and still sparse matrices. The solution of these equations by an efficient sparse determinant expansion algorithm is treated in section 4.4. For semiconductor circuits, however, the exact expressions are usually lengthy and complicated. Section 4.5 describes a heuristic approximation algorithm, which simplifies the symbolic expressions based on the relative magnitudes of the elements and which returns the dominant terms in the result. Section 4.6 then evaluates the performance of the program and compares it to other realizations published in the literature. This comparison will show that the ISAAC program combines a high efficiency with a large functionality for analog circuit designers. Concluding remarks are then provided in section 4.7.