This message was deleted.
# xschem
s
This message was deleted.
s
You need to use an Nfet input diffamp, otherwise
vctrl
can not go high enough to regulate the output pfet. The following schematic works. Ngspice has some problems at converging in a DC sweep, however a similar transient simulation with a slow ramp on V1 shows correct behavior. Some notes: • If you place dummy components in a schematic tie at least one node to a net, like GND. Don't leave all-floating components, as these create a singular matrix and simulators have problems at solving ill-conditioned systems. • This schematic still exposes M1 and M2 input transistors of the Diffamp to voltages that are greater than 1.8V. If you have a higher reference voltage you can replace these transistors with
nfet_g5v0d10v5.sym
message has been deleted
If I replace the res_xhigh_po_1p41 resistors of the feedback divider with ideal resistances the DC simulation works and shows same results as the transient ramp simulation.
@Jnanapurushothama here the modified circuit. Replaced the current source load with a resistor that gives equivalent current. This makes convergence easier. Also add the following in your
.spiceinit
file in the directory where ngspice runs (
~/.xschem/simulations
):
# optran noopiter gminsteps srcsteps tstep tstop supramp
optran 0 0 0 100n 10u 0
This tells ngspice to go directly to optran simulation to find the DC OP of the circuit, skipping OP iterations, gimin stepping, source stepping. Changes: • changed corner from tt to tt_mm (Montecarlo variation) • replaced I load with equivalent resistor • rewritten mean, variance, distrib procedures • changed the size of M1 and M2 cascode devices to allowed sizes (circuit won't simulate with the "binned" models (ngspice/ instead of combined/ model dir)
message has been deleted
j
@Stefan Schippers im going to put this in an IC in upcoming tt-10 along with other blocks im adding. If its ok with you?
s
@Jnanapurushothama sure, you are welcome
@Jnanapurushothama note the
setseed
command in the command block. This can be used to change the random number generator to simulate with a diffferent set of variations.