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