Walter, This is not a big deal, so I don't want to create a huge thread out of this, but for the records I want to mention the following. I agree that the current does say that: "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." which means that Use_Init_Output is associated with GetWave functions i.e. time domain simulations. However, the spec doesn't say that Use_Init_Output ***is not*** associated with the Init functions or the statistical flow. So what I wrote before: "As the spec is written now, there is no mention that Use_Init_Output applies to time domain simulations only." is still CORRECT, unless you can point me to a specific statement that says that Use_Init_Output is not applicable to statistical simulations. Further, in section 2.3 the current spec says: Combining this with the previous two section titles: "2.1 Linear, Time-invariant Equalization Model", and "2.2 Nonlinear, and / or Time-variant Equalization Model" and the fact that these two sections talk about the statistical flow without GetWave and time domain flow with GetWave, and that there is only one reference flow in section 2.3, the reader gets a very strong impression that what is described in the reference flow applies to both statistical and time domain simulations. This section does not mention that the reference flow describes only the time domain simulation flow, or that it doesn't apply to statistical simulations. On the other hand, the reference flow does talk about Use_Init_Output in connection with the Init functions... These are the thoughts I feel need to be fixed. Regarding your proposed wording, we will have to go through them carefully to make sure we mean what we say in a clean and understandable way. There were quite a few things which raised my eye brow when I read it, but I am not ready to comment on each yet. But in addition to fix the area you addressed below, I think we should also make a few corrections in section 2.3. Thanks, Arpad ============================================================= ________________________________ From: Walter Katz [mailto:wkatz@xxxxxxxxxx] Sent: Monday, April 26, 2010 1:24 PM To: Muranyi, Arpad; ibis-macro@xxxxxxxxxxxxx Subject: RE: [ibis-macro] Re: What happens when Init_Returns_Impulse = False? Arpad, The use of Use_Init_Output has a well defined meaning, although needs to be corrected because of the digital vs analog input to GetWave. In IBIS 5.0: | 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. | | The algorithmic model is expected to modify the waveform in | place. | | Use_Init_Output is optional. The default value for this | parameter is "True". | | If Use_Init_Output is False, GetWave_Exists must be True. First, note that Use_Init_Output only controls the input to GetWave. Since GetWave is by definition time domain, then in fact Use_Init_Output is only used for time domain simulations. Your statement "As the spec is written now, there is no mention that Use_Init_Output applies to time domain simulations only." is therefore incorrect. I would modify this as follows: | Use_Init_Output: | | Use_Init_Output is of usage Info and type Boolean. | Use_Init_Output has no meaning unless Init_Returns_Impulse | and GetWave_Exist are both True. It is used when the AMI_GetWave | function does not include the LTI equalization that is | returned in the impulse response output if AMI_Init. The | AMI_GetWave function may include either additional equalization | and or clock recovery data. | | 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 using the AMI_Getwave function. | For Tx models, the impulse response from Init should be | convolved with the output of AMI_GetWave. For Rx models, | the impulse response from AMI_Init should be convolved with the | input to the AMI_GetWave. | | If the Reserved Parameter, Use_Init_Output, is set to | "False", EDA tools will not modify the output of Tx AMI_GetWave | or the input to Rx AMI_GetWave with the impulse response output | of AMI_Init. | | Use_Init_Output is optional, and only applies to models with | GetWave_Exists=True. The default value for this | parameter is "True". | | If GetWave_Exists is False, Use_init_Output should not be specified. 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: Monday, April 26, 2010 12:43 PM To: ibis-macro@xxxxxxxxxxxxx Subject: [ibis-macro] Re: What happens when Init_Returns_Impulse = False? Thanks Todd for the "truth table". I think it makes sense, but I wonder what approach we should take to fix the spec. Here is the problem. As the spec is written now, there is no mention that Use_Init_Output applies to time domain simulations only. As a consequence, the first two cases you describe come across as having two controls which have basically the same effect, i.e. duplicate controls. After having gone through the email thread last week I understand now that this was not the intent, but the spec can be interpreted this way without fixing it. So the question is this: We can tailor the spec to the controls or the controls to the spec. Which way should we try to fix this? Should we just change the explanation text in the spec to reflect these intentions and then draw the flow diagrams accordingly, or should try to find a flow diagram that may work in both time domain and statistical modes with perhaps eliminating one or the other of these Booleans? To be honest, I really don't like these two controls the way they do almost the same, and that their name doesn't reflect what the real difference is between them, i.e. that one is only effecting time domain simulations but the other affects both... Thanks, Arpad ========================================================================