[ibis-macro] Re: AMI-init should pass modified IR to getwave....

  • From: Taranjit Kukal <kukal@xxxxxxxxxxx>
  • To: "ibis-macro@xxxxxxxxxxxxx" <ibis-macro@xxxxxxxxxxxxx>
  • Date: Fri, 15 Jun 2012 09:25:58 +0530

Hi All,
I realize that the confusion came due to my response to Todd’s query on 
termination when I said “Rx is at the buffer i/p so RDL essentially becomes 
additional channel”. This was interpreted as termination being inside silicon. 
The termination is on die-pad and this should allow me to convolute.

Now summarizing:


1.       Discussion got digressed by recommendations on how this case should be 
handled. This particular case has been handled by bringing modified-IR into 
getwave through data-structure (exactly like what Mike Steinberger suggested). 
Just to provide you detail on this case….. Different RDL (on silicon 
interposer) cases were captured as IRs and intent was that AMI model provides 
recommendation on what RDL cases would allow enough eye – so it was more of 
using AMI for exploration. Different IRs (representing RDL) were used to modify 
given board-channel. It was more like getting 1st cut estimates on RDL budget. 
Getwave was used to estimate the eye covering all sweeps of IRs. I would not 
like to disclose more than this though ☺

2.       Irrespective of this use-case, I would request you not to focus on 
solving this case but to resolve the intent where we are likely to have cases 
where it becomes valid to have modified-IR decide the getwave waveform.

a.       We are talking for cases where we are purely statistical or purely 
time-domain. Why are we forgetting that the modeling can be at various levels 
of abstractions and it is incorrect to limit things. Depending on requirement 
(verification or exploration), accuracy-level needs and input data available, 
model-maker would want to have a model that is a combination of IR-convolutions 
(init) and time-domain filtering (getwave).

b.      If it is being mentioned that convolution could be done in getwave (by 
passing IR programmatically) then as a argument, we could say that getwave 
should have original stimulus – why should “wave” be the convolution of 
“input-stimulus with channel-IR” and that it be done by model-maker.

c.       The whole idea is to provide enough flexibility to model-maker  to use 
init and getwave in conjunction to allow modeling at various level of 
abstractions.

d.      I agree with BIRD120 intent that we need to have a way to do pure 
statistical-flow and hence o/p of init should be what goes as final o/p to EDA 
tool for results and that we wanted to differentiate LTI v/s  non-LTI flows.. 
But the solution to this intent should not have been limiting. Model-makers 
would know what to use when….

3.       PLEASE NOTE that CADENCE was co-author to BIRD120 but as we discussed 
more internally, we found that we revisit this. Unfortunately, I have not seen 
a single justification strong enough on why we deprecated “Use_Init_Output”.

Anyways, thanks for all the comments…..


Cheers
..kukal


From: ibis-macro-bounce@xxxxxxxxxxxxx [mailto:ibis-macro-bounce@xxxxxxxxxxxxx] 
On Behalf Of fangyi_rao@xxxxxxxxxxx
Sent: Thursday, June 14, 2012 11:20 PM
To: twesterh@xxxxxxxxxx; ibis-macro@xxxxxxxxxxxxx
Subject: [ibis-macro] Re: AMI-init should pass modified IR to getwave....

Hi, Kubal;

I agree with Todd and Vladimir that you can’t simply convolve RDL IR with 
channel IR. If you do that, you will miss the reflection between channel and 
RDL. In the analog world, your RDL IR actually depends on the rest of the 
circuit including the channel, and therefore can’t be pre-calculated. It has to 
be included as part of the analog channel.

I also agree with Walter, Mike and Vladimir that splitting an algorithmic model 
between IR and GetWave function is unnecessary. You can always perform 
filtering inside GetWave. Unless you have 1000 taps, a FIR filter is not going 
to take too much CPU time. If you do have 1000 taps, there are other ways to 
speed up filter convolution.

Regards,
Fangyi

From: ibis-macro-bounce@xxxxxxxxxxxxx [mailto:ibis-macro-bounce@xxxxxxxxxxxxx] 
On Behalf Of Todd Westerhoff
Sent: Thursday, June 14, 2012 9:52 AM
To: ibis-macro@xxxxxxxxxxxxx
Subject: [ibis-macro] Re: AMI-init should pass modified IR to getwave....

Taranjit,

Convolving the RDL IR with the channel IR will still not give you the effects 
of reflections and ISI.  You need to model the RDL properly and include it the 
circuit analysis that derives the impulse response in the first place. If you 
don’t, you’ve violated the fundamental premise that AMI is based on.

I don’t see the point in discussing modeling approaches that don’t accurately 
represent actual circuit physics.

Todd.


Todd Westerhoff
VP, Software Products

Signal Integrity Software Inc. • www.sisoft.com<http://www.sisoft.com/>
6 Clock Tower Place • Suite 250 • Maynard, MA 01754
(978) 461-0449 x24  •  twesterh@xxxxxxxxxx<mailto:twesterh@xxxxxxxxxx>


“I want to live like that ”
                                             -Sidewalk Prophets


From: Taranjit Kukal 
[mailto:kukal@xxxxxxxxxxx]<mailto:[mailto:kukal@xxxxxxxxxxx]>
Sent: Thursday, June 14, 2012 11:56 AM
To: 'twesterh@xxxxxxxxxx'; 'ibis-macro@xxxxxxxxxxxxx'
Subject: Re: [ibis-macro] Re: AMI-init should pass modified IR to getwave....

Hi Todd,
That is why RDL IR is to be convoluted with channel to get overall IR. And I 
would have loved to pass this to EDA tool that provides me resultant wave in 
getwave for further processing (as against doing my own sampling and 
convolution in getwave)

Somehow, it is not very convincing that we take away the flexibility by 
isolating init and getwave.

The only reason I see for deprecating “Use_Init_Output” was to allow 
statistical flow to work independently ...was there any other reason that I am 
missing?

If not, then we should have had two IR outputs to EDA tool from Init - one for 
statistical and one for further getwave processing (at the same time allowing 
IBIS5 compatibity)

Rgds





From: Todd Westerhoff 
[mailto:twesterh@xxxxxxxxxx]<mailto:[mailto:twesterh@xxxxxxxxxx]>
Sent: Thursday, June 14, 2012 08:13 PM
To: Taranjit Kukal; ibis-macro@xxxxxxxxxxxxx<mailto:ibis-macro@xxxxxxxxxxxxx> 
<ibis-macro@xxxxxxxxxxxxx<mailto:ibis-macro@xxxxxxxxxxxxx>>
Subject: RE: [ibis-macro] Re: AMI-init should pass modified IR to getwave....

Tananjit,

This therefore violates the basic assumption of AMI … that the channel is fully 
described in the impulse response passed to TX_Init.

Attempting to model the RDL after the fact in the algorithmic model will 
eliminate any of the reflections / ISI caused by the interaction of the RDL 
with the channel.

The RDL needs to be part of the channel model used to generate the impulse 
response.

Todd.


Todd Westerhoff
VP, Software Products

Signal Integrity Software Inc. • www.sisoft.com<http://www.sisoft.com/>
6 Clock Tower Place • Suite 250 • Maynard, MA 01754
(978) 461-0449 x24  •  twesterh@xxxxxxxxxx<mailto:twesterh@xxxxxxxxxx>


“I want to live like that ”
                                             -Sidewalk Prophets


From: Taranjit Kukal 
[mailto:kukal@xxxxxxxxxxx]<mailto:[mailto:kukal@xxxxxxxxxxx]>
Sent: Thursday, June 14, 2012 10:37 AM
To: 'twesterh@xxxxxxxxxx'; 'ibis-macro@xxxxxxxxxxxxx'
Subject: Re: [ibis-macro] Re: AMI-init should pass modified IR to getwave....

Hi Todd,
Your description of RDL is correct.
Rx is at the buffer i/p so RDL essentially becomes additional channel.

Rgds


From: Todd Westerhoff 
[mailto:twesterh@xxxxxxxxxx]<mailto:[mailto:twesterh@xxxxxxxxxx]>
Sent: Thursday, June 14, 2012 07:09 PM
To: 'IBIS-ATM' <ibis-macro@xxxxxxxxxxxxx<mailto:ibis-macro@xxxxxxxxxxxxx>>
Subject: [ibis-macro] Re: AMI-init should pass modified IR to getwave....

Taranjit,

When you say “On chip RDL”, are you specifically talking about the interconnect 
between the die pad and the buffer itself?  Where is the receiver termination 
physically taking place?

Todd.


Todd Westerhoff
VP, Software Products

Signal Integrity Software Inc. • www.sisoft.com<http://www.sisoft.com/>
6 Clock Tower Place • Suite 250 • Maynard, MA 01754
(978) 461-0449 x24  •  twesterh@xxxxxxxxxx<mailto:twesterh@xxxxxxxxxx>


“I want to live like that ”
                                             -Sidewalk Prophets


From: ibis-macro-bounce@xxxxxxxxxxxxx<mailto:ibis-macro-bounce@xxxxxxxxxxxxx> 
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx]<mailto:[mailto:ibis-macro-bounce@xxxxxxxxxxxxx]>
 On Behalf Of Taranjit Kukal
Sent: Thursday, June 14, 2012 2:04 AM
To: 'IBIS-ATM'
Subject: [ibis-macro] AMI-init should pass modified IR to getwave....

Hi All,
When I was implementing AMI model, I found a situation where it was important 
that Rx ami_init needed to pass modified-IR to getwave function.
Reason was that Chip-RDL-routing was available as Impulse-Responses.
Removal for “Use_Init_Output” to make Statistical-flow independent of 
Transient-flow,  is going to break the original intent where init and getwave 
were supposed to work in conjunction with each other handling linear and 
non-linear filtering portions respectively (as shown below)

[cid:image002.png@01CD4AD4.48EA4FD0]

I would go back to Arpad’s suggestion (year 2010) for having two 
Impulse-responses coming out of ami_init

-          One that goes to EDA tool for statistical flow

-          One that gets passed to getwave to allow splitting of 
modeling-effort across init and getwave and make things easy for linear filters.

BIRD120 was brought up that deprecates use of “use_init_output” with a view to 
keep statistical and time-domain simulations independent. But as I think more, 
we need to allow both capabilities. It absolutely does not make sense to 
implement simple linear filters within getwave when we can convolute the 
filter-IR with channel-IR. We should take all steps to make modeling easy and 
ensure enough flexibility.

This way, we cover both the scenarios – those who want to leverage init as 
complement to getwave and those who want to keep statistical-flow purely 
independent. Since this does not bring any disadvantage, I strongly feel that 
we all re-consider outputting two modified-IRs out of init function – one for 
statistical-flow and another one to complement getwave filtering.


Rgds
..kukal

GIF image

PNG image

Other related posts: