Slackbot
01/11/2025, 4:28 PMStefan Schippers
01/11/2025, 11:30 PMvctrl
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
Stefan Schippers
01/11/2025, 11:31 PMStefan Schippers
01/11/2025, 11:32 PMStefan Schippers
01/12/2025, 2:59 PM.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)Stefan Schippers
01/12/2025, 3:00 PMJnanapurushothama
01/12/2025, 3:01 PMStefan Schippers
01/12/2025, 3:04 PMStefan Schippers
01/12/2025, 3:06 PMsetseed
command in the command block. This can be used to change the random number generator to simulate with a diffferent set of variations.