Ambrish, Even though I tend to agree with you, I wonder what was the purpose of putting this parameter into the AMI specification. The reason I wonder is because any programmer skillful in the art knows how to obtain the entry points to the functions in a DLL, i.e. they can figure it out programmatically whether the function exists or not, and if they are careful programmers, they will not call the function if the pointer to it is a null... Having that in mind, who is this information in the .ami file targeted to, and for what purpose? Thanks, Arpad =================================================== From: Ambrish Varma [mailto:ambrishv@xxxxxxxxxxx] Sent: Wednesday, March 07, 2012 4:22 PM To: Muranyi, Arpad; 'IBIS-ATM' Subject: RE: Question about GetWave_Exists Arpad, The parameter value was supposed to be an answer to the question Getwave Exists in the AMI model or not? So I do believe that the .ami file was written incorrectly. Thanks, -Ambrish. [cid:image002.gif@01CCFC89.73872EA0] 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:[mailto:ibis-macro-bounce@xxxxxxxxxxxxx]> On Behalf Of Muranyi, Arpad Sent: Wednesday, March 07, 2012 5:05 PM To: 'IBIS-ATM' Subject: [ibis-macro] Question about GetWave_Exists Hello everyone, I would like to ask a question about the GetWave_Exists AMI parameter. This is what I see in the specification on pg. 144: | GetWave_Exists: | | GetWave_Exists is of usage Info and type Boolean. It tells | the EDA platform whether the "AMI_GetWave" function is | implemented in this model. Note that if Init_Returns_Impulse | is set to "False", then Getwave_Exists MUST be set to "True". I came across a model recently in which the AMI DLL does have a GetWave function, but the .ami file says GetWave_Exists = False. The vendor says that they want to use this AMI parameter as a switch to be able to tell the EDA tool whether to invoke the GetWave function or not. The way I read the above specification snippet is that this parameter supposed to tell the tool whether this function exists in the DLL or not. If this parameter was to be used to control whether the EDA tool should make use of it or not, we should have given this parameter a different name, something like this: Use_GetWave_Function_If_Exists I am curious to hear what our experts have to say about this. Is the model's .ami file written incorrectly? Should we advise the model maker to not use this AMI parameter this way? How should the EDA vendor handle this situation? Should the tool execute the GetWave function when it exists, regardless of what this parameter says, or should it only execute the GetWave function if this parameter is set to True, regardless of whether the GetWave function exists in the DLL or not :). Thanks, Arpad ==============================================================