[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:
http://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
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
=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:
http://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
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
=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 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:
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
Other related posts: