[ibis-macro] Re: AMI_Flows_6.pdf for today's ATM teleconference

  • From: "Walter Katz" <wkatz@xxxxxxxxxx>
  • To: <Arpad_Muranyi@xxxxxxxxxx>, "IBIS-ATM" <ibis-macro@xxxxxxxxxxxxx>
  • Date: Thu, 22 Apr 2010 12:36:05 -0400

Arpad,

Thank you very much for all you are doing. I know how difficult this is and
appreciate your efforts. We believe you have stated the current situation
correctly and clearly.

Walter

Walter Katz
303.449-2308
Mobile 720.333-1107
wkatz@xxxxxxxxxx
www.sisoft.com

-----Original Message-----
From: ibis-macro-bounce@xxxxxxxxxxxxx
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx]On Behalf Of Muranyi, Arpad
Sent: Thursday, April 22, 2010 11:47 AM
To: IBIS-ATM
Subject: [ibis-macro] Re: AMI_Flows_6.pdf for today's ATM teleconference

Ambrish,

This is exactly why we moved the Use_Init_Output Booleans to
the right side in the November flow.  In one of the recent
ATM meetings when I showed a draft of the flow that I
started to work on, one of you (can't remember if it was you
or Fangyi) suggested that I should put it back to the left
side.  This happened when I brought up the issue with some
of the combinations needing de-convolution.

But aside from that the real problem with this is the spec
itself, because the section you quoted here is in direct
contradiction with the flow described in section 2.3 in
great detail.

But now we are starting to go around in a circle because
we have already talked about this in this thread.

Summary:

- If we move Use_Init_Output to the right, we do it according
  to the Use_Init_Output definition, but have de-convolution problems
- If we move Use_Init_Output to the left, we do it according
  to section 2.3, but the LTI flow is broken

The November flow moved it to the right, but also fixed the
de-convolution problem by adding the Init_Returns_Filter
Boolean.  This was voted down recently, but it seems that
the same people who voted it down are now arguing that the
correct interpretation of the spec is that Use_Init_Output
should be on the right.  If it is on the right we need to
find a solution for the de-convolution problem.  This proves
to me that the Init_Returns_Filter is really not a new feature,
but a correction to the problem after all, and we should just
go with the November flow.

However, now that we also discovered that the Init_Returns_Impulse
is lacking in its definition, i.e. it doesn't spell out what is
returned when it is False, I would like to suggest that we should
revise the November flow by adding the Init_Returns_Impulse
Boolean to the drawings and define what it does when it is False.
Maybe by doing that we could eliminate this "new" red herring
Boolean called Init_Returns_Filter...  :-)  So I am going to
start a new thread to discuss Init_Returns_Impulse.

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




  _____

From: ibis-macro-bounce@xxxxxxxxxxxxx
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Ambrish Varma
Sent: Thursday, April 22, 2010 8:48 AM
To: IBIS-ATM
Subject: [ibis-macro] Re: AMI_Flows_6.pdf for today's ATM teleconference
Arpad,
The flow as you drew was correct for TD simulation. For Stateye type
simulation, the EDA tool takes into account only the 2 Init functions - so
there was a missing link in your presentation.

About Use_Init_output, my understanding is that it is only meaningful for
the TD flow as alluded to in the
definition for Use_Init_Output

| Use_Init_Output is of usage Info and type Boolean. When
| Use_Init_Output is set to "True", the EDA tool is
| instructed to use the output impulse response from the
| AMI_Init function when creating the input waveform
| presented to the AMI_Getwave function.
|
| If the Reserved Parameter, Use_Init_Output, is set to
| "False", EDA tools will use the original (unfiltered)
| impulse response of the channel when creating the input
| waveform presented to the AMI_Getwave function.

Thanks,
Ambrish.
  _____

From: ibis-macro-bounce@xxxxxxxxxxxxx
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Muranyi, Arpad
Sent: Thursday, April 22, 2010 12:35 AM
To: IBIS-ATM
Subject: [ibis-macro] Re: AMI_Flows_6.pdf for today's ATM teleconference

Ambrish,

So is my understanding of what you are saying correct if I
summarize it this way:

You are only asking a different VISUAL representation of the
flow to accentuate the two separate paths, but the flow is
actually correct as I drew it for the presentation yesterday
(except for the question that follows)?

A (minor) detail question about your PDF attachment.

On the left side, the Stateye flow, you took out the
Tx Use_Init_Output Boolean.  Did you mean this, or is this
omission just part of the "crude representation" of the
flow (as you put it)?  If you meant it, do you mean to
say that we should assume that this Boolean is always
True for the Stateye flow whether it says False in the
.ami file or not?  In other words, are you suggesting
that this Boolean should only be meaningful for the TD
flow, otherwise it should be assumed to be True?

Thanks,

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

  _____

From: ibis-macro-bounce@xxxxxxxxxxxxx
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Ambrish Varma
Sent: Wednesday, April 21, 2010 11:08 PM
To: IBIS-ATM
Subject: [ibis-macro] Re: AMI_Flows_6.pdf for today's ATM teleconference
Arpad,
Your observations are correct. Use_Init_Output does allow the model maker to
have effectively the same algorithms in Init and Getwave. It's a case of
'can' and 'should' as you pointed out in one of your earlier mails. I keep
pointing out to you the intent of section 2.1 and 2.2 and the default value
in the definition of Use_Init_Output and not the possibilities. This is how
I understand what the intent was: in section 2.1, we don't need a getwave,
why - because init was necessary and sufficient. In section 2.2, however, we
do need a getwave - why - because Init is NOT sufficient.
But - as you said, we did leave the door open .

When I wrote to you about separating the TD flow and the Stateye flow - I
meant separating it visually, in your slides - to fix the issue Walter
pointed out yesterday. Basically when the user wants a Stateye type
simulation, the EDA tool takes into account only Init and is done. The path
would look like this:
Obtain Channel Impulse Response (hAC(t)) --> Tx_Init call (hAC(t) x
hTEI(t))--> Rx_Init call (hAC(t) x hTEI(t) x hREI(t)) --> Stateye type
analysis.

What you have already in the slide can be kept as is for TD simulation. I
have attached a crude representation.

Thanks,
-Ambrish.

  _____

From: ibis-macro-bounce@xxxxxxxxxxxxx
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Muranyi, Arpad
Sent: Wednesday, April 21, 2010 7:24 PM
To: IBIS-ATM
Subject: [ibis-macro] Re: AMI_Flows_6.pdf for today's ATM teleconference

Ambrish,

I would like to see how you came to the conclusion that
"If you separate the Stateye flow with the TD flow, we will have what the
spec says currently".

I re-read the spec once again to find out how you came to that
conclusion, but my reading resulted in the opposite conclusion.

1)  pg. 181, 2.1 Linear, Time-invariant Equalization Model:



This implies (although not stated), that for the LTI (or Stateye) flow
the Init_Returns_Impulse Boolean must be set to true.

2)  On pg.182, 2.2 Nonlinear, and / or Time-variant Equalization Model
    I read the following:



This is now talking about the non-LTI flow.  Note that it says that
"AMI_Init may also compute the impulse response of the block...".
This means that the Init function can still return a modified impulse
response even if we are doing a non-LTI analysis with GetWave.

3)  pg. 144, GetWave_Exists says:



Note that is says "if Init_Returns_Impulse is set to "False"..." basically
GetWave must exist.  This means that the only time Init is allowed not to
return a modified impulse response is when we do a non-LTI analysis with
GetWave.  But notice that it doesn't say that if GetWave exits,
Init_Returns_Impulse
must be False, or in other words, it doesn't say that when we are ding a
non-LTI analysis with GetWave, the Init function is not allowed to calculate
a modified impulse response.

There are several things we can conclude from this:

- if the Init function doesn't calculate the modified impulse response,
GetWave will have to include the algorithm to do that calculation

- the spec doesn't say anything that this algorithm may not be duplicated
in the Init and GetWave functions, i.e. this duplication is not forbidden

- this means that the model writer has a choice to put the algorithm
that is responsible for calculating the modified impulse response into
either the Init or the GetWave function or both

- if there is a duplication of this algorithm in both Init and GetWave,
the model maker may set Use_Init_Output to False so that double counting
is prevented in the results

- with this approach one can build a parallel path for the LTI (or Stateye)
and non-LTI (or TD) calculations within the same model without the danger
of double counting for any effects


Clearly, the authors of the specification left it up to the model maker
to decide whether the modified impulse response is calculated in the
Init or the GetWave function or both.  One approach could be to "factor
it out" and put the LTI part of the algorithm into the Init function and
put the non-LTI portions of the algorithm into the GetWave function,
but one could also put the entire thing into the GetWave function and
have a duplicate LTI algorithm or a similar LTI approximation in the
Init function.

This is what I am reading from the EXISTING specification.  I would like
to get a similar detailed analysis from you that explains how you arrived
to the opposite conclusions based on the current specification.  I am not
asking this to give you a hard time, I am making this request to find out
why the existing specification can be interpreted in such completely
different ways so that we can fix the spec and eliminate the possibilities
for such misinterpretations in the future.

Thanks,

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


  _____

From: Ambrish Varma [mailto:ambrishv@xxxxxxxxxxx]
Sent: Wednesday, April 21, 2010 3:52 PM
To: Muranyi, Arpad
Subject: RE: [ibis-macro] Re: AMI_Flows_6.pdf for today's ATM teleconference
Arpad,
If you separate the Stateye flow with the TD flow, we will have what the
spec says currently. I think the issue with what you had yesterday was the
mixing of the 2 flows together.
Let me know if you want me to elaborate.
-Ambrish.

JPEG image

JPEG image

JPEG image

Other related posts: