[SI-LIST] Re: Common-mode return loss in Hspice

  • From: "Loyer, Jeff" <jeff.loyer@xxxxxxxxx>
  • To: <Tae-Kwang.Jeon@xxxxxxxx>
  • Date: Tue, 30 May 2006 13:53:10 -0700

An alternative, if you'd like to print the results out directly in
AWAVES, might be to use the code below (you'll substitute the
appropriate equations for SCC11 instead of SDD21).

sdd21_example

.param trace_L=3D10
.option probe $ reduce unwanted output
.options INGOLD=3D1 $ use scientific notation vs. "Meg"
.AC Lin  800  30K 20G

.subckt myTline p1_in   n1_in
+               p1_out  n1_out

W_myTline_coupled   p1_in       n1_in   0
+                   p1_out      n1_out  0
+                   RLGCfile=3Dsdd21_example.rlc N=3D2 L=3Dtrace_L
.ends myTline

**** Stimulus at port1
V_src_1 N_src_1 0 DC=3D0 ac 2 $ 0VDC, 2VAC (will get divided by 2 by
source R)
R_src_1 N_src_1 N_port1_1 R=3D50
**** Terminate Ports
R_load_port2_1 N_port2_1 0 R=3D50
R_load_port3_1 N_port3_1 0 R=3D50
R_load_port4_1 N_port4_1 0 R=3D50
X_Tline_1   N_port1_1   N_port3_1
+           N_port2_1   N_port4_1
+           myTline
**** Calculate S11 (not used here, but want to provide the algorithm)
E_s11_port1 N_s11_src_1 0 N_port1_1 0 1 $ copy port1=20
V_s11_vsrc  N_s11_src_1 N_s11 DC=3D0 ac 1 $ subtract original voltage
R_s11 N_s11 0 R=3D1

**** Stimulus at port3 (not needed for reciprocal, symmetric system)
V_src_3 N_src_3 0 DC=3D0 ac 2 $ 0VDC, 2VAC (will get divided by 2 by
source R)
R_src_3 N_src_3 N_port3_3 R=3D50
**** Terminate Ports
R_load_port1_3 N_port1_3 0 R=3D50
R_load_port2_3 N_port2_3 0 R=3D50
R_load_port4_3 N_port4_3 0 R=3D50
X_Tline_3   N_port1_3   N_port3_3
+           N_port2_3   N_port4_3
+           myTline=3D20

**** SDD21 =3D 1/2 (S21 - S41 - S23 + S43)
e_sdd21a N_sdd21a  0        N_port2_1 0 1 $ copy S21
e_sdd21b N_sdd21a  N_sdd21b  N_port4_1 0 1 $ subtract S41
e_sdd21c N_sdd21b  N_sdd21c  N_port2_3 0 1 $ subtract S23=20
e_sdd21d N_sdd21d  N_sdd21c  N_port4_3 0 1 $ add S43
r_sdd21a N_sdd21d  N_sdd21 R=3D1   $ divide result by 2
r_sdd21b N_sdd21 0 R=3D1

**** For reciprocal, symmetric systems, SDD21 is mag(S21 - S41)
e_sdd21syma  N_sdd21syma 0 N_port2_1 0 1 $ copy S21=20
e_sdd21symb  N_sdd21syma N_sdd21sym N_port4_1 0 1 $ subtract S41
r_sdd21sym   N_sdd21sym 0 R=3D1
**.print vdb(N_sdd21sym)

**.print vm(N_sdd21) vp(N_sdd21) vdb(N_sdd21)=20
.print vdb(N_sdd21)=20
**.print vdb(N_s11)

.END



Jeff Loyer


-----Original Message-----
From: si-list-bounce@xxxxxxxxxxxxx [mailto:si-list-bounce@xxxxxxxxxxxxx]
On Behalf Of Tracy Barclay
Sent: Tuesday, May 30, 2006 10:57 AM
To: Tae-Kwang.Jeon@xxxxxxxx
Cc: si-list@xxxxxxxxxxxxx
Subject: [SI-LIST] Re: Common-mode return loss in Hspice

Hi TK,

There is a much easier and more effective way to do this.  HSPICE
supports extracting both common (beginning in 2003.09) and mixed mode
S-parameters (beginning in 2004.03) using the linear analysis command
(.LIN).  Unlike the .NET command, the .LIN command extracts noise and
linear transfer parameters for a general multi-port network, not just 1
or 2 ports.  The .LIN command is used in conjunction with the .AC
analysis command and automatically calculates a series of noise and
small-signal transfer parameters between the terminals identified using
port (P) elements.  The results can be output to a .sc* file, a
Touchstone file, or a CITIfile.

.OPTIONS  post

Xline1  vcm_in1  vcm_in2  vcm_out1  vcm_out2  0 trace1

* Define differential port elements.  Reference node is 3rd node.
P1 vcm_in1 vcm_in2 0 port=3D3D1  ac=3D3D1                    $ input =
port
element, default z0=3D3D50, AC magnitude=3D3D1
P2 vcm_out1 vcm_out2 0 port=3D3D2                         $ input port
element, default z0=3D3D50

* Define linear analysis.  Output common mode S-parameters
(mixedmode2port keyword) in Touchstone format.
.LIN  format=3D3Dtouchstone mixedmode2port=3D3Dcc
.AC     lin  1k  10meg  10000meg
.PROBE  scc11(db)

.SUBCKT trace1  in1     in2     out1    out2    Vss
Wline1          in1     in2     Vss     out1    out2     Vss
+ RLGCFILE=3D3D 'my_trace.rlc'    N=3D3D2 L=3D3D.049
.ENDS

.END

Please email me directly if you have any further questions about this.

Tracy Barclay
CAE
Synopsys

-----Original Message-----
From: si-list-bounce@xxxxxxxxxxxxx [mailto:si-list-bounce@xxxxxxxxxxxxx]
On Behalf Of Jeon, Tae-Kwang
Sent: Friday, May 26, 2006 19:45
To: si-list@xxxxxxxxxxxxx
Subject: [SI-LIST] Common-mode return loss in Hspice

Hello all,
=3D20

I'm trying to simulate common-mode return loss in hspice, and want to
double check my simulation with you because the result showed me was
somewhat different than what I expected over 100MHz ~ 10GHz.

First of all, below is my simple diagram implemented in the spice deck.

       =3D20

         Port1                                         Port2


            + -------[[[[[[[[[[[[[[[[[[[[[[[[[[[[[-------+

      +----+                 dif'l traces             +-------+

       |    +--------[[[[[[[[[[[[[[[[[[[[[[[[[[[[[-------+        |

    ((V))  common-mode                                /////

       |     input voltage source

     /////

=3D20

Since I assume that both source impedance and the load impedance are
50ohms, I put 25ohms of Zcm to Rin and Rout variable as shown in the
input file below. So, here are my questions to ask.

=3D20

1. Is my diagram is reasonable for scc11 measurement?

2. What impedance value should both Rin and Rout have in the .NET
statement. Is it Zo, Zeven or Zcm? If I set it to Zo(=3D3D50ohms), I =
have
6dB less loss than I expected. My W-elements model was based on dif'l
traces having roughly 70ohms of even mode impedance, which is Zcm =3D3D
Zeven/2 =3D3D 35ohms, although the odd mode impedance is ~53ohms.
Interestingly, If I set both Rin and Rout in .NET statement to
35ohms(=3D3DZcm of trace), then it resulted in exactly what I expected. =
So
=3D I want to clarify what is the right setting.

3. Is it right to use Sij(db) rather than either Sij(m) or Sij(r) for
the simple math like scc11=3D3D(s11+s21+s12+s22)/2?

=3D20

*My spice deck

Vin vcm_in 0  AC=3D3D1

=3D20

Xline1  vcm_in  vcm_in  vcm_out  vcm_out  0 trace1

=3D20

Rdummy  vcm_out  0  1meg

=3D20

.OPTIONS  accurate post=3D3D2  probe

.NET    v(vcm_out) Vin Rin=3D3D25  Rout=3D3D25

.AC     lin  1k  10meg  10000meg

.PROBE  scc11=3D3Dpar('(s11(db)+s21(db)+s12(db)+s22(db))/2')

=3D20

.SUBCKT trace1  in1     in2     out1    out2    Vss

Wline1          in1     in2     Vss     out1    out2     Vss

+RLGCFILE=3D3D 'my_trace.rlc'    N=3D3D2 L=3D3D.049

.ENDS

.END

=3D20

Thanks,

TK

=3D20


------------------------------------------------------------------
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:
//www.freelists.org/webpage/si-list

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

List FAQ wiki page is located at:
                http://si-list.org/wiki/wiki.pl?Si-List_FAQ

List technical documents are available at:
                http://www.si-list.org

List archives are viewable at:    =3D20
                //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
 =3D20

------------------------------------------------------------------
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:
//www.freelists.org/webpage/si-list

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

List FAQ wiki page is located at:
                http://si-list.org/wiki/wiki.pl?Si-List_FAQ

List technical documents are available at:
                http://www.si-list.org

List archives are viewable at:    =20
                //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
 =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:
//www.freelists.org/webpage/si-list

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

List FAQ wiki page is located at:
                http://si-list.org/wiki/wiki.pl?Si-List_FAQ

List technical documents are available at:
                http://www.si-list.org

List archives are viewable at:     
                //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
  

Other related posts: