Go to the FreeLists Home Page Home Signup Help Login
 



[si-list] || [Date Prev] [11-2002 Date Index] [Date Next] || [Thread Prev] [11-2002 Thread Index] [Thread Next]

[SI-LIST] AC Analysis in Hspice

  • From: "Loyer, Jeff" <jeff.loyer@xxxxxxxxx>
  • To: "Signal Integrity Mailing List" <si-list@xxxxxxxxxxxxx>
  • Date: Fri, 1 Nov 2002 13:29:44 -0800
> I came upon a problem and wondered if any of you have seen something =
similar (and hopefully know of a fix).
>=20
> I normally use the ".NET" statement in Hspice to easily extract my S* =
parameters from simulations.  As an exercise to further my =
understanding, I decided to do the same thing manually.  I was able to =
do this for S21, but I can't get it to work for S11.  I've checked my =
theory with co-workers, and we can't find anything.  I suspect there's =
some quirk with Hspice's AC analysis (or some option I'm not setting =
right).
>=20
> In the spice deck below, I set up 3 circuits. =20
> The first (nodes have "net" in them) uses Hspice's ".NET" statement to =
print the S* parameters.
> The second (nodes have "dir" in them) should give me the same results, =
by comparing the resultant voltage to the input voltage.
> The third (nodes have "ref" in them) is a reference circuit that I use =
to determine my input voltages for the second circuit.
>=20
> It doesn't work.  A plot of S11 magnitude (from the ".PRINT AC S11(m)" =
statement) doesn't agree with a plot of the parameter "s11m" (supposed =
to be the same thing, derived manually).
>=20
> It does work for S21 magnitude and phase.
>=20
> The spice deck is:
>=20
> * Experiment to derive S parameters directly
>=20
> .AC Lin  800  30K 6G
> .PRINT AC S11(m)
> .NET V(N_nettrm) V_netsrc ROUT=3D50 RIN=3D50
> *.PRINT AC S21(db) S21(p) S11(db) s11(p)
>=20
> V_netsrc  N_netvs   0 ac=3D1 dc=3D0
> T_net1    N_netvs   0  N_nettrm   0 td=3D100pS Z0=3D35
> R_nettrm  N_nettrm  0 R=3D50Meg
>=20
> V_dirsrc  N_dirvs   0  ac=3D1 dc=3D0
> R_dirin   N_dirvs   N_dirsrc r=3D50
> T_dir1    N_dirsrc  0  N_dirtrm   0 td=3D100pS Z0=3D35
> R_dirtrm  N_dirtrm  0 R=3D50
>=20
> V_refsrc  N_refvs   0 ac=3D1 dc=3D0
> R_refin   N_refvs   N_reftrm R=3D50
> R_reftrm  N_reftrm 0 R=3D50
>=20
> .print s11m=3Dpar('(v(N_dirsrc)-v(N_reftrm))/v(N_reftrm)')
> *.print s21m=3Dpar('v(N_dirtrm)/v(N_reftrm)')
>=20
> *.print s11db=3Dpar('20*log10((v(N_dirsrc)/v(N_vrefsrc)))')
> *.print s11p=3Dpar('(vp(N_dirsrc)-vp(N_vrefsrc))')
> *.print s21db=3Dpar('20*log10((v(N_dirtrm)/v(N_reftrm)))')
> *.print s21p=3Dpar('(vp(N_dirtrm)-vp(N_vreftrm))')
>=20
> .END
>=20
> Jeff Loyer
>=20
------------------------------------------------------------------
To unsubscribe from si-list:
si-list-request@xxxxxxxxxxxxx with 'unsubscribe' in the Subject field

or to administer your membership from a web page, go to:
http://www.freelists.org/webpage/si-list

For help:
si-list-request@xxxxxxxxxxxxx with 'help' in the Subject field

List archives are viewable at:     
                http://www.freelists.org/archives/si-list
or at our remote archives:
                http://groups.yahoo.com/group/si-list/messages 
Old (prior to June 6, 2001) list archives are viewable at:
                http://www.qsl.net/wb6tpu
  





[ Home | Signup | Help | Login | Archives | Lists ]

All trademarks and copyrights within the FreeLists archives are owned by their respective owners.
Everything else ©2007 Avenir Technologies, LLC.