[ibis-macro] Re: Response to BIRD-190

  • From: Ambrish Varma <ambrishv@xxxxxxxxxxx>
  • To: "wkatz@xxxxxxxxxx" <wkatz@xxxxxxxxxx>, "Arpad_Muranyi@xxxxxxxxxx" <Arpad_Muranyi@xxxxxxxxxx>, "ibis-macro@xxxxxxxxxxxxx" <ibis-macro@xxxxxxxxxxxxx>
  • Date: Mon, 19 Jun 2017 19:19:48 +0000

Walter,
We know that IBIS 6.1 (not BIRD 190) fails to give the right result  when all 
models have Init_Returns_Impulse=True IF AND ONLY IF when either the Rx2 
optimizes itself based on its input impulse response and/or when Rx2 has a DFE.
The Init was never meant to do these things.

We have a 'Note' in the specification that documents it. BIRD 190 merely 
reminds the users of the same fact in the Redriver section of the spec.

This issue only appears when there is Optimization in the Init or other non LTI 
behavior (for which we have Getwave).

So the solution to this problem can be 1 of these 2:

a.       Implement a Getwave (Model implementation) OR

b.       Do smart sweeping to minimize the solution space (EDA tool 
implementation)
and not change the specification to accommodate each and every permutation and 
combination of models and simulation capabilities out there.


Thanks,
Ambrish.


From: ibis-macro-bounce@xxxxxxxxxxxxx [mailto:ibis-macro-bounce@xxxxxxxxxxxxx] ;
On Behalf Of Walter Katz
Sent: Monday, June 19, 2017 12:38 PM
To: Arpad_Muranyi@xxxxxxxxxx; ibis-macro@xxxxxxxxxxxxx
Subject: [ibis-macro] Re: Response to BIRD-190

EXTERNAL MAIL
Arpad,

I have demonstrated that BIRD 190 fails to give the right result  when all 
models have Init_Returns_Impulse=True.



If any model has Init_Returns_Impulse=False, then Init processing  requires 
that EDA tools generate an AMI_Init proxy using AMI_GetWave results, and in 
this case BIRD 190 gives the wrong answer.

Ambrish and Cadence have reputably stated that AMI Models should be Init-Only 
or GetWave-Only. So for the case that all of the models are Init-Only then both 
IBIS 6.1 and BIRD 190 give the wrong answer.

IBIS is clearly deficient for channels that do not have all Dual Models (except 
for the terminal Rx).

BIRD 190 only re-affirms the fact that IBIS 6.1 give the wrong answer for 
statistical flow in Redriver channels since it requires that the upstream 
equalization is applied to the output of Rx2, not the input of Rx2.

Do you disagree with my proof that BIRD 190 and IBIS 6.1 gives the wrong answer 
for statistical flow in this case when all of the models have 
Init_Returns_Impulse=True?

Does anyone disagree that IBID 6.1 and BIRD 190 give the wrong answer for 
statistical flow in this case when all of the models have 
Init_Returns_Impulse=True?

Does anyone disagree that BIRD 166 gives the right answer for statistical flow 
in this case when all of the models have Init_Returns_Impulse=True?

Does anyone disagree that we should not put into the standard any flow that 
WILL give the wrong answer?

If we cannot get agreement on this, we should simply table BIRD 166 and BIRD 
190. I think we have clearly document the problems in IBIS 6.1, that the IBIS 
6.1 Redriver flow gives the wrong answer when either the Rx2 optimizes itself 
based on its input impulse response and/or when Rx2 has a DFE.

Walter

Walter Katz
wkatz@xxxxxxxxxx<mailto:wkatz@xxxxxxxxxx>
Phone 303.449-2308
Mobile 303.335-6156
From: ibis-macro-bounce@xxxxxxxxxxxxx<mailto:ibis-macro-bounce@xxxxxxxxxxxxx
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Muranyi, Arpad
Sent: Monday, June 19, 2017 11:54 AM
To: ibis-macro@xxxxxxxxxxxxx<mailto:ibis-macro@xxxxxxxxxxxxx>
Subject: [ibis-macro] Re: Response to BIRD-190

Walter,

Thanks for your comments.  Regarding the last two bullets of your summary,

  *   The flow in BIRD-166 does allow the Rx2 to optimize itself correctly.
  *   The flow in BIRD-166 give the right results.
These statements are only true when we have "all Init-Only or Dual models"
in the simulation, as you stated in your introductory sentence.  As you may
recall, the discussions we had in the ATM meetings revealed that we did not
think that imposing such requirements on model makers would be feasible.
The discussions also revealed that the proposed solution in BIRD166.x makes
certain other model combinations worse, and as long as those combinations
are allowed, the proposal in BIRD166 is unable to address the conflicting
requirements for all model combinations.

This is why Ambrish ended up submitting BIRD190.  It does NOT attempt to
solve the challenges we are facing, it only documents the situation in the
redriver section of the specification so that the reader would be reminded
to the issues at hand.

It seems that in order to solve these problems, we would either have to
have a "full solution" along the lines of Fangyi's proposal, or allow only
Init-only, GetWave-only or Dual models together with the proposal in
BIRD166, but the latter didn't seem to be an option based on the discussions
we had in ATM.

I would very much like to make a decision on this soon, since we are starting
to go around in circles in discussing this topic.

Thanks,

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

From: ibis-macro-bounce@xxxxxxxxxxxxx<mailto:ibis-macro-bounce@xxxxxxxxxxxxx
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Walter Katz
Sent: Sunday, June 18, 2017 6:24 AM
To: Ambrish Varma <ambrishv@xxxxxxxxxxx<mailto:ambrishv@xxxxxxxxxxx>>; 
ibis-macro@xxxxxxxxxxxxx<mailto:ibis-macro@xxxxxxxxxxxxx>
Subject: [ibis-macro] Re: Response to BIRD-190

Ambrish,

Got time to review my response to BIRD 190, and would like to correct what I 
wrote. Changes made in line.

Walter


Ambrish,

Can you please comment on the following statements.
This discussion is limited to statistical simulations of Redriver channels with 
Tx1, Rx1, Tx2, Rx2 all Init-Only or Dual models.


  1.  BIRD 190 states:
     *   The impulse response of the Rx2 model will not include all of the 
effects of the upstream equalization, and therefore the Rx2 AMI_Init will not 
be able to perform an accurate equalization, and therefore to ensure successful 
simulations, the user should be allowed to turn off any automatic equalization 
in Rx2.
  2.  As Fangyi so aptly demonstrated, the Rx2 equalization will include two 
parts, one is a scaling (LTI) part from a CTLE and AGC, and the second an 
additive part (non-LTI) from a DFE.
     *   If the part of the upstream equalization that is excluded in the input 
to Rx2 (as specified in IBIS 6.1 and BIRD 190) is convolved with the output of 
Rx2, then both the CTLE and DFE equalization will scale this part of the 
upstream equalization
     *   If this part is not excluded from the input to the Rx2 then only the 
CTLE scales the effects of the upstream equalization.
     *   In case 2.a. the DFE is (incorrectly) added twice
  3.  For those of us that find this argument unconvincing, then consider the 
solution space that the user must explore to find a "best" solution if 
automatic optimization is disabled as proposed in BIRD 190.
     *   Let us assume that the user has set all of the upstream co-efficient 
to their optimum setting, and the Rx2 automatic equalization is turned off by 
the user in accordance with BIRD-190.
     *   How many simulations would the user be required to run to find the 
"best" solution.

                                                               i.      Case 1
1.       Assume that the Rx2 model has the following controls (typical PCIeG4, 
IEEE 802.3bj)
a.       10 CTLE settings
b.       10 AGC settings
c.       4 DFE taps each having 10 tap setting
2.       The answer is 10^6 simulations

                                                             ii.      Case 2
1.       Assume that the Rx2 model has the following controls (IEEE 802.3 400Gj)
a.       10 CTLE settings
b.       10 AGC settings
c.       14 DFE taps each having 10 tap setting
2.       The answer is 10^16 simulations

     *   It is a requirement of our customers that our tool determine the AMI 
settings that give the "best" solution. Sweeping these setting in the Rx2 as 
BIRD-190 requires is unacceptable.

In conclusion:

  *   The flow in IBIS 6.1 does not allow the Rx2 to optimize itself correctly.
  *   The flow in IBIS 6.1 gives the wrong results even when Rx2 optimization 
is turned off.
  *   The flow in BIRD-190 does not allow the Rx2 to optimize itself correctly.
  *   The flow in BIRD-190 give the wrong results even when Rx2 optimization is 
turned off.
  *   The flow in BIRD-166 does allow the Rx2 to optimize itself correctly.
  *   The flow in BIRD-166 give the right results.

Walter


Other related posts: