[ibis-macro] Re: Summary of discussion about BIRD 166.2

  • From: "Muranyi, Arpad" <Arpad_Muranyi@xxxxxxxxxx>
  • To: IBIS-ATM <ibis-macro@xxxxxxxxxxxxx>
  • Date: Tue, 16 May 2017 17:37:56 +0000

Hello Everybody,

I have a slightly higher level observation/comment on all this.

To me it seems that the real problem we have is that we allowed signal 
processing
in the Init function.  As a result we need to deal with the various 
combinations of
whether the Init function returns a modified IR or not and whether GetWave
exists or not, and whether GetWave duplicates what the Init function does.  This
results in a lot of possible combinations and as we saw it in Walter’s 
presentation,
the total number of combinations increases exponentially when we have multiple
channels connected by repeaters.

I think if we made a somewhat radical change and used Init ONLY for what its 
name
says, for initialization purposes, and do ALL signal processing in the GetWave 
function
(or perhaps a NewName function), we could eliminate a lot of these problems. I
understand that we would still need to make provisions for the statistical and 
bit
by bit flows (IR processing vs. waveform processing), but if all of that is 
placed into
one function, we would not have the question of whether the same filter bock is
duplicated in two different functions or not.  It seems that this “duplicate or 
not”
issue is a big part of our problem, and perhaps eliminating that could help us 
to
start making some progress in solving the rest of the flow issues (mixing 
statistical
or bit by bit flows/models).

Just a thought…

Thanks,

Arpad
===================================================================

From: ibis-macro-bounce@xxxxxxxxxxxxx [mailto:ibis-macro-bounce@xxxxxxxxxxxxx] ;
On Behalf Of Walter Katz
Sent: Tuesday, May 16, 2017 7:32 AM
To: RAO,FANGYI (K-USA,ex1) <fangyi_rao@xxxxxxxxxxxx>; Bob Miller (APD) 
<bob.miller@xxxxxxxxxxxx>
Cc: IBIS-ATM <ibis-macro@xxxxxxxxxxxxx>
Subject: [ibis-macro] Re: Summary of discussion about BIRD 166.2

Fangyi,

Actually not. I choose to not DOCUMENT a flow when the terminus Rx has a 
GetWave and any one of the upstream Rx are Init-Only. The EDA tool need not 
discard them, there are numerous flows that the EDA tool can use.

Secondly, any of the upstream Rx can be converted to Dual by the model maker. 
What you have proposed in your BIRD is to add IR outputs to the AMI_Init 
function so that an EDA tool can implement a proxy AMI GetWave, which as I said 
in the previous line the model maker can do as easily in IBIS 6.1 by instead of 
adding these IR to the AMI_Init output, storing these IR in the 
AMI_model_memory, and implementing an AMI_GetWave which does the trivial job of 
convolving these IR with the AMI_GetWave input.

Walter

Walter Katz
wkatz@xxxxxxxxxx<mailto:wkatz@xxxxxxxxxx>
Phone 303.449-2308
Mobile 303.335-6156
From: RAO,FANGYI (K-USA,ex1) [mailto:fangyi_rao@xxxxxxxxxxxx]
Sent: Tuesday, May 16, 2017 2:56 AM
To: Bob Miller (APD) <bob.miller@xxxxxxxxxxxx<mailto:bob.miller@xxxxxxxxxxxx>>; 
Walter Katz <wkatz@xxxxxxxxxx<mailto:wkatz@xxxxxxxxxx>>
Cc: IBIS-ATM <ibis-macro@xxxxxxxxxxxxx<mailto:ibis-macro@xxxxxxxxxxxxx>>
Subject: RE: [ibis-macro] Re: Summary of discussion about BIRD 166.2

Bob,

The revision in BIRD166.3 is asking the EDA tool to discard all the GetWave 
functions in the system, including those in your models, if one Init-only model 
is present, even for valid combinations of Init-only and dual models.

Regards,
Fangyi

From: Bob Miller (APD) [mailto:bob.miller@xxxxxxxxxxxx]
Sent: Thursday, May 11, 2017 8:03 AM
To: Walter Katz <wkatz@xxxxxxxxxx<mailto:wkatz@xxxxxxxxxx>>
Cc: RAO,FANGYI (K-USA,ex1) 
<fangyi_rao@xxxxxxxxxxxx<mailto:fangyi_rao@xxxxxxxxxxxx>>; IBIS-ATM 
<ibis-macro@xxxxxxxxxxxxx<mailto:ibis-macro@xxxxxxxxxxxxx>>
Subject: Re: [ibis-macro] Re: Summary of discussion about BIRD 166.2

So I need a bit of clarification:

Does Walter's tweak eliminate Fangyi's objection?

 Fangvi?

Regards,

Bob

On Thu, May 11, 2017 at 7:58 AM, Walter Katz 
<wkatz@xxxxxxxxxx<mailto:wkatz@xxxxxxxxxx>> wrote:
Fangyi,

I would like to reference what the Redriver/Retimer flow says about the time 
domain flow:

Step 7. The simulation platform performs simulation on the upstream channel, 
which consists of Tx1, physical channel 1, and Rx1, according to the AMI flow 
defined in the specification for channels without Repeaters.
Step 8a. Redriver: The simulation platform uses the signal waveform at the 
output end of Rx1’s algorithmic model in step 7, regardless whether Rx1’s 
AMI_GetWave exists or not, as the stimulus of Tx2’s algorithmic model, 
regardless whether Tx2’s AMI_GetWave exists or not, and performs simulation on 
the downstream channel, which consists of Tx2, physical channel 2 and Rx2, 
according to the AMI flow defined in the spec for channels without Redrivers.
Step 8b. Retimer: The simulation platform samples the output waveform of 
Retimer Rx AMI_GetWave at ½ UI after each clock tick returned by the function, 
generates a digital stimulus as the input to Tx2’s algorithmic model, 
regardless whether Tx2’s AMI_GetWave exists or not, and performs simulation on 
the downstream channel, which consists of Tx2, physical channel 2 and Rx2, 
according to the AMI flow defined in the spec for channels without Redriver. 
The logic level of the digital stimulus is 1 if sampled value >= Rx1’s 
Rx_Receiver_Sensitivity and 0 if sampled value <= •Rx1’s 
Rx_Receiver_Sensitivity. If  –Rx1’s Rx_Receiver_Sensitivity < sampled value < 
Rx1’s Rx_Reciver_Sensitivity, the logic level is unchanged from the previous 
bit. The digital stimulus has values of -½ volt for logic 0 and +½ volt for 
logic 1.

The flow that Fangyi refers to (highlighted RED) when Tx2 and Rx2 do not have 
an AMI_GetWave is on page 178.

Step 6c. If Tx GetWave_Exists is False and Rx GetWave_Exists is False, the 
output of Step 4 is convolved with the output of Step 3 by the EDA tool and the 
result is passed on to Step 8.
      Where
Step 3. The output of Step 2 is presented to the Rx executable model file’s 
AMI_Init function and the Rx AMI_Init function is executed.  The Rx AMI_Init 
function may modify the impulse response or choose to leave it unchanged.
Step 4. The EDA tool produces a digital stimulus waveform.  A digital stimulus 
waveform is 0.5 when the stimulus is "high", -0.5 when the stimulus is "low", 
and may have a value between -0.5 and 0.5 such that transitions occur when the 
stimulus crosses 0.

Where does this digital stimulus come from. There is only one digital stimulus 
in the Redriver Channel, it is the digital stimulus that is the input to Tx1. 
When this stimulus is convolved with the IR output of Rx2 then all works 
perfectly well.

Fangyi has represented the meaning of “according to the AMI flow defined in the 
spec for channels without Redrivers” as using the non-digital stimulus output 
of Rx1 as the waveform to convolve with the output of Rx2 AMI_Init, but the 
“spec for channels without Redrivers” call for convolving the output of Rx 
AMI_Init with a digital stimulus.

The following corrects step 8a in the existing IBIS 6.1 specification to 
clarify that there are two cases for time domain simulations. One with Rx1, 
Tx1, Tx2 and Rx2 having an AMI_GetWave, and one with Rx1, Tx1, Tx2 or Rx2 not 
having an AMI_GetWave. Note that the time domain flow in the second case will 
not include any of the AM_GetWave functions that do exist. Unless Rx1, Tx1, Tx2 
and Rx2 are Dual Models any Redriver flow is problematic. It should be noted 
that any AMI_Init only model can be enhanced to include an AMI_GetWave. An 
alternative solution to this is to enhance IBIS to include additional IR 
outputs of AMI_Init that describes the equalization of the model so that the 
simulator can implement a proxy AMI_GetWave function when the AMI_GetWave 
function does not exist.

Step 8a. Redriver when Tx1, Rx1, Tx2 and Rx2 have AMI_GetWave: The simulation 
platform uses the signal waveform at the output end of Rx1’s algorithmic model 
in step 7  as the stimulus of Tx2’s algorithmic model  and performs simulation 
on the downstream channel, which consists of Tx2, physical channel 2 and Rx2, 
according to the AMI flow defined in the spec for channels without Redrivers.
Step 8b. Redriver when Tx1, Rx1, Tx2 or Rx2 do not have AMI_GetWave: The output 
of Step 4 according to the AMI flow defined in the specification for channels 
without Repeaters. is convolved with the output of Step 6a by the EDA tool and 
the result is passed on to Step 8 according to the AMI flow defined in the 
specification for channels without Repeaters.
Step 8c. Retimer: The simulation platform samples the output waveform of 
Retimer Rx AMI_GetWave at ½ UI after each clock tick returned by the function, 
generates a digital stimulus as the input to Tx2’s algorithmic model, 
regardless whether Tx2’s AMI_GetWave exists or not, and performs simulation on 
the downstream channel, which consists of Tx2, physical channel 2 and Rx2, 
according to the AMI flow defined in the spec for channels without Redriver. 
The logic level of the digital stimulus is 1 if sampled value >= Rx1’s 
Rx_Receiver_Sensitivity and 0 if sampled value <= •Rx1’s 
Rx_Receiver_Sensitivity. If  –Rx1’s Rx_Receiver_Sensitivity < sampled value < 
Rx1’s Rx_Reciver_Sensitivity, the logic level is unchanged from the previous 
bit. The digital stimulus has values of -½ volt for logic 0 and +½ volt for 
logic 1.

Walter


Walter Katz
wkatz@xxxxxxxxxx<mailto:wkatz@xxxxxxxxxx>
Phone 303.449-2308<tel:(303)%20449-2308>
Mobile 303.335-6156<tel:(303)%20335-6156>
From: ibis-macro-bounce@xxxxxxxxxxxxx<mailto:ibis-macro-bounce@xxxxxxxxxxxxx
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx<mailto:ibis-macro-bounce@xxxxxxxxxxxxx>]
 On Behalf Of RAO,FANGYI (K-USA,ex1)
Sent: Thursday, May 11, 2017 3:31 AM
To: IBIS-ATM <ibis-macro@xxxxxxxxxxxxx<mailto:ibis-macro@xxxxxxxxxxxxx>>
Subject: [ibis-macro] Re: Summary of discussion about BIRD 166.2

All,

One unanimous agreement reached at the May 9 ATM that is missing in Walter’s 
summary is that BIRD166.2 introduces artificial inflation of redirver 
nonlinearity (e.g. limiting mode and compression), noise and crosstalks.

BTW, GetWave-only is a model problem but not a flow problem.

Regards,
Fangyi

From: ibis-macro-bounce@xxxxxxxxxxxxx<mailto:ibis-macro-bounce@xxxxxxxxxxxxx
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Walter Katz
Sent: Wednesday, May 10, 2017 5:16 AM
To: IBIS-ATM <ibis-macro@xxxxxxxxxxxxx<mailto:ibis-macro@xxxxxxxxxxxxx>>
Subject: [ibis-macro] Summary of discussion about BIRD 166.2

All,

Let me summarize the discussion we had on May 9 about BIRD 166.2 by describing 
five scenarios, and then some concluding remarks.

Scenario 1, all four AMI models in the Redriver flow (Tx1, Rx1, Tx2, Rx2) are 
Init Only models.
The current flow in IBIS 6.1 is flawed because the Rx2 AMI_Init function does 
not receive the complete IR input to properly determine its equalization.
There is unanimous agreement that BIRD 166.2 fixes this for statistical 
simulations.

Scenario 2, all four AMI models in the Redriver flow (Tx1, Rx1, Tx2, Rx2) are 
Dual models.
The current flow in IBIS 6.1 is flawed because the Rx2 AMI_Init function does 
not receive the complete IR input to properly determine its equalization.
There is unanimous agreement that BIRD 166.2 fixes this for both statistical 
and time domain simulations.

Scenario 3, the Tx1 and Rx1 AMI models are Dual Models and the Tx and Rx2) are 
Init Only models.
The current flow in IBIS 6.1 is flawed because the Rx2 AMI_Init function does 
not receive the complete IR input to properly determine its equalization.
There is unanimous agreement that BIRD 166.2 fixes the statistical flow, but 
the time domain flow remains problematic.

Scenario 4, all four AMI models in the Redriver flow (Tx1, Rx1, Tx2, Rx2) are a 
combination of Init Only and Dual models.
The current flow in IBIS 6.1 is flawed because the Rx2 AMI_Init function does 
not receive the complete IR input to properly determine its equalization.
There is unanimous agreement that BIRD 166.2 fixes the statistical flow, but 
the time domain flow remains problematic.

Scenario 5, one or more of the four AMI models in the Redriver flow (Tx1, Rx1, 
Tx2, Rx2) are GetWave Only models.
There is no valid statistical flow.

The conclusion is that BIRD 166.2 is the correct statistical flow when all four 
AMI models in the Redriver flow (Tx1, Rx1, Tx2, Rx2) are a combination of Init 
Only and Dual models, and is the correct time domain flow when all four models 
are Dual Models.

What I believe IBIS should do is:

  1.  Approve BIRD 166.2
  2.  Recommend that all four AMI models in the Redriver flow (Tx1, Rx1, Tx2, 
Rx2) are Dual Models in order to support Time Domain flow.

     *   Note that any Init Only AMI model can easily be upgraded by the model 
maker to a Dual Model.

  1.  Enhance IBIS AMI by adding additional IR outputs to the AMI_Init function 
that contain the linear (CTLE) and non-linear (DFE) equalization of the model. 
(Keysight AMI_Init Enhancement)

Which leads to the following questions:

  1.  Is the Keysight AMI_Init Enhancement  necessary if all AMI Models are 
Dual Models?
  2.  Is it easier for a model maker to implement the Keysight AMI_Init 
Enhancement  instead of making Dual Models?
  3.  If a model maker is too lazy to make a Dual Model, will he be too lazy to 
implement the Keysight AMI_Init Enhancement?
  4.  Will the EDA tools that are used by model makers implement the Keysight 
AMI_Init Enhancement?

Note that the Keysight AMI_Init Enhancement does not address the problem of 
AMI_GetWave only models.

Walter

Walter Katz
wkatz@xxxxxxxxxx<mailto:wkatz@xxxxxxxxxx>
Phone 303.449-2308<tel:(303)%20449-2308>
Mobile 303.335-6156<tel:(303)%20335-6156>

Other related posts: