[ibis-macro] Re: AMI_GetWave & AMI_Init (Dumbo Questions)

  • From: Ambrish Varma <ambrishv@xxxxxxxxxxx>
  • To: "ibis-macro@xxxxxxxxxxxxx" <ibis-macro@xxxxxxxxxxxxx>
  • Date: Wed, 14 Mar 2012 11:39:59 -0700

Todd,
I read the question more in terms of simulation ('perform'). So - you are 
correct. Models are allowed to 'provide' equalization - but when it comes to 
the actual simulation time - then only 1 of them can actually be 'performing' 
the equalization.
Thanks,
-Ambrish.



[cid:image003.gif@01CD01F0.55492C10]



Ambrish Varma   |  Member of Consulting Staff

P: 978.262.6431   www.cadence.com<http://www.cadence.com>










________________________________
From: ibis-macro-bounce@xxxxxxxxxxxxx [mailto:ibis-macro-bounce@xxxxxxxxxxxxx] 
On Behalf Of Todd Westerhoff
Sent: Wednesday, March 14, 2012 2:30 PM
To: ibis-macro@xxxxxxxxxxxxx
Subject: [ibis-macro] Re: AMI_GetWave & AMI_Init (Dumbo Questions)

Ambrish,

I think we're mixing definitions on item #3.  I read this question as asking if 
a model is not allowed to provide equalization in both Init in Getwave.

Your answer was yes.  The correct answer is no.

To be clear (and to eliminate the double negative) - AMI models are allowed to 
provide equalization in both Init and Getwave. In fact, it's not only allowed, 
it's encouraged.

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>


"Three in the morning and I'm still awake,
So I picked up a pen and a page ... "
                                             -Sidewalk Prophets

From: ibis-macro-bounce@xxxxxxxxxxxxx [mailto:ibis-macro-bounce@xxxxxxxxxxxxx] 
On Behalf Of Ambrish Varma
Sent: Friday, March 09, 2012 5:49 PM
To: gedlund@xxxxxxxxxx; ibis-macro@xxxxxxxxxxxxx; 
ibis-macro-bounce@xxxxxxxxxxxxx
Subject: [ibis-macro] Re: AMI_GetWave & AMI_Init (Dumbo Questions)

Greg,
Let me take a crack at this one:
Q) Why not just forget about AMI_GetWave and use AMI_Init to do all the heavy 
lifting?
A) The (main) input to AMI_Init is the Impulse Response which captures the 
'static' characteristics of the channel and is, by definition, linear. When the 
model gets that as an input, it can do 'some lifting' that can be approximated 
as linear and send it back to the EDA tool. Many complex algorithms are 
non-linear (adaptive equalization, CDR etc) and cannot be captured in a linear 
Imp Response. The Getwave is designed to receive actual raw time domain data 
samples that allow the model to perform some serious heavy lifting.
In summary, the AMI_Init was only meant to do 'light lifting' and can, at best, 
approximate the 'heavy lifting'.

BTW - You got 1,2 and 3 right.
Thanks,
Ambrish.



[cid:image003.gif@01CD01F0.55492C10]



Ambrish Varma   |  Member of Consulting Staff

P: 978.262.6431   www.cadence.com<http://www.cadence.com>










________________________________
From: ibis-macro-bounce@xxxxxxxxxxxxx<mailto:ibis-macro-bounce@xxxxxxxxxxxxx> 
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx]<mailto:%5bmailto:ibis-macro-bounce@xxxxxxxxxxxxx%5d>
 On Behalf Of Gregory R Edlund
Sent: Friday, March 09, 2012 3:25 PM
To: ibis-macro@xxxxxxxxxxxxx<mailto:ibis-macro@xxxxxxxxxxxxx>; 
ibis-macro-bounce@xxxxxxxxxxxxx<mailto:ibis-macro-bounce@xxxxxxxxxxxxx>
Subject: [ibis-macro] Re: AMI_GetWave & AMI_Init (Dumbo Questions)


Thanks Arpad & Mike.

So...

1. TX and RX algorithmic models must both have AMI_Init functions.

2. AMI_GetWave functions are optional for both TX and RX algorithmic models.

3. Either AMI_Init or AMI_GetWave can perform equalization, but not both.

Did I get that right?

Next Bozo Question:  why not just forget about AMI_GetWave and use AMI_Init to 
do all the heavy lifting?

(I'm not suggesting we change anything here -- just trying to figure things out 
by asking obtuse questions!)


Greg Edlund
Senior Engineer
Signal Integrity and System Timing
IBM Systems & Technology Group
3605 Hwy. 52 N  Bldg 050-3
Rochester, MN 55901



[cid:image006.gif@01CD01F0.55492C10]"Muranyi, Arpad" ---03/09/2012 01:10:32 
PM---Greg, #1)  AMI_GetWave is optional, its existence is totally

From: "Muranyi, Arpad" 
<Arpad_Muranyi@xxxxxxxxxx<mailto:Arpad_Muranyi@xxxxxxxxxx>>
To: "ibis-macro@xxxxxxxxxxxxx<mailto:ibis-macro@xxxxxxxxxxxxx>" 
<ibis-macro@xxxxxxxxxxxxx<mailto:ibis-macro@xxxxxxxxxxxxx>>
Date: 03/09/2012 01:10 PM
Subject: [ibis-macro] Re: AMI_GetWave & AMI_Init (Dumbo Questions)
Sent by: ibis-macro-bounce@xxxxxxxxxxxxx<mailto:ibis-macro-bounce@xxxxxxxxxxxxx>

________________________________



Greg,

#1)  AMI_GetWave is optional, its existence is totally
up to the model maker.  They would typically include
a GetWave function in the model if they want to be able
to do time domain analysis with the model.  The Init
function is only useful for statistical analysis.

#2)  AMI_Init is required.  It serves the purpose of
setting up some memory related stuff, but in addition
to that it can also perform filtering.  The Init
function is not required to include any filtering
algorithms, but it is required to for initialization.

#3)  AMI_GetWave was defined in the original AMI
specification (in v5.0).  There are a few BIRDs for
v5.1 which mention AMI_GetWave, most notably the
"AMI Flow BIRD", BIRD 120.1

#4)  I don't recall any BIRDs for v5.1 which deal with
AMI_Init, but it may be mentioned in some.

I hope this answers your questions.

Thanks,

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

From: ibis-macro-bounce@xxxxxxxxxxxxx<mailto:ibis-macro-bounce@xxxxxxxxxxxxx> 
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Gregory R Edlund
Sent: Friday, March 09, 2012 12:39 PM
To: ibis-macro@xxxxxxxxxxxxx<mailto:ibis-macro@xxxxxxxxxxxxx>
Subject: [ibis-macro] AMI_GetWave & AMI_Init (Dumbo Questions)


1. Under what conditions might AMI_GetWave not exist?

2. Under what conditions might AMI_Init not exist?

3. Is AMI_GetWave defined in any of the 5.1 BIRDs?

4. Is AMI_Init defined in any of the 5.1 BIRDs?


Greg Edlund
Senior Engineer
Signal Integrity and System Timing
IBM Systems & Technology Group
3605 Hwy. 52 N  Bldg 050-3
Rochester, MN 55901

GIF image

GIF image

GIF image

GIF image

Other related posts: