Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[Moved]: N path filter design

Status
Not open for further replies.

Saraadib

Member level 4
Joined
Nov 2, 2015
Messages
78
Helped
0
Reputation
0
Reaction score
0
Trophy points
6
Activity points
1,116
I design four path filter ,does anybody have any idea how to plot frequency response of it by cadence?
 

Re: N path filter design

Run an ac analysis and plot the output node voltage vs. frequency.
 
Re: N path filter design

You will need to run a PAC analysis, I have read that sps may work as well.
 

Re: N path filter design

You will need to run a PAC analysis, I have read that sps may work as well
I did PSS+PAC however the response does not make sense to me ,I attach schematic and my simulation setup
do you have any idea that what is wrong with circuit?
 

Attachments

  • 4 path filter.png
    4 path filter.png
    19.9 KB · Views: 343
  • 2.png
    2.png
    19.4 KB · Views: 310
  • 3.png
    3.png
    20.8 KB · Views: 250
  • 4.png
    4.png
    21.4 KB · Views: 247
  • 5.png
    5.png
    19.3 KB · Views: 219
  • 6.png
    6.png
    20.6 KB · Views: 221
  • 7.png
    7.png
    21.2 KB · Views: 244
  • 8.png
    8.png
    35.5 KB · Views: 254
  • 9.png
    9.png
    33.2 KB · Views: 255
  • 11.png
    11.png
    21.3 KB · Views: 283
  • 10.png
    10.png
    27 KB · Views: 278

Re: N path filter design

Do Shooting newton or Harmonic Balance analysis.
 

Last edited:

Re: N path filter design

if you click on any picture you can see them clearly ,I do not know how can I get netlist?
 

In your PSS setup, why is there a 100kHz tone? The fundamental period of the PSS should only be the LO period (2ns in your case. This is why PAC is so much faster than a swept PSS). But you should have definitely increase the number of output harmonics, in order to ensure the PSS has a small step size. Also increase the max sidebands in PAC.

- - - Updated - - -

No.
Show "input.scs".

Cadence ADE>Simulation>Netist>Recreate

Following is a example of "input.scs".
https://www.edaboard.com/threads/346180/
He doesn't have any pins in his schematic, so I don't think he has any inputs.
 

Re: N path filter design

No.
Show "input.scs".

Cadence ADE>Simulation>Netist>Recreate

Following is a example of "input.scs".
https://www.edaboard.com/threads/346180/


Code:
// Generated for: spectre
// Generated on: Nov 11 22:09:39 2015
// Design library name: Assignment1_signalelectronic
// Design cell name: test_nasser4
// Design view name: schematic
simulator lang=spectre
global 0
parameters vdd=3.3
include "/CMC/kits/AMSKIT616_GPDK/tech/gpdk045_v_4_0/gpdk045/../models/spectre/gpdk045.scs" section=tt

// Library name: Assignment1_signalelectronic
// Cell name: test_nasser4
// View name: schematic
W3 (R0_MINUS C3_PLUS V4_PLUS 0) relay vt1=vdd vt2=0 ropen=100T \
        rclosed=100.0m
W1 (R0_MINUS C2_PLUS V2_PLUS 0) relay vt1=vdd vt2=0 ropen=100T \
        rclosed=100.0m
W0 (R0_MINUS C0_PLUS V1_PLUS 0) relay vt1=vdd vt2=0 ropen=100T \
        rclosed=100.0m
W2 (R0_MINUS C1_PLUS V3_PLUS 0) relay vt1=vdd vt2=0 ropen=100T \
        rclosed=100.0m
C3 (C3_PLUS 0) capacitor c=16p
C2 (C2_PLUS 0) capacitor c=16p
C0 (C0_PLUS 0) capacitor c=16p
C1 (C1_PLUS 0) capacitor c=16p
V4 (V4_PLUS 0) vsource type=pulse delay=1.5n edgetype=linear val0=0 \
        val1=vdd period=2n rise=50p fall=50p width=450p
V2 (V2_PLUS 0) vsource type=pulse delay=1n edgetype=linear val0=0 val1=vdd \
        period=2n rise=50p fall=50p width=450p
V1 (V1_PLUS 0) vsource type=pulse delay=500p edgetype=linear val0=0 \
        val1=vdd period=2n rise=50p fall=50p width=450p
V3 (V3_PLUS 0) vsource type=pulse delay=0 edgetype=linear val0=0 val1=vdd \
        period=2n rise=50p fall=50p width=450.0p
V0 (V0_PLUS 0) vsource dc=0 type=sine pacmag=1 pacphase=0
R0 (V0_PLUS R0_MINUS) resistor r=50K
simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \
    tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 maxnotes=5 maxwarns=5 \
    digits=5 cols=80 pivrel=1e-3 sensfile="../psf/sens.output" \
    checklimitdest=psf 
pss  pss  fund=500M  harms=5  errpreset=conservative  tstab=200u
+    maxacfreq=4G  annotate=status
pac  pac  start=50M  stop=5G  lin=1000  maxsideband=7
+    annotate=status
modelParameter info what=models where=rawfile
element info what=inst where=rawfile
outputParameter info what=output where=rawfile
designParamVals info what=parameters where=rawfile
primitives info what=primitives where=rawfile
subckts info what=subckts  where=rawfile
saveOptions options save=allpub
 
Last edited by a moderator:

Actually I did changes that you mention, however result does not make sense to me again ,N path filter result should be like band pass filter however my result does not look like band pass filter .
I put "input.scs".also I attch result that I got

// Generated for: spectre
// Generated on: Nov 11 22:58:23 2015
// Design library name: Assignment1_signalelectronic
// Design cell name: test_nasser4
// Design view name: schematic
simulator lang=spectre
global 0
parameters vdd=3.3
include "/CMC/kits/AMSKIT616_GPDK/tech/gpdk045_v_4_0/gpdk045/../models/spectre/gpdk045.scs" section=tt

// Library name: Assignment1_signalelectronic
// Cell name: test_nasser4
// View name: schematic
W3 (R0_MINUS C3_PLUS V4_PLUS 0) relay vt1=vdd vt2=0 ropen=100T \
rclosed=100.0m
W1 (R0_MINUS C2_PLUS V2_PLUS 0) relay vt1=vdd vt2=0 ropen=100T \
rclosed=100.0m
W0 (R0_MINUS C0_PLUS V1_PLUS 0) relay vt1=vdd vt2=0 ropen=100T \
rclosed=100.0m
W2 (R0_MINUS C1_PLUS V3_PLUS 0) relay vt1=vdd vt2=0 ropen=100T \
rclosed=100.0m
C3 (C3_PLUS 0) capacitor c=16p
C2 (C2_PLUS 0) capacitor c=16p
C0 (C0_PLUS 0) capacitor c=16p
C1 (C1_PLUS 0) capacitor c=16p
V4 (V4_PLUS 0) vsource type=pulse delay=1.5n edgetype=linear val0=0 \
val1=vdd period=2n rise=50p fall=50p width=450p
V2 (V2_PLUS 0) vsource type=pulse delay=1n edgetype=linear val0=0 val1=vdd \
period=2n rise=50p fall=50p width=450p
V1 (V1_PLUS 0) vsource type=pulse delay=500p edgetype=linear val0=0 \
val1=vdd period=2n rise=50p fall=50p width=450p
V3 (V3_PLUS 0) vsource type=pulse delay=0 edgetype=linear val0=0 val1=vdd \
period=2n rise=50p fall=50p width=450.0p
V0 (V0_PLUS 0) vsource dc=0 type=sine pacmag=1 pacphase=0
R0 (V0_PLUS R0_MINUS) resistor r=50K
simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \
tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 maxnotes=5 maxwarns=5 \
digits=5 cols=80 pivrel=1e-3 sensfile="../psf/sens.output" \
checklimitdest=psf
pss pss fund=500M harms=0 errpreset=conservative tstab=200u
+ maxacfreq=4G annotate=status
pac pac start=50M stop=5G lin=1000 maxsideband=0
+ annotate=status
modelParameter info what=models where=rawfile
element info what=inst where=rawfile
outputParameter info what=output where=rawfile
designParamVals info what=parameters where=rawfile
primitives info what=primitives where=rawfile
subckts info what=subckts where=rawfile
saveOptions options save=allpub
 

Attachments

  • 1.PNG
    1.PNG
    36.6 KB · Views: 192
  • 2.PNG
    2.PNG
    36 KB · Views: 236
  • 3.PNG
    3.PNG
    27.6 KB · Views: 184
Last edited by a moderator:

He doesn't have any pins in his schematic, so I don't think he has any inputs.
You also can not understand Cadence Spectre Netlisting from Cadence ADE.

When you run Cadence Spectre from Cadence ADE, netlist is created as "input.scs" in "simulation/<circuit_name>/spectre/schematic/netlist".

Analysis statements, Option statement and Signal source definitions are all described in "input.scs".

V0 (V0_PLUS 0) vsource dc=0 type=sine pacmag=1 pacphase=0

pss pss fund=500M harms=5 errpreset=conservative tstab=200u
+ maxacfreq=4G annotate=status

pac pac start=50M stop=5G lin=1000 maxsideband=7
+ annotate=status
Change these like following.
V0 (V0_PLUS 0) vsource dc=0 type=dc pacmag=1 pacphase=0

pss pss fund=500M harms=1 errpreset=conservative tstab=200u
+ maxacfreq=5G annotate=status

pac pac start=50M stop=5G lin=1000 maxsideband=0
+ annotate=status

Then plot followings.
Code:
db20( harmonic(v("/C0_PLUS", ?result "pac"), 0) )
db20( harmonic(v("/C1_PLUS", ?result "pac"), 0) )
db20( harmonic(v("/C2_PLUS", ?result "pac"), 0) )
db20( harmonic(v("/C3_PLUS", ?result "pac"), 0) )

Also see https://www.designers-guide.org/Forum/YaBB.pl?num=1258339986

however result does not make sense to me again
Plot followings.
Code:
[COLOR="#FF0000"]
db20(
   harmonic(v("/C0_PLUS", ?result "pac"), 0)
 +harmonic(v("/C1_PLUS", ?result "pac"), 0)
 +harmonic(v("/C2_PLUS", ?result "pac"), 0)
 +harmonic(v("/C3_PLUS", ?result "pac"), 0)
)

db20( harmonic(v("/R0_MINUS", ?result "pac"), 0) )[/COLOR]
 
Last edited by a moderator:

You also can not understand Cadence Spectre Netlisting from Cadence ADE.

When you run Cadence Spectre from Cadence ADE, netlist is created as "input.scs" in "simulation/<circuit_name>/spectre/schematic/netlist".

Analysis statements, Option statement and Signal source definitions are all described in "input.scs".

Change these like following.


Then plot followings.

db20( harmonic(v("/C0_PLUS", ?result "pac"), 0) )
db20( harmonic(v("/C1_PLUS", ?result "pac"), 0) )
db20( harmonic(v("/C2_PLUS", ?result "pac"), 0) )
db20( harmonic(v("/C3_PLUS", ?result "pac"), 0) )


Also see https://www.designers-guide.org/Forum/YaBB.pl?num=1258339986

You have to combine four outputs in schematic or post processing.

db20(
harmonic(v("/C0_PLUS", ?result "pac"), 0)
+harmonic(v("/C1_PLUS", ?result "pac"), 0)
+harmonic(v("/C2_PLUS", ?result "pac"), 0)
+harmonic(v("/C3_PLUS", ?result "pac"), 0)
)

Actually I did changes that you mention, however result does not make sense to me again ,N path filter result should be like band pass filter however my result does not look like band pass filter .
I put "input.scs".also I attch result that I got
// Generated for: spectre
// Generated on: Nov 11 22:58:23 2015
// Design library name: Assignment1_signalelectronic
// Design cell name: test_nasser4
// Design view name: schematic
simulator lang=spectre
global 0
parameters vdd=3.3
include "/CMC/kits/AMSKIT616_GPDK/tech/gpdk045_v_4_0/gpdk045/../models/spectre/gpdk045.scs" section=tt

// Library name: Assignment1_signalelectronic
// Cell name: test_nasser4
// View name: schematic
W3 (R0_MINUS C3_PLUS V4_PLUS 0) relay vt1=vdd vt2=0 ropen=100T \
rclosed=100.0m
W1 (R0_MINUS C2_PLUS V2_PLUS 0) relay vt1=vdd vt2=0 ropen=100T \
rclosed=100.0m
W0 (R0_MINUS C0_PLUS V1_PLUS 0) relay vt1=vdd vt2=0 ropen=100T \
rclosed=100.0m
W2 (R0_MINUS C1_PLUS V3_PLUS 0) relay vt1=vdd vt2=0 ropen=100T \
rclosed=100.0m
C3 (C3_PLUS 0) capacitor c=16p
C2 (C2_PLUS 0) capacitor c=16p
C0 (C0_PLUS 0) capacitor c=16p
C1 (C1_PLUS 0) capacitor c=16p
V4 (V4_PLUS 0) vsource type=pulse delay=1.5n edgetype=linear val0=0 \
val1=vdd period=2n rise=50p fall=50p width=450p
V2 (V2_PLUS 0) vsource type=pulse delay=1n edgetype=linear val0=0 val1=vdd \
period=2n rise=50p fall=50p width=450p
V1 (V1_PLUS 0) vsource type=pulse delay=500p edgetype=linear val0=0 \
val1=vdd period=2n rise=50p fall=50p width=450p
V3 (V3_PLUS 0) vsource type=pulse delay=0 edgetype=linear val0=0 val1=vdd \
period=2n rise=50p fall=50p width=450.0p
V0 (V0_PLUS 0) vsource dc=0 type=sine pacmag=1 pacphase=0
R0 (V0_PLUS R0_MINUS) resistor r=50K
simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \
tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 maxnotes=5 maxwarns=5 \
digits=5 cols=80 pivrel=1e-3 sensfile="../psf/sens.output" \
checklimitdest=psf
pss pss fund=500M harms=0 errpreset=conservative tstab=200u
+ maxacfreq=4G annotate=status
pac pac start=50M stop=5G lin=1000 maxsideband=0
+ annotate=status
modelParameter info what=models where=rawfile
element info what=inst where=rawfile
outputParameter info what=output where=rawfile
designParamVals info what=parameters where=rawfile
primitives info what=primitives where=rawfile
subckts info what=subckts where=rawfile
saveOptions options save=allpub

- - - Updated - - -

You also can not understand Cadence Spectre Netlisting from Cadence ADE.

When you run Cadence Spectre from Cadence ADE, netlist is created as "input.scs" in "simulation/<circuit_name>/spectre/schematic/netlist".

Analysis statements, Option statement and Signal source definitions are all described in "input.scs".

Change these like following.


Then plot followings.
db20( harmonic(v("/C0_PLUS", ?result "pac"), 0) )
db20( harmonic(v("/C1_PLUS", ?result "pac"), 0) )
db20( harmonic(v("/C2_PLUS", ?result "pac"), 0) )
db20( harmonic(v("/C3_PLUS", ?result "pac"), 0) )


Also see https://www.designers-guide.org/Forum/YaBB.pl?num=1258339986

Plot followings.

db20(
harmonic(v("/C0_PLUS", ?result "pac"), 0)
+harmonic(v("/C1_PLUS", ?result "pac"), 0)
+harmonic(v("/C2_PLUS", ?result "pac"), 0)
+harmonic(v("/C3_PLUS", ?result "pac"), 0)
)

db20( harmonic(v("/R0_MINUS", ?result "pac"), 0) )

you mean this:

Code:
db(vh('pac "/C3_PLUS" '(0)))+(db(vh('pac "/C2_PLUS" '(0)))+(db(vh('pac "/C0_PLUS" '(0)))+db(vh('pac "/C1_PLUS" '(0)))))

I plot it and I got image that I have attached ,it is not band pass filter
 

Attachments

  • 5.PNG
    5.PNG
    48.8 KB · Views: 130
  • 2.PNG
    2.PNG
    36 KB · Views: 127
  • 3.PNG
    3.PNG
    27.6 KB · Views: 125
Last edited by a moderator:

you mean this:
db(vh('pac "/C3_PLUS" '(0)))+(db(vh('pac "/C2_PLUS" '(0)))+(db(vh('pac "/C0_PLUS" '(0)))+db(vh('pac "/C1_PLUS" '(0)))))
No.
See surely equation I appended.

Add as complex number and apply db20() for results.
Code:
db(
vh('pac "/C3_PLUS" '(0))
+vh('pac "/C2_PLUS" '(0))
+vh('pac "/C0_PLUS" '(0))
+vh('pac "/C1_PLUS" '(0))
)
 
Last edited:

No.
See surely equation I appended.

Add as complex number and apply db20() for results.
Code:
db(
vh('pac "/C3_PLUS" '(0))
+vh('pac "/C2_PLUS" '(0))
+vh('pac "/C0_PLUS" '(0))
+vh('pac "/C1_PLUS" '(0))
)
you mean this:
Code:
db20(harmonic(v("/C0_PLUS" ?result "pac") 0))+db20( harmonic(v("/C2_PLUS", ?result "pac"), 0) )+db20( harmonic(v("/C3_PLUS", ?result "pac"), 0) )+db20( harmonic(v("/C1_PLUS", ?result "pac"), 0) )
I got this result
I have attach the result
 

Attachments

  • 6.PNG
    6.PNG
    50.4 KB · Views: 127

you mean this:
Code:
db20(harmonic(v("/C0_PLUS" ?result "pac") 0))+db20( harmonic(v("/C2_PLUS", ?result "pac"), 0) )+db20( harmonic(v("/C3_PLUS", ?result "pac"), 0) )+db20( harmonic(v("/C1_PLUS", ?result "pac"), 0) )
No.

db20(harmonic(v("/C0_PLUS" ?result "pac"), 0)+harmonic(v("/C2_PLUS", ?result "pac"), 0)+harmonic(v("/C3_PLUS", ?result "pac"), 0)+harmonic(v("/C1_PLUS", ?result "pac"), 0) )
 

This is a netlist I used.
Code:
simulator lang=spectre
global 0
parameters vdd=3.3
parameters vt1=vdd/2*(1-1e-3)
parameters vt2=vdd/2*(1+1e-3)

V0 (V0_PLUS 0) vsource dc=0 type=dc pacmag=1 pacphase=0
R0 (V0_PLUS R0_MINUS) resistor r=50K

V1 (V1_PLUS 0) vsource type=pulse delay=500p edgetype=linear \
val0=0 val1=vdd period=2n rise=50p fall=50p width=450p
V2 (V2_PLUS 0) vsource type=pulse delay=1n edgetype=linear \
val0=0 val1=vdd period=2n rise=50p fall=50p width=450p
V3 (V3_PLUS 0) vsource type=pulse delay=0 edgetype=linear \
val0=0 val1=vdd period=2n rise=50p fall=50p width=450p
V4 (V4_PLUS 0) vsource type=pulse delay=1.5n edgetype=linear \
val0=0 val1=vdd period=2n rise=50p fall=50p width=450p

W0 (R0_MINUS C0_PLUS V1_PLUS 0) relay vt1=vt1 vt2=vt2 \
ropen=100T rclosed=100.0m
W1 (R0_MINUS C2_PLUS V2_PLUS 0) relay vt1=vt1 vt2=vt2 \
ropen=100T rclosed=100.0m
W2 (R0_MINUS C1_PLUS V3_PLUS 0) relay vt1=vt1 vt2=vt2 \
ropen=100T rclosed=100.0m
W3 (R0_MINUS C3_PLUS V4_PLUS 0) relay vt1=vt1 vt2=vt2 \
ropen=100T rclosed=100.0m

C0 (C0_PLUS 0) capacitor c=16p
C1 (C1_PLUS 0) capacitor c=16p
C2 (C2_PLUS 0) capacitor c=16p
C3 (C3_PLUS 0) capacitor c=16p

simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \
tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 maxnotes=5 maxwarns=5 \
digits=5 cols=80 pivrel=1e-3 sensfile="../psf/sens.output" \
checklimitdest=psf 

pss pss fund=500M harms=0 errpreset=conservative 
+ tstab=200u maxacfreq=5G
+ annotate=status

pac pac start=50M stop=5G lin=1000 maxsideband=0
+ annotate=status

saveOptions options save=allpub
The following is a OCEAN script for plotting.
Code:
psf_dir = strcat("/tmp/", "/hoge.raw")
openResults(psf_dir)
selectResult("pac")

R0_MINUS = harmonic( v("R0_MINUS"), 0 )
plot( db20(R0_MINUS) )

C0_PLUS = harmonic( v("C0_PLUS"), 0 )
C1_PLUS = harmonic( v("C1_PLUS"), 0 )
C2_PLUS = harmonic( v("C2_PLUS"), 0 )
C3_PLUS = harmonic( v("C3_PLUS"), 0 )
Csum_PLUS = C0_PLUS + C1_PLUS + C2_PLUS + C3_PLUS
plot( db20(Csum_PLUS) )
There is no output sampler in your circuit.
So C0_PLUS, C1_PLUS, C2_PLUS and C3_PLUS are all in-phase.
 

Attachments

  • 2015-1113-1446-03.png
    2015-1113-1446-03.png
    17.4 KB · Views: 275
This is a netlist I used.
Code:
simulator lang=spectre
global 0
parameters vdd=3.3
parameters vt1=vdd/2*(1-1e-3)
parameters vt2=vdd/2*(1+1e-3)

V0 (V0_PLUS 0) vsource dc=0 type=dc pacmag=1 pacphase=0
R0 (V0_PLUS R0_MINUS) resistor r=50K

V1 (V1_PLUS 0) vsource type=pulse delay=500p edgetype=linear \
val0=0 val1=vdd period=2n rise=50p fall=50p width=450p
V2 (V2_PLUS 0) vsource type=pulse delay=1n edgetype=linear \
val0=0 val1=vdd period=2n rise=50p fall=50p width=450p
V3 (V3_PLUS 0) vsource type=pulse delay=0 edgetype=linear \
val0=0 val1=vdd period=2n rise=50p fall=50p width=450p
V4 (V4_PLUS 0) vsource type=pulse delay=1.5n edgetype=linear \
val0=0 val1=vdd period=2n rise=50p fall=50p width=450p

W0 (R0_MINUS C0_PLUS V1_PLUS 0) relay vt1=vt1 vt2=vt2 \
ropen=100T rclosed=100.0m
W1 (R0_MINUS C2_PLUS V2_PLUS 0) relay vt1=vt1 vt2=vt2 \
ropen=100T rclosed=100.0m
W2 (R0_MINUS C1_PLUS V3_PLUS 0) relay vt1=vt1 vt2=vt2 \
ropen=100T rclosed=100.0m
W3 (R0_MINUS C3_PLUS V4_PLUS 0) relay vt1=vt1 vt2=vt2 \
ropen=100T rclosed=100.0m

C0 (C0_PLUS 0) capacitor c=16p
C1 (C1_PLUS 0) capacitor c=16p
C2 (C2_PLUS 0) capacitor c=16p
C3 (C3_PLUS 0) capacitor c=16p

simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \
tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 maxnotes=5 maxwarns=5 \
digits=5 cols=80 pivrel=1e-3 sensfile="../psf/sens.output" \
checklimitdest=psf 

pss pss fund=500M harms=0 errpreset=conservative 
+ tstab=200u maxacfreq=5G
+ annotate=status

pac pac start=50M stop=5G lin=1000 maxsideband=0
+ annotate=status

saveOptions options save=allpub
The following is a OCEAN script for plotting.
Code:
psf_dir = strcat("/tmp/", "/hoge.raw")
openResults(psf_dir)
selectResult("pac")

R0_MINUS = harmonic( v("R0_MINUS"), 0 )
plot( db20(R0_MINUS) )

C0_PLUS = harmonic( v("C0_PLUS"), 0 )
C1_PLUS = harmonic( v("C1_PLUS"), 0 )
C2_PLUS = harmonic( v("C2_PLUS"), 0 )
C3_PLUS = harmonic( v("C3_PLUS"), 0 )
Csum_PLUS = C0_PLUS + C1_PLUS + C2_PLUS + C3_PLUS
plot( db20(Csum_PLUS) )
There is no output sampler in your circuit.
So C0_PLUS, C1_PLUS, C2_PLUS and C3_PLUS are all in-phase.

So. what I have to do ?

- - - Updated - - -

This is a netlist I used.
Code:
simulator lang=spectre
global 0
parameters vdd=3.3
parameters vt1=vdd/2*(1-1e-3)
parameters vt2=vdd/2*(1+1e-3)

V0 (V0_PLUS 0) vsource dc=0 type=dc pacmag=1 pacphase=0
R0 (V0_PLUS R0_MINUS) resistor r=50K

V1 (V1_PLUS 0) vsource type=pulse delay=500p edgetype=linear \
val0=0 val1=vdd period=2n rise=50p fall=50p width=450p
V2 (V2_PLUS 0) vsource type=pulse delay=1n edgetype=linear \
val0=0 val1=vdd period=2n rise=50p fall=50p width=450p
V3 (V3_PLUS 0) vsource type=pulse delay=0 edgetype=linear \
val0=0 val1=vdd period=2n rise=50p fall=50p width=450p
V4 (V4_PLUS 0) vsource type=pulse delay=1.5n edgetype=linear \
val0=0 val1=vdd period=2n rise=50p fall=50p width=450p

W0 (R0_MINUS C0_PLUS V1_PLUS 0) relay vt1=vt1 vt2=vt2 \
ropen=100T rclosed=100.0m
W1 (R0_MINUS C2_PLUS V2_PLUS 0) relay vt1=vt1 vt2=vt2 \
ropen=100T rclosed=100.0m
W2 (R0_MINUS C1_PLUS V3_PLUS 0) relay vt1=vt1 vt2=vt2 \
ropen=100T rclosed=100.0m
W3 (R0_MINUS C3_PLUS V4_PLUS 0) relay vt1=vt1 vt2=vt2 \
ropen=100T rclosed=100.0m

C0 (C0_PLUS 0) capacitor c=16p
C1 (C1_PLUS 0) capacitor c=16p
C2 (C2_PLUS 0) capacitor c=16p
C3 (C3_PLUS 0) capacitor c=16p

simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \
tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 maxnotes=5 maxwarns=5 \
digits=5 cols=80 pivrel=1e-3 sensfile="../psf/sens.output" \
checklimitdest=psf 

pss pss fund=500M harms=0 errpreset=conservative 
+ tstab=200u maxacfreq=5G
+ annotate=status

pac pac start=50M stop=5G lin=1000 maxsideband=0
+ annotate=status

saveOptions options save=allpub
The following is a OCEAN script for plotting.
Code:
psf_dir = strcat("/tmp/", "/hoge.raw")
openResults(psf_dir)
selectResult("pac")

R0_MINUS = harmonic( v("R0_MINUS"), 0 )
plot( db20(R0_MINUS) )

C0_PLUS = harmonic( v("C0_PLUS"), 0 )
C1_PLUS = harmonic( v("C1_PLUS"), 0 )
C2_PLUS = harmonic( v("C2_PLUS"), 0 )
C3_PLUS = harmonic( v("C3_PLUS"), 0 )
Csum_PLUS = C0_PLUS + C1_PLUS + C2_PLUS + C3_PLUS
plot( db20(Csum_PLUS) )
There is no output sampler in your circuit.
So C0_PLUS, C1_PLUS, C2_PLUS and C3_PLUS are all in-phase.
can you please send me your schematic and you pss+pac setup ?
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top