[ibis-macro] Re: Latest version of DC_Offset BIRD

  • From: Walter Katz <wkatz@xxxxxxxxxx>
  • To: <Arpad_Muranyi@xxxxxxxxxx>, "'IBIS-ATM'" <ibis-macro@xxxxxxxxxxxxx>
  • Date: Thu, 29 Aug 2019 12:07:47 -0400 (EDT)

Arpad,

 

The output of Rx AMI_Init is an Impulse Response that is "LTI", but there is
nothing that prevents the Rx AMI_Init function from doing non-LTI
intermediate calculations. This will become apparent when we discuss various
methods I have developed doing BCI type optimization with Init models. The
optimization uses non-LTI techniques that will generate accurate results
when GetWave is run.

 

"Explanation" could go into the "Notes" section of the BIRD or the
introduction section before the BIRD proper.

 

Walter

 

 

Walter Katz

 <mailto:wkatz@xxxxxxxxxx> wkatz@xxxxxxxxxx

Office 978.461-0449 x 133

Mobile  720.417-3762



 

From: ibis-macro-bounce@xxxxxxxxxxxxx <ibis-macro-bounce@xxxxxxxxxxxxx> On
Behalf Of Muranyi, Arpad
Sent: Thursday, August 29, 2019 11:46 AM
To: 'IBIS-ATM' <ibis-macro@xxxxxxxxxxxxx>
Subject: [ibis-macro] Re: Latest version of DC_Offset BIRD

 

Walter,

 

This could go under "Other Notes".  There is no need to create a new heading
"Explanation".

 

I wonder about this sentence:

 

"specifying DC_Offset as an Input to the Rx AMI_Init function allows the Rx
AMI_Init function

and the Rx AMI_GetWave function to account for non-linearities in the
equalization"

 

If I remember correctly, the AMI_Init function can only do LTI algorithms
(while the AMI_GetWave

function can do non-LTI algorithms as well).  If that is correct, the above
sentence needs to be

changed.

 

Thanks,

 

Arpad

============================================================================

 

From: Walter Katz [mailto:wkatz@xxxxxxxxxx] ;
Sent: Wednesday, August 28, 2019 9:03 PM
To: Muranyi, Arpad <Arpad_Muranyi@xxxxxxxxxx
<mailto:Arpad_Muranyi@xxxxxxxxxx> >; 'IBIS-ATM' <ibis-macro@xxxxxxxxxxxxx
<mailto:ibis-macro@xxxxxxxxxxxxx> >
Subject: RE: [ibis-macro] Re: Latest version of DC_Offset BIRD

 

Arpad, Ambrish,

 

Can I suggest the following:

 

Replace

Definition:           The input value of DC_Offset is the mean value of the
steady state high and low voltages of the analog channel step response at
the Rx pad. When the DC_Offset is usage InOut, the output value of DC_Offset
may return a different value by Rx AMI_Init.  This returned value can be
added to the Rx AMI_GetWave output waveform by EDA tools. The sum of
DC_Offset and Rx AMI_GetWave output waveform forms the complete waveform.

With

Definition:           The input value of DC_Offset is the mean value of the
steady state high and low voltages of the analog channel step response at
the Rx pad. 

Explanation:      AMI modeling was original based on differential SerDes
channels. AMI modeling has been extended to handle single ended channels
such as DDR5. The basic assumption has been that the equalization in both
the Tx and Rx AMI models assume that the single ended signal is adjusted so
that the signals are nominally centered around zero. Because the input to
the Rx AMI_Init function is an Impulse Response, specifying DC_Offset as an
Input to the Rx AMI_Init function allows the Rx AMI_Init function and the Rx
AMI_GetWave function to account for non-linearities in the equalization
between the Rx pad and the Rx latch. These non-linearities may occur at the
input differential gain and DFE adder. DC_Offset is also the nominal mean
voltage of the single ended waveform measured at the pad relative to the
ground reference node of the Rx [GND Clamp Reference]. The waveform input to
the Rx AMI_GetWave is nominally centered around zero. Note that "nominally
zero" is used because the actual waveform may not have a balanced number of
high and low states. The waveform output of the Rx AMI_GetWave is the
waveform at the latch relative to the latch threshold. It may be useful for
the user to compare this waveform to a waveform measured or simulated at the
Rx pad whose voltage is relative to the [GND Clamp Reference]. The EDA tool
or user can visualize this by adding to the waveform "mean value of the
steady state high and low voltages of the analog channel step response at
the Rx pad", which is the same value the EDA tool would use to set the input
value of DC_Offset. This adjusted waveform is called the "complete
waveform". If DC_Offset is an InOut, the output value of DC_Offset may
return a different value by Rx AMI_Init or Rx AMI_GetWave function. In this
case the EDA tool or user can creates the "complete waveform"  by adding the
output value of DC_Offset to the waveform.

 

Walter

 

Walter Katz

 <mailto:wkatz@xxxxxxxxxx> wkatz@xxxxxxxxxx

Office 978.461-0449 x 133

Mobile  720.417-3762



 

From: ibis-macro-bounce@xxxxxxxxxxxxx
<mailto:ibis-macro-bounce@xxxxxxxxxxxxx>  <ibis-macro-bounce@xxxxxxxxxxxxx
<mailto:ibis-macro-bounce@xxxxxxxxxxxxx> > On Behalf Of Muranyi, Arpad
Sent: Wednesday, August 28, 2019 7:21 PM
To: 'IBIS-ATM' <ibis-macro@xxxxxxxxxxxxx <mailto:ibis-macro@xxxxxxxxxxxxx> >
Subject: [ibis-macro] Re: Latest version of DC_Offset BIRD

 

Walter,

 

I understand all that, but that's not what I am talking about.

 

I am talking about writing a spec that has no ambiguities, loopholes

and doesn't rely on anecdotal information.  That's all.

 

Thanks,

 

Arpad

====================================================

 

From: ibis-macro-bounce@xxxxxxxxxxxxx
<mailto:ibis-macro-bounce@xxxxxxxxxxxxx>
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Walter Katz
Sent: Wednesday, August 28, 2019 7:26 AM
To: Muranyi, Arpad <Arpad_Muranyi@xxxxxxxxxx
<mailto:Arpad_Muranyi@xxxxxxxxxx> >; 'IBIS-ATM' <ibis-macro@xxxxxxxxxxxxx
<mailto:ibis-macro@xxxxxxxxxxxxx> >
Subject: [ibis-macro] Re: Latest version of DC_Offset BIRD

 

Arpad,

 

If you subtract something, to make it centered around zero, put it through a
filter that keeps it centered around zero the natural thing to do is to
either display the result centered around zero are add back in what you
subtracted in the first place. The bottom line is the result your are about
- BER and Margin do not care whether to added back in the amount you
originally subtracted or not.  The actual value of the waveform output is
meaningless to this analysis.

 

Since the spec clearly says that the waveform output shall be analyzed
around "0", then what engineering decision can be made by shifting the
waveform by any amount as long as one shifts the measurement point ("0") by
the same amount?

 

Walter

 

Walter Katz

 <mailto:wkatz@xxxxxxxxxx> wkatz@xxxxxxxxxx

Office 978.461-0449 x 133

Mobile  720.417-3762



 

From: ibis-macro-bounce@xxxxxxxxxxxxx
<mailto:ibis-macro-bounce@xxxxxxxxxxxxx>  <ibis-macro-bounce@xxxxxxxxxxxxx
<mailto:ibis-macro-bounce@xxxxxxxxxxxxx> > On Behalf Of Muranyi, Arpad
Sent: Tuesday, August 27, 2019 9:52 PM
To: 'IBIS-ATM' <ibis-macro@xxxxxxxxxxxxx <mailto:ibis-macro@xxxxxxxxxxxxx> >
Subject: [ibis-macro] Re: Latest version of DC_Offset BIRD

 

Walter,

 

In that case the BIRD (spec) should state that if the parameter is not
present,

then the model can do anything it wants, and the EDA tool can do anything it

wants (or whatever) when the parameter is not present or is a Usage In.

 

The point is that this is a spec, and we should try to not have ambiguities
in it.

 

Of course, not saying anything about this is equivalent to "do anything you
want",

so let's save some ink and paper by not saying anything and keep people in

suspense, not knowing for sure what the outcome will be.  :)

 

Thanks,

 

Arpad

==============================================================

 

From: Walter Katz [mailto:wkatz@xxxxxxxxxx] ;
Sent: Tuesday, August 27, 2019 8:06 PM
To: Muranyi, Arpad <Arpad_Muranyi@xxxxxxxxxx
<mailto:Arpad_Muranyi@xxxxxxxxxx> >; 'IBIS-ATM' <ibis-macro@xxxxxxxxxxxxx
<mailto:ibis-macro@xxxxxxxxxxxxx> >
Subject: RE: [ibis-macro] Re: Latest version of DC_Offset BIRD

 

Arpad,

 

1.      If DC_Offset is not present, then what our EDA tool does is allow
the user to view the raw output of Rx AMI_GetWave or the "corrected"
waveform by adding "the mean value of the steady state high and low voltages
of the analog channel step response at the Rx pad".
2.      If DC_Offset is an In, then what our EDA tool does is allow the user
to view the raw output of Rx AMI_GetWave or the "corrected" waveform by
adding the value of DC_Offset which happens to be the same number as in 1
above ("the mean value of the steady state high and low voltages of the
analog channel step response at the Rx pad").
3.      If DC_Offset is an InOut, then what our EDA tool will do is allow
the user to view the raw output of Rx AMI_GetWave or the "corrected"
waveform by adding the value of output value of DC_Offset.

 

When this parameter is not present in the .ami file the model can do what it
wants. It does not have to assume anything. The model make wrote his model
with disregard for the "the mean value of the steady state high and low
voltages of the analog channel step response at the Rx pad". See 1 above for
what our EDA tool does. There is not requirement that any other EDA tool
should do.

 

If the EDA tool needs a default, then it is simply "the mean value of the
steady state high and low voltages of the analog channel step response at
the Rx pad".

 

Please remember that this spec has been and should continue to be a
description of the inputs and outputs of a DLL. We have repeatedly stated
that the EDA tool can analyze the outputs of the models any way it wishes
to. Here is where EDA tools can differentiate themselves.

 

Walter

 

Walter Katz

 <mailto:wkatz@xxxxxxxxxx> wkatz@xxxxxxxxxx

Office 978.461-0449 x 133

Mobile  720.417-3762



 

From: ibis-macro-bounce@xxxxxxxxxxxxx
<mailto:ibis-macro-bounce@xxxxxxxxxxxxx>  <ibis-macro-bounce@xxxxxxxxxxxxx
<mailto:ibis-macro-bounce@xxxxxxxxxxxxx> > On Behalf Of Muranyi, Arpad
Sent: Tuesday, August 27, 2019 7:50 PM
To: 'IBIS-ATM' <ibis-macro@xxxxxxxxxxxxx <mailto:ibis-macro@xxxxxxxxxxxxx> >
Subject: [ibis-macro] Re: Latest version of DC_Offset BIRD

 

Thinking about the question of "default" values some more:

 

While we were correct in the meeting that Format Value parameters don't

have defaults according to the spec, I think we still need to define what

value the model and EDA tool should use when this optional parameter is

not present in the .ami file, or what value the EDA tool should use when the

parameter is defined as Usage In.

 

So I think we should say something like this in Usage rules:

 

When this parameter is not present in the .ami file, the Rx algorithmic
model

and the EDA tool should assume a value of 0 volts.  When this parameter is

defined as Usage In, the EDA tool should assume a value of ___ (we need to

decide whether this should be 0 volts, or the input value).

 

Thanks,

 

Arpad

=============================================================

 

 

From: ibis-macro-bounce@xxxxxxxxxxxxx
<mailto:ibis-macro-bounce@xxxxxxxxxxxxx>
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Muranyi, Arpad
Sent: Tuesday, August 27, 2019 6:31 PM
To: 'IBIS-ATM' <ibis-macro@xxxxxxxxxxxxx <mailto:ibis-macro@xxxxxxxxxxxxx> >
Subject: [ibis-macro] Re: Latest version of DC_Offset BIRD

 

Ambrish,

 

Thanks for yet another draft :).

 

The sentence you undeleted:

 

"When the DC_Offset is usage InOut, the output value of DC_Offset may return
a different value by Rx AMI_Init."

 

was deleted because it didn't provide any additional information to what we

already know about InOut parameters, namely that the model can return a

different value from what was passed into the model.  I don't mind keeping

this sentence, as it does no harm, but what is still missing is a real
DEFINITION

for what the MEANING of this output value is.  I thought we made it clear in

our discussion in the meeting that we had to state that the output value was

associated with the Rx GetWave output waveform (as opposed to being

associated with the channel's step response waveform), and I thought you

wrote something into this area during the meeting that I can't find in this

version now.  Why did that disappear?

 

Thanks,

 

Arpad

==============================================================

 

From: ibis-macro-bounce@xxxxxxxxxxxxx
<mailto:ibis-macro-bounce@xxxxxxxxxxxxx>
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Ambrish Varma
Sent: Tuesday, August 27, 2019 4:20 PM
To: 'IBIS-ATM' <ibis-macro@xxxxxxxxxxxxx <mailto:ibis-macro@xxxxxxxxxxxxx> >
Subject: [ibis-macro] Latest version of DC_Offset BIRD

 

Hi All,

Attached is the latest version of the BIRD after today's discussion and
edits in the meeting.

I have deleted 1 more line in the Usage Rules as it felt redundant. 

I also undeleted this line: 'When the DC_Offset is usage InOut, the output
value of DC_Offset may return a different value by Rx AMI_Init.' 

as it clearly says how the DC_Offset value is returned (in the AMI_Init).

 

Please let me know if there are any comments/questions.

 

Thanks,

Ambrish.

JPEG image

Other related posts: