[ibis-macro] Re: Jitter BIRD issues, and Buffer Tstonefile Issues

  • From: "Walter Katz" <wkatz@xxxxxxxxxx>
  • To: <fangyi_rao@xxxxxxxxxxx>, <ibis-macro@xxxxxxxxxxxxx>
  • Date: Fri, 02 Dec 2011 13:01:24 -0500 (EST)

Fangyi,

 

Then this is an ISS subckt that contains a Touchstone file.

 

As I proposed in my proposed enhancement to BIRD 122, that the .ami file
(or .ibs file) will call for an Intrinsic_Tstonefile_Tx,
Intrinsic_Tstonefile_Rx, Intrinsic_Tx, Intrinsic_Rx, or an ISS subckt.

 

In the case of Intrinsic_Tstonefile_Tx and Intrinsic_Tstonefile_Rx the
Tstonefiles will be constructed as below. The Intrinsic_Tx and
Intrinsic_Rx are the following ISS subckts:

 

.subckt Intrinsic_Tx DieP PadP DieN PadN Rt=1Meg Rs=1Meg Cc=0.

+ Vt=0. Cac=0. Rac=1Meg Rd=1Meg Cd=0.

E_H EDieP 0 VCVS DieP 0 1.

E_L EdieN 0 VCVS DieN 0 1.

R_Rs_H EDieP PadP R='Rs'

R_Rs_L EDieN PadN R='Rs'

R_Rd PadP PadN R='Rd'

C_Rd PadP PadN C='Cd'

R_Rt_H PadP Vt R='Rt'

R_Rt_H PadN Vt R='Rt'

V_Vt Vt 0 DC='Vt'

C_Cc_H PadP 0 C='Cc'

C_CC_L PadN 0 C='Cc'

R_ac PadP Nac R='Rac'

C_ac PadN Nac C='Cac'

.ends Intrinsic_Tx

 

.subckt Intrinsic_Rx PadP DieP PadN DieN

+ Rt=1Meg Cc=0. Vt=0. Cac=0. Rac=1Meg Rd=1Meg Cd=0.

E_H DieP 0 VCVS PadP 0 1.

E_L DieN 0 VCVS PadN 0 1.

R_Rd PadP PadN R='Rd'

C_Rd PadP PadN C='Cd'

R_Rt_H PadP Vt R='Rt'

R_Rt_H PadN Vt R='Rt'

V_Vt Vt 0 DC='Vt'

C_Cc_H PadP 0 C='Cc'

C_CC_L PadN 0 C='Cc'

R_ac PadP Nac R='Rac'

C_ac PadN Nac C='Cac'

.ends Intrinsic_Rx

 

If an model developer cannot use any of the above templates he can create
a .iss subckt that can contain Tstonefiles and terminations as you request
below.

 

Does not what I propose require minimum effort for the model developer and
EDA tool when the analog model can be represented by one of these
intrinsic models, and also allow the user to define a .iss subckt when the
analog buffer cannot be represented by an intrinsic buffer analog model?

 

Walter

 

From: fangyi_rao@xxxxxxxxxxx [mailto:fangyi_rao@xxxxxxxxxxx] 
Sent: Friday, December 02, 2011 12:44 PM
To: wkatz@xxxxxxxxxx; ibis-macro@xxxxxxxxxxxxx
Subject: RE: [ibis-macro] Jitter BIRD issues, and Buffer Tstonefile Issues

 

Walter;

 

It's fine to include termination in S-parameters. A more flexible approach
is to treat S-parameter as one of the circuit components in the analog
circuit. Explicitly mandating tools to ignore S12 forbids such
flexibility.

 

Fangyi

 

From: Walter Katz [mailto:wkatz@xxxxxxxxxx] 
Sent: Friday, December 02, 2011 9:33 AM
To: RAO,FANGYI (A-USA,ex1); ibis-macro@xxxxxxxxxxxxx
Subject: RE: [ibis-macro] Jitter BIRD issues, and Buffer Tstonefile Issues

 

Fangyi,

 

The Rx Touchstone file includes the Rx termination! S21 is the signal
propagated to the AMI algorithmic model, S11 is the signal reflected back
to the channel. S12 is ignored by the EDA tool. One way to accommodate
this in some SPICE simulators is to put a Unit Gain Amplifier (E element)
between the output of the s parameter element and the SPICE "probe" at the
output of the  Touchstone file. (I am assuming that port 1 is at the pad
of the die, and port 2 is at the input to the algorithmic block of the Rx.

 

Does this explanation clearly define the derivation method that the model
developer uses to create the Tstonefile, and the method the EDA tool uses
to generate the Impulse Response of the channel when a Tstonefile is used
by either the Tx and/or Rx?

 

Walter

 

From: fangyi_rao@xxxxxxxxxxx [mailto:fangyi_rao@xxxxxxxxxxx] 
Sent: Friday, December 02, 2011 11:50 AM
To: wkatz@xxxxxxxxxx; ibis-macro@xxxxxxxxxxxxx
Subject: RE: [ibis-macro] Jitter BIRD issues, and Buffer Tstonefile Issues

 

Walter;

 

Termination is part of the Rx circuit. Only IC vendor knows it. EDA tool
doesn't. If the tool arbitrarily terminates S-parameter block, the circuit
is altered and you get different reflection back to Rx and channel. The
ISS BIRD (116) allows the flexibility for model developers to define any
termination they want because S-parameter block is just one of the circuit
components in the analog model.

 

Fangyi

 

From: Walter Katz [mailto:wkatz@xxxxxxxxxx] 
Sent: Thursday, December 01, 2011 7:05 PM
To: RAO,FANGYI (A-USA,ex1); ibis-macro@xxxxxxxxxxxxx
Subject: RE: [ibis-macro] Jitter BIRD issues, and Buffer Tstonefile Issues

 

Fangyi,

 

Why not let the EDA tool decide how to terminate it, based on the
simulator being used?

 

Walter

 

From: fangyi_rao@xxxxxxxxxxx [mailto:fangyi_rao@xxxxxxxxxxx] 
Sent: Thursday, December 01, 2011 9:04 PM
To: wkatz@xxxxxxxxxx; ibis-macro@xxxxxxxxxxxxx
Subject: RE: [ibis-macro] Jitter BIRD issues, and Buffer Tstonefile Issues

 

Hi, Walter;

 

Regarding touchstone file, the Rx E element is equivalent to terminating
the Rx S-parameter block with open. Since some internal tools used by IC
vendors don't assume the same termination condition, it's better to allow
model developers to specify termination to avoid confusion when
correlating with internal tools.

 

Regards,

Fangyi

 

From: ibis-macro-bounce@xxxxxxxxxxxxx
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Walter Katz
Sent: Tuesday, November 29, 2011 2:31 PM
To: IBIS-ATM
Subject: [ibis-macro] Jitter BIRD issues, and Buffer Tstonefile Issues

 

All,

 

The remaining major issue is the handling of Rx_Rj, Rx_DCD, and Rx_Sj.

1.       It has been requested that Rx_Dj be added.

2.       First a discussion on how the Rx clock is handled in the
following two cases

a.       Time Domain

                                                               i.      Rx
AMI_GetWave returns clock ticks in *clock_times.

b.      Statistical

                                                               i.      Rx
AMI_GetWave does not return clock ticks in *clock_times.

                                                             ii.
Using Rx AMI_Init

3.       The current BIRD 123 states that Rx_Rj, Rx_DCD, and Rx_Sj shall
be applied to both Time Domain and Statistical methods.

a.       In Time Domain, Rx_Rj, Rx_DCD, and Rx_Sj can be applied to times
in clock_times, statistically to the clock_times PDF, or statistically to
the persistent eye.

b.      In Statistical, Rx_Rj, Rx_DCD, and Rx_Sj are combined
statistically along with Rx_Clock_PDF, Rx_Clock_Recovery_Rj,
Rx_Clock_Recovery_DCD, and Rx_Clock_Recovery_Sj.

4.       It has been suggested that Rx_Rj, Rx_DCD, and Rx_Sj shall apply
to just Time Domain.

a.       In Time Domain, Rx_Rj, Rx_DCD, and Rx_Sj can be applied to times
in clock_times, statistically to the clock_times PDF, or statistically to
the persistent eye.

b.      In Statistical, only Rx_Clock_PDF, Rx_Clock_Recovery_Rj,
Rx_Clock_Recovery_DCD, and Rx_Clock_Recovery_Sj are applied.

 

Regarding Tstonefile.

1.       Fangyi and I agreed the there is no requirement that S12=S21, and
that S21 can be small or zero.

2.       Fangyi and I agreed that the input to the Tx, and the output of
the Rx S element be isolated with a unit gain amplifier (E element) as in
the following example of a Tx Tstonefile wrapped in an ISS subckt:

a.  .subckt Intrinsic_Tstonefile_Tx DieP PadP DieN PadN file='NA'

b.  * Port order of Touchstone file is DieP PadP DieN PadN

c.  E_H EDieP 0 VCVS DieP 0 1.

d.  E_L EdieM 0 VCVS DieN 0 1.

e.  S1 EDieP PadP EDieN PadN 0 mname=A 

f.  .model A TSTONEFILE=file 

g.  .ends Intrinsic_Tstonefile_Tx

3.       There are now three proposals to implement Tstonefile in .ibs
and/or .ami files.

a.       BIRD 120 proposes the following example, where  (Voh-Vol) = Peak
to Peak voltage swing:

 
i.      (Tstonefile (List "xwc.s4p" "wc.s4p" "nc.s4p" "bc.s4p" "xwc.s4p") 

 
ii.      (Usage Info) (Type String) 

 
iii.      (Description "Extreme Worst, Worst, Nominal, Best, Extreme
Best"))

 
iv.      (Vol  (Value 0.) (Usage Info)(Type Float))

 
v.      (Voh (Range 1 .3 1.2) (Usage Info)(Type Float))

b.      There are a number of BIRDs submitted by Arpad and Ambrish. I have
requested that the above example be implemented using the syntax proposed
in these alternative BIRDs.

 

Walter

 

 

Walter Katz

wkatz@xxxxxxxxxx

Phone 303.449-2308

Mobile 720.333-1107

 

Other related posts: