Getting Started with PyOPUS

Now we can run a python program from the Demo subfolder of PyOPUS sources. You find the file attached to this page. Download it, unpack it, for example in C: and go to C:/PyOPUS-0.6/demo/circuit-evaluation/06-iteration-plotter


the cmos180n.lib file is a CMOS 0.18u library for SPICE OPUS, models the NMOS and CMOS subcircuits depending by channel dimensions parameters W and L, the device multiplier m, the threshold voltage vtmm and the mobility variation of the transistor u0mm. For these last parameters 0 means that both have a nominal value, 1 corresponds to 1-sigma positive deviation, and -1 corresponds to 1-sigma negative deviation.

the file describes the following operational amplifier


the describes this circuit

circuitschematic is the python program. The code is quite long. Basically it runs a PerfomanceEvaluator() function to extract values as the gain, the bandwith, etc. The CostEvaluator() constructs a cost function evaluator using the perfomance evaluator results. The cost function value will be printed for every iteration and the details will be printed every time a better circuit is found (the best-yet cost function value decreses) and the circuit’s performance is plotted in two windows.

When the optimization is finished the best circuit is re-evaluated and its performance is printed in the terminal window. The performance of the final circuit is plotted in the same windows as the performance of the best-yet circuit was plotted during optimization.

in the terminal window (cmd.exe) we can run the example by typing


The performance of the best circuit:


The dc plot window of the final result. below is the differential input voltage sweep

and this is the common mode input voltage sweep

To exit, close GUI control window

Posted in SPICE OPUS and tagged , , , .