Hi <@U01819B63HP> I am doing corner analysis of a...
# xschem
k
Hi @Stefan Schippers I am doing corner analysis of a redundant inverter, when i sweep input of from 0 to 200mV, output remains at 200mV in FS_Model. what can be done to correct ? (increasing pull down strength by increasing nmos width did not work)
m
Sounds right to me. Is your pmos source voltage 1.8V? nmos won’t start to turn on until Vg > Vthn. pmos will remain on as long as Vg < VPWR + Vthp (where Vthp < 0).
s
@Kamta Kesharwani sky130 standard cells have attributes for connecting VDD and VSS as well as nwell and pwell terminals. Edit attributes of the inverter to set correct supply connections. For input sweeping from 0 to 200mV output should remain at 1.8V.
k
@Mitch Bailey @Stefan Schippers Sourse voltage is 200mV I am making ring oscillator using redundant inverter which can oscillate even with 200 mV , My inverter works in TT_Model and SS_Model but in FF_Model, FS_Model and SF_ it did not work. VTC from TT_Model is shown below. The given diagram of inverter is designed in 180nm, here I just scaled down the sizes of transistors in 130nm.
*The attached inverter was designed in 60nm I scaled up in 130 nm.
m
I’m still guessing Vth which varies by process corner. For example, does it work at 300mV? 250mV? There is probably a limit on how low you can go on the source voltage and still oscillate.
k
Yes, the ring oscillator oscillate even with even 160mV in TT_Model.
@Mitch Bailey I still did not get why threshold of the INVERTER is not shifting from right to left when I increase the pull down strength in FS_Model.
m
Does the FS_MODEL work at 300mV? Increasing the pull down strength might only have an effect if the transistors are conducting. If the transistor is not conducting, increasing the strength would have no effect.
k
Thank you. Any other solution that i can apply here so that my redundant inverter work in all corner? No, FS_Model does not work at 300mV .
m
That’s strange. Does it work at the normal 1.8V? If it doesn’t, there might be something wrong with the library.
k
yes, it works at 1.8 V
s
So you plan to use an (odd number) chain of above 'inverter' stages to make a ring osc that oscillates at VDD=200mV? Never seen such a circuit. You rely on very weak inversion for the circuit to operate, since |Vthn| and |Vthp| are both > 200mV? Are you using lvt devices (nfet_01v8_lvt / pfet_01v8_lvt ) ? lvt transistors in the fast corner may have leakage currents when switched off that dominates. You can try set temperature to -40C and check if the fast corners work.
I have simulated the leakage current vs temperature and process corner of a 1/0.15
nfet_01v8
and a 1/0.15
pfet_01v8
. Operating conditions are
|Vds|=0.2V, Vgs=0V, Vbs=0V
. Pfet has significantly higher leakage in the FS corner.
k
Thank you so much sir for the information. here is my ring oscillator, I did not use lvt device even in TT_Model I am getting oscillation even with vdd 160mV
s
@Kamta Kesharwani Ring oscillators usually use an odd number of stages, so try with 3 or 5 stages. An even number of stages in a ring has stable operating points. However i am not very expert on these 'redundant inverter' stages :-)
k
I am relying on weak inversion, later i am using clock booster to use to strengthen the clock. everything is ok in TT_Model but fails in other corner like in FF, FS, SF. I plotted the vtc of my redundant inverter and found in other corner vtc is not as expected, trying to improve by adjusting width of transistors , I did not see much improvement but still trying and adjusting widths, if there is any other way to correct please let me know. Thank you
(Yes, I am using 5 stage ring oscillator) here is the vtc of redundant inverter.
s
for temperature add a '`.temp -40`' or '`.temp 40`' (outside the .control / .endc block)
at -40C may be the fast cornerrs will work....
k
Okay, Thank you so much.