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

  • From: Walter Katz <wkatz@xxxxxxxxxx>
  • To: "Bob Miller \(APD\)" <bob.miller@xxxxxxxxxxxx>, "Ambrish Varma" <ambrishv@xxxxxxxxxxx>
  • Date: Mon, 19 Jun 2017 16:21:27 -0400 (EDT)

All,



Ultimately, AMI is a specification of the format and syntax of a .ami file 
and what the inputs and outputs are of a DLL. It is important that the model 
makers write DLLs in accordance with the standards defines of their inputs 
and outputs.



It is not a requirement of an EDA tool follow the flows suggested in the 
standard. SiSoft and other companies believe the flow in IBIS 6.1 gives the 
wrong answer, as we stated three years ago. SiSoft uses a flow that gives 
the correct answer, and submitted BIRD 166 to document this.



If other EDA companies state that they are getting the correct answer 
because they religiously execute the flows documented in IBIS 6.1, so be it.



Bottom line is when a customer gets a different results from different EDA 
vendors we can point them to this discussion and they can decide who is 
right, since we cannot.



Walter



Walter Katz

wkatz@xxxxxxxxxx <mailto:wkatz@xxxxxxxxxx>

Phone 303.449-2308

Mobile 303.335-6156

From: Bob Miller (APD) [mailto:bob.miller@xxxxxxxxxxxx]
Sent: Monday, June 19, 2017 4:05 PM
To: Ambrish Varma <ambrishv@xxxxxxxxxxx>
Cc: wkatz@xxxxxxxxxx; Arpad_Muranyi@xxxxxxxxxx; ibis-macro@xxxxxxxxxxxxx
Subject: Re: [ibis-macro] Re: Response to BIRD-190



If this is the case then I think I can safely say that IBIS-AMI does a poor 
job of support for statistical simulation, not to even supply a truly 
workable path for adaptation therein, or even a 
statistical-after-time-domain flow to patch around it.



Regards,



Bob



On Mon, Jun 19, 2017 at 1:57 PM, Ambrish Varma <ambrishv@xxxxxxxxxxx 
<mailto:ambrishv@xxxxxxxxxxx> > wrote:

Hi Bob,

Yes. That is why we have/had Getwave. And the ‘Note’.



Thanks,
Ambrish.



From: Bob Miller (APD) [mailto:bob.miller@xxxxxxxxxxxx ;
<mailto:bob.miller@xxxxxxxxxxxx> ]
Sent: Monday, June 19, 2017 3:54 PM
To: Ambrish Varma <ambrishv@xxxxxxxxxxx <mailto:ambrishv@xxxxxxxxxxx> >
Cc: wkatz@xxxxxxxxxx <mailto:wkatz@xxxxxxxxxx> ; Arpad_Muranyi@xxxxxxxxxx 
<mailto:Arpad_Muranyi@xxxxxxxxxx> ; ibis-macro@xxxxxxxxxxxxx 
<mailto:ibis-macro@xxxxxxxxxxxxx>
Subject: Re: [ibis-macro] Re: Response to BIRD-190



EXTERNAL MAIL

Ambrish --



I'm sorry to say that "Init was never meant to do these things" is here and 
now unworkable, at least for Broadcom -- not only me in my own little corner 
but other sister divisions building and supporting statistical-only models, 
even if this was the consensus in the past. (was it really??)



Regards,



Bob



On Mon, Jun 19, 2017 at 1:19 PM, Ambrish Varma <ambrishv@xxxxxxxxxxx 
<mailto:ambrishv@xxxxxxxxxxx> > wrote:

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
[mailto: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 <mailto:Arpad_Muranyi@xxxxxxxxxx> ; 
ibis-macro@xxxxxxxxxxxxx <mailto: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 <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] 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:

a.      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.

a.      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
b.      If this part is not excluded from the input to the Rx2 then only the 
CTLE 
scales the effects of the upstream equalization.
c.      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.

a.      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.
b.      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

c.      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: