Hello all, Not (completely) related to opensource,...
# analog-design
j
Hello all, Not (completely) related to opensource, but does anyone here know how to generate supply/temperature/process independent reference with only mosfets and resistors (meaning no bjts, diodes nor caps) ? Any circuit examples would be welcome.
I've made a CMOS only voltage reference in SKY130. It is here: https://github.com/lhrodovalho/sky130sbcs/blob/main/lib/vref1v8/ But it is not documented. The layout is finished and I haven't uploaded the PVT simulations.
s
You can generate a bandgap reference in cmos if you have a working pn junction. For the very small current requirements of bandgap references you can use a nwell to pwell diode, as long as current injection is very low and you firmly tap the surrounding pwell to ground.
There are also bandgap references using the exponential I-V characteristics of MOS transistors operating in the sub-threshold region, I have seen many pubblications on paper, never on silicon.
l
Take a look for bandgap references for SOI CMOS processes (no bulk, no bipolars, thus MOS-only). They might be biased for ultra low power, though, as Stefan said, using their subthreshold characteristics.
👍 1
j
@Luis Henrique Rodovalho @Stefan Schippers @Leonardo Gomes thanks! We don't have good pn junction models for the target technology, I guess this would be a issue? We only have models for pmos and nmos, and the tempco of resistors, so I dont see a way of achieving the bandgap effect But any idea to aproximate this effect is welcome (as the one provided by Luis), even at the cost of less flatness
l
Intechopen is a predatory publisher, but this article here has very good references and is worthy studying. It has the basics of voltage references without BJTs. https://cdn.intechopen.com/pdfs/6487/InTech-Cmos_voltage_and_current_reference_circuit[…]er_circuit_components_for_power_aware_lsi_applications_.pdf
I've designed a slightly different version of this circuit here in SKy130, by Vanessa Lima, from UFRGS https://ieeexplore.ieee.org/document/9189914
There here are the PVT results for the extracted netlists from the layout
As you can see, the reference voltage is okayish for TT corner, a 955 mV at room temperature and a variation of 10 mV from -40 to 125° C (63 ppm/C) . However, the output at room temperature varies with corner and temperature stability degrades. This conventional bandgap reference here (https://github.com/johnkustin/bandgapReferenceCircuit), with BJTs, achieved 3.65 ppm. A CMOS only voltage reference will never beat a conventional one with BJTs. Not without trimming or even more advanced techniques.
j
Great, a lot of ideas to take a look at, thanks so much @Luis Henrique Rodovalho!
@Stefan Schippers is this example (the schematic you shared above) publically available?
s
it is in the xschem_sky130 test examples, in directory
sky130_tests/tb_bandgap.sch
. If you have open_pdks installed it is on your system. The provided example uses PNP BJTs. a self calibrating opamp is used to cancel offset errors. It can also be used using some diodes (for example pwell-nwell or pwell-n+, (but with very caution to avoid substrate injection and latchup issues). Unfortunately sky130 does not have a decend modeling of any diode (this is sad, since diodes are easy to describe) so simulations using these elements will not be accurate.
j
@Stefan Schippers thanks a lot.
@Andres Martinez @Felipe Torres fyi