Hi <@U016EM8L91B> <@U01819B63HP> I was simulating ...
# xschem
a
Hi @Tim Edwards @Stefan Schippers I was simulating the bgr circuit with simulation result as shown in Fig1. however, when i added an an OTA with unity feedback, i get different results, as depicted in Fig.2. Note: OTA in Figure 2 is the same one which is used OTA in the bgr. I do not know how come?. can you please explain it to me? Thanks
s
Bandgap voltage references usually need a startup circuit. In some situations adding a small load on the output can prevent startup. This seems the case you see in second example. However I ran the simulation on your netlist and I see correct startup... My be just coincidence or good luck... May be you have some dynamic startup circuitry, and this will work in .tran analysis, however in dc simulations any dynamic startup (like initially discharged capacitor to boost current somewhere, stuff like that) will not work.
a
Actually, I tried the same circuit on another machine and it works well. However, it does not work well on my machine. I don not know why. Does my machine need some additional setting!
s
Try to unbalance on purpose a little bit the opamp inside the x1 bandgap (by making one of the input mos slightly different from the other), such that if both inputs are equal the output of the opamp will be low (turn on pmos current mirros. You will see correct startup. If this happens then you need some static startup circuit. This is just for testing. Opamp should always be symmetrical and matched
a
you tried
dcsweep_wbuff.spice
and got this result. what did you change to get it? because i couldn't get this correct result? Does different machine affect simulation result?
@Stefan Schippers As you see, I simulated the same circuit and it works well on another machine. So, it seems something strange to me!
s
I simulated
dcsweep_wbuff.spice
with no changes. Bandgap references have two equilibrium points. One is the
off
state and one is the
on
state . The off state is metastable, but simulation in some cases can converge to this state. A minimal difference in transistor models or simulator version could produce different results. Basically without a proper startup circuit the bandgap is unpredictable. This is a real problem. If you build a bandgap reference with discrete transistors and opamps, it can suddenly switch off if there is not a static startup circuitry. The purpose of the startup circuit is to remove the
off
metastable state. If for whatever reason the bandhap wants to go to the off metastable state the startup kicks in again forcing it to turn on. <file:///home/schippes/Downloads/BRSummer16Bandgap.pdf|see this>. "_if the op amp begins_ with a high output level at power-up, the two branches may remain off indefinitely. The remedies include .... adding a start-up circuit to deal with the third. As shown in Figure 6(b), a weak ad- ditional branch creates a large initial imbalance at the input of the op amp, forcing its output to go low."
1.png
1
a
@Stefan Schippers yeah the designed circuit has a startup-circuit. it is considered. Actually, I am wondering why it is simulating correctly with you and it is not simulating with me. Do you mean it is normal! and it depends on simulation tool.
image.png
s
no, if the bandgap has a startup it is strange it does not work on one machine. May be it is worth to check what revision of open_pdks is installed on both machines and what ngspice revision, just to find out some differences.
a
@Stefan Schippers The issue is appeared when I used an OTA as a buffer which is the same as the OTA in the bgr. When creating a new schematic for OTA with different pin names, the circuit is simulated successfully. It seems strange to me.
s
In the failing bandgap, when
vbg
is low is the startup circuit pulling the '`gate`' node low? if not try to resize the startup circuit and make it stronger.
a
@Stefan Schippers Thank you. I would like to report that ,Once I used a another OTA with different pin names, the circuit is simulated successful. !