[ibis-macro] Re: About the Typos BIRD comments from Fangyi

  • From: "Muranyi, Arpad" <Arpad_Muranyi@xxxxxxxxxx>
  • To: <ibis-macro@xxxxxxxxxxxxx>
  • Date: Tue, 7 Dec 2010 10:02:34 -0800

Mike,

 

I looked up the AMI_memory_handle in the IBIS specification (pg. 187):

 

| 3.1.2.7 AMI_memory_handle 

| 

| Used to point to local storage for the algorithmic block being modeled
and 

| shall be passed back during the AMI_GetWave calls. e.g. a code snippet
may 

| look like the following: 

| 

| my_space = allocate_space( sizeof_space ); 

| status = store_all_kinds_of_things( my_space ); 

| *serdes_memory_handle = my_space; 

| 

| The memory pointed to by AMI_handle is allocated and de-allocated by
the 

| model.

 

The above text uses the word "local storage" which could mean anything.

I was under the impression that it was used for the storing of the
waveforms,

or its temporary copies which were needed by the algorithm inside the
DLL,

and similar stuff.  Although not impossible, I would have never thought
that

this would be used to pass parameters from Init to GetWave.  If we
agreed

on this usage, I would suggest that we should mention that in the
specification,

even though I can already hear you say that this would belong to a HOTWO

document...

 

Arpad

========================================================================
=========

 

From: ibis-macro-bounce@xxxxxxxxxxxxx
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Mike Steinberger
Sent: Tuesday, December 07, 2010 11:03 AM
To: ibis-macro@xxxxxxxxxxxxx
Subject: [ibis-macro] Re: About the Typos BIRD comments from Fangyi

 

On 12/07/2010 10:56 AM, Muranyi, Arpad wrote: 

With regards to the "obvious" on how the parameter types

In, Out, and InOut are passed in and out of the DLL, I

need to restate a question I asked once before:

 

If we establish the rule that In and InOut is passed into

the DLL through the AMI_parameters_in argument, and Out

and InOut are returned by the DLL through the AMI_parameters_out

argument, how are we going to deal with the situation when the

Init function contains an optimizer and returns the optimized

parameters (tap coefficients, for example) though the

AMI_parameters_out argument?  Remember, the GetWave function

does NOT have an AMI_parameters_in argument.  How is the

Init function going to pass the optimized parameters to

GetWave?

Ummm... How 'bout if the memory pointed to by AMI_memory_handle included
memory for the optimized tap values? Isn't that the sort of thing we put
AMI_memory_handle there for in the first place?



 

Initially I thought that the AMI_parameters_in argument is

visible to GetWave also, and it could see the optimized

parameters in that argument.  But this discussions seems to

indicate that the Init function is not returning the optimized

parameters in the AMI_parameters_in argument, on in the

AMI_parameters_out argument which is not visible to GetWave,

as far as I can tell...  Am I missing something "obvious"?

 

Any suggestions?

 

Thanks,

 

Arpad

================================================================

 

 

Other related posts: