The mixed-mode interface is the code written at Stanford to provide the communication between SPICE and PISCES. Figure 1 shows how the two simulators are configured to talk with each other. Similarly to an analytic model (like a BJT or MOSFET), a numerical device is seen as just another block in SPICE. This block communicates to the numerical device simulator through an interface routine. Like other analytic models, the numerical device provides terminal currents (and conductances) for given node voltages. The difference is that the latter finds the solution numerically.
This interface utilizes a two level Newton scheme to solve a circuit that includes numerical devices. On the upper level is the circuit iterations to determine the node voltages. For each one of these iterations, the device simulator solves for the terminal currents and conductance matrix using another Newton iteration within the device simulator (the lower level). The advantage of this method is the modularity created in the code.
Figure 2 shows the flow diagram for the execution of a single iteration step at the upper level. The blocks on the far right hand side represents different modules for the device simulator and/or method of execution. The sequence of steps is as follows.
Since a device simulation is required for each circuit iteration, the interface algorithms are given some intelligence to limit the computations required by the numerical device. The most important aspects or those algorithms are as follows: