Shuklaspeak
Newbie
Hi,
I am trying to simulate a Digital Controlled Ring Oscillator (Inverter based) in HSPICE. The design consists of a VCO and a (DCR) Digital Controlled Resistor (designed used PMOS transistors) that sits on top of the VCO (providing VDD to the VCO). I make a distinction between VDD and VDDRing. VDD is the supply voltage provided to the DCR. The latter is the voltage seen by the VCO (after encountering a drop through the DCR). In order to induce the oscillations, the supply voltage is ramped from 0 to VDD. My design works well in Spectre and I can observe the ring oscillations as a sweep a few control codes (these control the DCR and determine how much resistance will be dropped between VDD and VDDRing.
However, once I export the netlist to HSPICE, my circuit doesn't show any oscillations. There a few things that I tried-
1) I tried connecting the VDDRing to a ramp supply (this means it doesn't derive its voltage from the DCR) and I do see the oscillations in HSPICE
2) I tried changing the default options that Spectre generates for HSPICE-
to
But still no luck getting the oscillations.
What completely stumps me is why the simulation doesn't reproduce the exact the result between Spectre and Hspice ? I will greatly appreciate some pointers on this.
Thank you!
I am trying to simulate a Digital Controlled Ring Oscillator (Inverter based) in HSPICE. The design consists of a VCO and a (DCR) Digital Controlled Resistor (designed used PMOS transistors) that sits on top of the VCO (providing VDD to the VCO). I make a distinction between VDD and VDDRing. VDD is the supply voltage provided to the DCR. The latter is the voltage seen by the VCO (after encountering a drop through the DCR). In order to induce the oscillations, the supply voltage is ramped from 0 to VDD. My design works well in Spectre and I can observe the ring oscillations as a sweep a few control codes (these control the DCR and determine how much resistance will be dropped between VDD and VDDRing.
However, once I export the netlist to HSPICE, my circuit doesn't show any oscillations. There a few things that I tried-
1) I tried connecting the VDDRing to a ramp supply (this means it doesn't derive its voltage from the DCR) and I do see the oscillations in HSPICE
2) I tried changing the default options that Spectre generates for HSPICE-
.option artist = 2
.option ingold=2
.option parhier=local
.option psf =2
to
.option post
.option runlvl = 6
.option accurate =1
.option method = gear
.option captab
.option ingold=2 numdgt=10 measdgt=10
.option probe fsdb=1
.option MTTHRESH =2
.option autostop
.option psf =2
But still no luck getting the oscillations.
What completely stumps me is why the simulation doesn't reproduce the exact the result between Spectre and Hspice ? I will greatly appreciate some pointers on this.
Thank you!
Last edited by a moderator: