deardeepa76
Junior Member level 3
- Joined
- Dec 8, 2011
- Messages
- 29
- Helped
- 0
- Reputation
- 0
- Reaction score
- 0
- Trophy points
- 1,281
- Activity points
- 1,491
* CSFG Common gate current mirror recharge freq 100MHz
********* Simulation Settings - General section *********
.include "D:\HSPICE\NewCSFGBkup\t96w_9sf_9m_lb_3-params.txt"
********* Simulation Settings - Parameters and SPICE Options *********
*-------- Devices: SPICE.ORDER > 0 --------
CCinn V1 N_3 1p
CCinp1 In N_4 1p
CCinp2 Out N_5 1p
MNMOS_1 V1 N_3 Vdd1 Gnd CMOSN W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MNMOS_2 Out N_3 Vdd1 Gnd CMOSN W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MNMOS_3 N_4 Vdd1 Gnd Gnd CMOSN W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MNMOS_4 N_5 Vdd1 Gnd Gnd CMOSN W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MPMOS_1 N_3 Vdd2 Vdd Vdd CMOSP W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MPMOS_2 V1 N_4 Vdd2 Vdd CMOSP W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MPMOS_3 Out N_5 Vdd2 Vdd CMOSP W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
VVsupply Vdd Gnd DC 250m
VVf Vdd1 Gnd PULSE(0 1 0 3n 3n 10n 40n)
VVfbar Vdd2 Gnd PULSE(0 1 20n 3n 3n 10n 40n)
VVin In Gnd DC 1 SIN(.125 .125 2MEG)
********* Simulation Settings - Analysis section *********
.tran 100n 2u
.DC VVin 0 250m .0250
.print dc ID(MPMOS_2)
.print dc ID(MPMOS_3)
********* Simulation Settings - Additional SPICE commands *********
.end
Depends on your graphical output tool.How to get the graph as output,
what sweep should I make?
.DC VVin 0 250m .0250
VVsupply Vdd Gnd DC 250m
VVsupply Vdd Gnd DC 175m
.DC VVin 0 250m .0250
.DC VVin 100m 0 10m
What are the threshold voltages of your MOSFETs? Perhaps you could present their model files, or a link to them?
I see some confusion about simulation setup. You are performing a DC sweep of a voltage source that's capacitively coupled to the active circuit. Respectively, there's no effect on any circuit current.
As a first step, consider what you want to achieve, possibly a parametric sweep in transient analysis?
* CSFG Common gate current mirror recharge freq 25MHz
********* Simulation Settings - General section *********
.include "D:\HSPICE\NewCSFGBkup\t96w_9sf_9m_lb_3-params.txt"
.param vin_param=1V
********* Simulation Settings - Parameters and SPICE Options *********
*-------- Devices: SPICE.ORDER > 0 --------
CCinn V1 N_3 1p
CCinp1 In N_4 1p
CCinp2 Out N_5 1p
MNMOS_1 V1 N_3 Vdd1 Gnd CMOSN W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MNMOS_2 Out N_3 Vdd1 Gnd CMOSN W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MNMOS_3 N_4 Vdd1 Gnd Gnd CMOSN W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MNMOS_4 N_5 Vdd1 Gnd Gnd CMOSN W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MPMOS_1 N_3 Vdd2 Vdd Vdd CMOSP W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MPMOS_2 V1 N_4 Vdd2 Vdd CMOSP W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MPMOS_3 Out N_5 Vdd2 Vdd CMOSP W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
VVsupply Vdd Gnd DC 175m
VVf Vdd1 Gnd PULSE(0 1 0 3n 3n 10n 40n)
VVfbar Vdd2 Gnd PULSE(0 1 20n 3n 3n 10n 40n)
VVin In Gnd DC vin_param SIN(.125 .125 2MEG)
********* Simulation Settings - Analysis section *********
.tran 100n 1u sweep VVin 100m 0 10m $linear sweep
.print tran ID(MPMOS_2)
.print tran ID(MPMOS_3)
.print tran ID(MNMOS_1)
.print tran ID(MNMOS_2)
********* Simulation Settings - Additional SPICE commands *********
.end
VVsupply Vdd Gnd DC 1
VVin Vin Gnd SIN(0 .500 2MEG)
VV1 V1 Gnd DC 0
.tran 1n 1u sweep VV1 500m 0 100m $linear sweep
The current in pulsating, but I expect a linear increase as in original
So, the supply voltage is 175mV as mentioned in the paper.
So, the supply voltage with your MOSFETs should be ≧ 450mV , taking into account the VTH0 values of your model file - may be a bit less if you are working in weak inversion.It is necessary that the analog power supply be at least equal to the sum of the magnitudes of the n-channel and p-channel thresholds.
(2nd page, and Fig. 5). So:The input Vin is swept from VDD/2 to gnd.
or:.param v0=0 va='VDD/2' freq=0.5MEG delay=0 theta=0 phase=90
VVin Vin 0 sin(v0 va freq delay theta phase) $sinusoidal sweep
VVin Vin Gnd DC 'VDD/2'
.tran 1n 1u sweep VVin 'VDD/2' 0 100m $linear sweep
So you should perhaps adapt your clock frequency for phi, phibar.The recharge frequency is 100MHz
I agree to this but it is mentioned in the text of Fig5 that supply voltage VDD= 175mV as well as in last para of 2nd page. The abstract also says that the proposed current mirror can operate at supply voltages below 200mV.1. Supply voltage:
So, the supply voltage with your MOSFETs should be ≧ 450mV , taking into account the VTH0 values of your model file - may be a bit less if you are working in weak inversion.
* CSFG Common gate current mirror recharge freq 100MHz
********* Simulation Settings - General section *********
.include "D:\HSPICE\NewCSFGBkup\t96w_9sf_9m_lb_3-params.txt"
.param v0=0 va=225m freq=.5MEG delay=0 theta=0 phase=90
********* Simulation Settings - Parameters and SPICE Options *********
*-------- Devices: SPICE.ORDER > 0 --------
CCinn V1 N_3 1p
CCinp1 In N_4 1p
CCinp2 Out N_5 1p
MNMOS_1 V1 N_3 Vdd1 Gnd CMOSN W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MNMOS_2 Out N_3 Vdd1 Gnd CMOSN W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MNMOS_3 N_4 Vdd1 Gnd Gnd CMOSN W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MNMOS_4 N_5 Vdd1 Gnd Gnd CMOSN W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MPMOS_1 N_3 Vdd2 Vdd Vdd CMOSP W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MPMOS_2 V1 N_4 Vdd2 Vdd CMOSP W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MPMOS_3 Out N_5 Vdd2 Vdd CMOSP W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
VVsupply Vdd Gnd DC 450m
VVf Vdd1 Gnd PULSE(0 5 0 .5n .5n 3.5n 10n)
VVfbar Vdd2 Gnd PULSE(0 5 5n .5n .5n 3.5n 10n)
VVin In Gnd DC 225m SIN(v0 va freq delay theta phase) $sinusoidal sweep
********* Simulation Settings - Analysis section *********
.tran 10n 100n sweep VVin 225m 0 22.5m $linear sweep
.print tran ID(MPMOS_2)
.print tran ID(MPMOS_3)
.print tran ID(MNMOS_1)
.print tran ID(MNMOS_2)
********* Simulation Settings - Additional SPICE commands *********
.end
... regarding the supply voltage.
I agree to this but it is mentioned in the text of Fig5 that supply voltage VDD= 175mV as well as in last para of 2nd page. The abstract also says that the proposed current mirror can operate at supply voltages below 200mV.
Regarding the model file, I just downloaded it from mosis for 90nm and started using it, I am not sure about whether the threshold voltages mentioned there is correct for my simulation.
Regarding sweeping I did all the changes you have mentioned and here is the output screen shot and net list
VVin In Gnd DC 225m
.tran 10n 100n sweep VVin 225m 0 22.5m $linear sweep
VVf Vdd1 Gnd PULSE(0 5 0 .5n .5n 3.5n 10n)
VVfbar Vdd2 Gnd PULSE(0 5 5n .5n .5n 3.5n 10n)
I guess they used a process/transistors with lower threshold voltage values.
With that higher Vsupply of 450mV it seems to work. The currents, however, are a bit high, so you could try and reduce Vsupply to maybe 200 .. 250mV to operate the transistors in weak inversion mode.
BTW:
The clock pulses should have the same height as Vsupply - not 5V - at least in reality.
* CSFG Common gate current mirror recharge freq 100MHz VDD 450mV
********* Simulation Settings - General section *********
.include "D:\HSPICE\NewCSFGBkup\t96w_9sf_9m_lb_3-params.txt"
.param vdd=450m
********* Simulation Settings - Parameters and SPICE Options *********
*-------- Devices: SPICE.ORDER > 0 --------
CCinn V1 N_3 1p
CCinp1 In N_4 1p
CCinp2 Out N_5 1p
MNMOS_1 V1 N_3 Vdd1 Gnd CMOSN W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MNMOS_2 Out N_3 Vdd1 Gnd CMOSN W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MNMOS_3 N_4 Vdd1 Gnd Gnd CMOSN W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MNMOS_4 N_5 Vdd1 Gnd Gnd CMOSN W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MPMOS_1 N_3 Vdd2 Vdd Vdd CMOSP W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MPMOS_2 V1 N_4 Vdd2 Vdd CMOSP W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MPMOS_3 Out N_5 Vdd2 Vdd CMOSP W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
VVsupply Vdd Gnd DC vdd
VVf Vdd1 Gnd PULSE(0 vdd 0 .5n .5n 3.5n 10n)
VVfbar Vdd2 Gnd PULSE(0 vdd 5n .5n .5n 3.5n 10n)
VVin In Gnd DC 'vdd/2'
********* Simulation Settings - Analysis section *********
.tran 10n 100n sweep VVin 'vdd/2' 0 22.5m $linear sweep
.print tran ID(MPMOS_2)
.print tran ID(MPMOS_3)
.print tran ID(MNMOS_1)
.print tran ID(MNMOS_2)
********* Simulation Settings - Additional SPICE commands *********
.end
when I changed the VDD to 350mV, the output is this and below this voltage the current waveform was choppy and irregular. So I guess if I can get any other process/technology file with less VTH I can still reduce the VDD
.tran 10n 100n sweep VVin 'vdd/2' 0 [B]'vdd/20'[/B] $linear sweep
Right. Now if you want to get the Ie1, Ie2 vs. Iin dependency (Fig. 5.), extract the max. current values of these currents in the best possible steady state, say at 97.5ns of your sim. - you could do this with a .measure command - do this from all sweeps, which will give you different values for these currents from all these sweeps. Then plot these current values like Fig. 5. - either manually, or with the help of an Excel table, or with MATLAB.
* CSFG Common gate current mirror recharge freq 100MHz
********* Simulation Settings - General section *********
.include "D:\HSPICE\NewCSFGBkup\t96w_9sf_9m_lb_3-params.txt"
.param vdd=450m
********* Simulation Settings - Parameters and SPICE Options *********
*-------- Devices: SPICE.ORDER > 0 --------
CCinn V1 N_3 1p
CCinp1 In N_4 1p
CCinp2 Out N_5 1p
MNMOS_1 V1 N_3 Vdd1 Gnd CMOSN W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MNMOS_2 Out N_3 Vdd1 Gnd CMOSN W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MNMOS_3 N_4 Vdd1 Gnd Gnd CMOSN W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MNMOS_4 N_5 Vdd1 Gnd Gnd CMOSN W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MPMOS_1 N_3 Vdd2 Vdd Vdd CMOSP W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MPMOS_2 V1 N_4 Vdd2 Vdd CMOSP W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MPMOS_3 Out N_5 Vdd2 Vdd CMOSP W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
VVsupply Vdd Gnd DC vdd
VVf Vdd1 Gnd PULSE(0 vdd 0 .5n .5n 3.5n 10n)
VVfbar Vdd2 Gnd PULSE(0 vdd 5n .5n .5n 3.5n 10n)
VVin In Gnd DC 'vdd/2'
********* Simulation Settings - Analysis section *********
.tran 10n 100n sweep VVin 'vdd/2' 0 'vdd/20' $linear sweep
.meas maxIe1 MAX I(MNMOS_1) from=97ns to=98ns
.meas maxIe2 MAX I(MNMOS_2) from=97ns to=98ns
********* Simulation Settings - Additional SPICE commands *********
.end
Good! But you need a third .meas command to measure Iin.I gave measure command and got the max values for Ie1 and Ie2 in measure results file for HSPICE.
They should be. Your netlist looks like you didn't remove (or short-cut) Cinp1 for DC (i.e. non-RF) input (s. FvM's contribution #6 above). Cinp1 would just be ok for a sinusoidal input.But these values are not different, ...
Vgnd Gnd 0 DC 0
Good! But you need a third .meas command to measure Iin.
They should be. Your netlist looks like you didn't remove (or short-cut) Cinp1 for DC (i.e. non-RF) input (s. FvM's contribution #6 above). Cinp1 would just be ok for a sinusoidal input.
* CSFG Common gate current mirror recharge freq 100MHz
********* Simulation Settings - General section *********
.include "D:\HSPICE\NewCSFGBkup\t96w_9sf_9m_lb_3-params.txt"
.param vdd=450m
********* Simulation Settings - Parameters and SPICE Options *********
*-------- Devices: SPICE.ORDER > 0 --------
CCinn V1 N_3 1p
*CCinp1 In N_4 1p
CCinp2 Out N_5 1p
MNMOS_1 V1 N_3 Vdd1 Gnd CMOSN W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MNMOS_2 Out N_3 Vdd1 Gnd CMOSN W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MNMOS_3 N_4 Vdd1 Gnd Gnd CMOSN W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MNMOS_4 N_5 Vdd1 Gnd Gnd CMOSN W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MPMOS_1 N_3 Vdd2 Vdd Vdd CMOSP W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MPMOS_2 V1 N_4 Vdd2 Vdd CMOSP W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MPMOS_3 Out N_5 Vdd2 Vdd CMOSP W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
VVsupply Vdd Gnd DC vdd
VVf Vdd1 Gnd PULSE(0 vdd 0 .5n .5n 3.5n 10n)
VVfbar Vdd2 Gnd PULSE(0 vdd 5n .5n .5n 3.5n 10n)
VVin N_4 Gnd DC 'vdd/2'
Vgnd Gnd 0 DC 0
********* Simulation Settings - Analysis section *********
.tran 10n 100n sweep VVin 'vdd/2' 0 'vdd/20' $linear sweep
.meas tran maxIe1 MAX I(MNMOS_1) from=97ns to=98ns
.meas tran maxIe2 MAX I(MNMOS_2) from=97ns to=98ns
.meas tran maxIin MAX I(MPMOS_2) from=97ns to=98ns
********* Simulation Settings - Additional SPICE commands *********
.end
* ULV Inverting current mirror recharge freq 25MHz
********* Simulation Settings - General section *********
.include "D:\HSPICE\NewCSFGBkup\t96w_9sf_9m_lb_3-params.txt"
.param vdd=450m v0='vdd/3.6' va='vdd/2' freq=2MEG delay=0 theta=0 phase=0
********* Simulation Settings - Parameters and SPICE Options *********
*-------- Devices: SPICE.ORDER > 0 --------
CCinn1 Vin N_3 .0002p
CCinn2 Vin N_4 1p
CCinp1 N_7 N_6 1p
CCinp2 Vout N_2 .0002p
MN_3 N_4 Vdd1 Gnd Gnd CMOSN W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MN_4 N_6 Vdd1 Gnd Gnd CMOSN W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MQ1 Vin N_3 Vdd1 Gnd CMOSN W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MQ4 Vout N_2 Vdd1 Gnd CMOSN W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MQ2 Vout N_4 Vdd2 Vdd CMOSP W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MQ3 Vin N_6 Vdd2 Vdd CMOSP W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MP_1 N_2 Vdd2 Vdd Vdd CMOSP W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
MP_2 N_3 Vdd2 Vdd Vdd CMOSP W=2.5u L=250n AS=2.25p PS=6.8u AD=2.25p PD=6.8u
VVsupply Vdd Gnd DC vdd
VVf Vdd1 Gnd PULSE(0 vdd 0 2.5n 2.5n 15n 40n)
VVfbar Vdd2 Gnd PULSE(0 vdd 20n 2.5n 2.5n 15n 40n)
VVa N_7 Gnd SIN(v0 va freq delay theta phase) $sinusoidal sweep
********* Simulation Settings - Analysis section *********
.tran 40n 1u
.print tran ID(MQ1)
.print tran ID(MQ2)
.meas maxIn MAX I(MQ1) from=997ns to=900ns
.meas maxIout MAX I(MQ2) from=997ns to=998ns
********* Simulation Settings - Additional SPICE commands *********
.end
.meas maxIn MAX I(MQ1) from=997ns to=[COLOR="#FF0000"]900[/COLOR]ns
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?