Walter, 1) Existing models are hopefully(!) written in compliance with the existing specification. The graphical representation of the flow in the existing IBIS-AMI specification was uploaded to the ATM web site on September 21, 2009. It is slide #1 in the following file: http://www.vhdl.org/pub/ibis/macromodel_wip/archive/20090921/arpadmurany i/AMI%20flows:%20IBIS%205.0%20and%202009%20Sept%208,15%20proposals/AMI_F lows.pdf I hope we all still agree that this flow was flawed regarding the order of Step 4 and 5, and that we still all agree that we want it to be corrected as shown on slide #2 for IBIS 5.1. Now, compare that corrected flow on slide #2 of the above file with the corresponding slide #10 in the following file (which is my latest proposal): http://www.vhdl.org/pub/ibis/macromodel_wip/archive/20100622/arpadmurany i/AMI%20Flows%208/AMI_Flows_8.pdf Aside from the "double input" for Rx AMI_Init and the drawing style differences, these two flows are identical! Considering that the second input for Rx AMI_Init is read-only in my latest proposal, if an existing model doesn't read it, nothing bad can happen. Also, considering that the data path through the first input is identical to the flow that is in the currently existing specification, I would confidently conclude that old models will work the same exact way in the proposed flow as they did in the existing flow. So from the perspective of existing models, the only practical difference between the flow in the existing specification and my latest proposal is the order in which the Tx GetWave call and the EDA tool convolution (Steps 4 and 5 in the existing reference flow) is executed. Which, by the way, implies that an existing Rx model which contains an optimization algorithm will use the wrong impulse response whether it is executed with the flow in the existing specification or my proposed new flow. The only way we can get an Rx model's optimizer to work with the correct impulse response is if we implement my latest flow proposal. 2) Regarding the "Do not deprecate" rule in IBIS, if I interpret the text you quoted from the IBIS specification literally, EVERY SINGLE CHANGE WE MAKE TO THE SPEC CAN ONLY BE A NEW FEATURE, EVEN IF IT IS ONLY A CORRECTION. Let me explain this with the flow correction indicated on slide #2 in the first file above. If we cannot change the order of the Tx GetWave call and the EDA convolution as it is described in the 5.0 specification today (i.e. deprecate it) even if it is an honest mistake and incorrect and we are required to support it for the rest of our lives, than the only way to change the order of those two steps is to add a new flow to the 5.1 specification, in addition to what is there already. THEREFORE THE NEW FLOW CANNOT BE ANYTHING ELSE BUT A NEW FEATURE. The problem is that the (assumed) flow is not defined by a keyword in the IBIS specification, and I am not sure how we could indicate in a model which flow they are intended to be used with. So if we were to support the existing flow AND the fixed flow in IBIS 5.1, we would have to find a mechanism to select between the two flows. I will leave this exercise to those who are proponents of the "Do not deprecate" rule to the letter of the law. 3) Having said that, if making any changes to the specification (even just changing the order between the Tx GetWave call and the EDA tool convolution) is considered to be a NEW FEATURE, we can pack up and close up shop based on the decision we made in the ATM meetings about making only corrections to the specification and not add new features. I, who made that suggestion, can certainly testify that this was not my intension, but if that is how the majority of the people interpret it (based on twisting my words or the words of the spec around), we can certainly consider doing that. 4) It is certainly not clear from the existing specification whether its authors had any intension of supporting optimization in the AMI_Init function(s), because it is not mentioned anywhere in the specification as far as I can tell. Looking at the reference flow of the existing spec in Section 2.3 it doesn't look like people who wrote that section thought of that scenario because if there was an optimizer in Rx AMI_Init, it would get the wrong input when Tx Use_Init_Output=F. I consider my suggestion of adding that second input to the Rx AMI_Init function a CORRECTION because I was led to believe in the ATM flow discussions that the capability of having optimization in the Init function was part of the original intent in the specification. If you consider it a new feature and the majority of people agree with that, I can remove it from the flow diagram. But I have to remind you that this will bring us back to a flow diagram that is identical to the one shown on slide #2 of the first file referenced above (after spending nine months on this) and we will end up with a flow that will not support optimization algorithms in the Rx AMI_Init function, even if you don't have any issues doing de-convolutions, because the Tx Use_Init_Output=F setting doesn't allow you to give the Rx AMI_Init function the correct input. 5) By the way, the flow associated with the Init_Returns_Filter Boolean you proposed (slide #3 in the first file referenced above) would have required more drastic changes to the flow than what I made in my latest proposal (compare slide #3 in the first file with slide #10 in the second file reference above). There are several more convolutions done by the EDA tool, the Boolean selectors are moved to the right side, new Boolean switches are introduced. And, that flow would still require de-convolution with models which don't support the proposed Init_Returns_Filter switch. I certainly do not consider this a "much simpler solution" compared with my latest flow proposal... (but who knows, this may be a subjective opinion). 6) Having reviewed these old slides, I am even more convinced that my latest flow proposal is the most elegant solution to the problems we wanted to correct. It makes the least amount of changes to the flow in the existing specification, it solves the problems we wanted to solve (including optimization) without introducing any de-convolution, it doesn't require any new Boolean switches, it doesn't require any special rules about when to ignore certain Boolean switches, etc... I hope this will help you to understand the elegance of my latest proposed flow better, and I certainly hope that you will not get bogged down by the letter of the law regarding the deprecation rule and the decision we made in the ATM meetings about addressing corrections only in order to speed up our progress. I believe that arguing over those topics at this stage of the progress we made with the flow diagram delays our progress considerably, and for this reason I am very surprised and disappointed that you, who voiced your frustration about others bogging down our discussions seem to be starting to follow their footsteps now by raising these types of issues... Sincerely, Arpad ====================================================================== ________________________________ From: Walter Katz [mailto:wkatz@xxxxxxxxxx] Sent: Friday, June 25, 2010 8:45 PM To: Muranyi, Arpad; IBIS-ATM Subject: RE: [ibis-macro] Re: Question about cross talk with AMI models Arpad, Existing Rx models only know about the first one. So you are proposing that the impulse response that they see and act on depends on the flow that you selected. Since the optimization done by the Rx is a function of this impulse response then the optimization done by existing models in your proposed flows will be incorrect and different then used as specified in IBIS 5.0. I quote from Section 2 of IBIS | Commitment to Backward Compatibility. Version 1.0 is the first valid IBIS | ASCII file format. It represents the minimum amount of I/O buffer | information required to create an accurate IBIS model of common CMOS and | bipolar I/O structures. Future revisions of the ASCII file will add items | considered to be "enhancements" to Version 1.0 to allow accurate modeling | of new, or other I/O buffer structures. Consequently, all future revisions | will be considered supersets of Version 1.0, allowing backward | compatibility. In addition, as modeling platforms develop support for | revisions of the IBIS ASCII template, all previous revisions of the template | must also be supported. Not only does this proposal violate the IBIS Do Not Deprecate Rule, it is also an enhancement, and the group made a clear decision not to consider any enhancements until the major errors in the specification were corrected. The decision was clear to not consider Init_Returns_Filter because it was an enhancement, an alternate and much simpler solution than what you are proposing here. 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: Friday, June 25, 2010 8:57 PM To: IBIS-ATM Subject: [ibis-macro] Re: Question about cross talk with AMI models Walter, Nope, your understanding is not correct. I may not have articulated this clearly enough, but my proposal would take the entire impulse_matrix as we know it today and make a duplicate (in terms of memory space) for the whole thing. This includes the primary channel and all of its aggressors. The difference between the two (complete) impulse-matrices is that one contains the data that comes out of the selector box in my flow diagram drawing and the other one will always contain the output that comes from Tx AMI_Init. The first of these is what the filter in the Rx AMI_Init function will modify (read from it and write back to it in place) and the second of these is only there to be read by the Rx AMI_Init function's optimizer (if it has any). The fact that the second one always comes from the Tx AMI_Init guarantees that the optimizer will get the modified impulse response from Tx AMI_Init, so that it can optimize to what Tx AMI_Init did to the channel impulse response. And the fact that the first one comes from the selector box on the flow diagrams guarantees that the impulse response that the Rx _AMI_Init will modify does not have the Tx AMI_Init functions modifications if the Tx Use_Init_Output = F, which is how we can eliminate the need for de-convolution in this and all other cases. Please let me know if this is still not clear... Thanks, Arpad ============================================================= ________________________________ From: Walter Katz [mailto:wkatz@xxxxxxxxxx] Sent: Friday, June 25, 2010 7:46 PM To: Muranyi, Arpad; IBIS-ATM Subject: RE: [ibis-macro] Re: Question about cross talk with AMI models Arpad, As I understand it, you are adding an second impulse response after the first impulse response. However, this second impulse response would share the same expected memory locations as the first crosstalk impulse response. 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: Friday, June 25, 2010 7:49 PM To: IBIS-ATM Subject: [ibis-macro] Re: Question about cross talk with AMI models Mike, Thanks for your reply. I fully agree that we need to correct ambiguities in the spec, and that the ambiguities should not be used to change the meaning originally intended. This is the very reason I asked the question on this topic. I will have to read the document you sent in the attachment to see if that would help in fixing this part of the AMI spec. In the meantime I am surprised to hear that "As I understand it (and I hope I'm misinformed), there is now a proposal to change the semantics of the AMI interface in a way that would make it no longer possible to perform crosstalk analysis." because I am not aware of any such proposals. Could you please tell me what you are hearing about? Thanks, Arpad =============================================================== ________________________________ From: Mike Steinberger [mailto:msteinb@xxxxxxxxxx] Sent: Friday, June 25, 2010 6:38 PM To: Muranyi, Arpad Cc: IBIS-ATM Subject: Re: [ibis-macro] Re: Question about cross talk with AMI models Arpad- Let's be kind and say that the sentence that concerns you was poorly written. It's vague at best, and, in its vague way, suggests something that is technically incorrect. Crosstalk analysis is an important capability. It's working with existing AMI models, and people are using this capability to do real work. As I understand it (and I hope I'm misinformed), there is now a proposal to change the semantics of the AMI interface in a way that would make it no longer possible to perform crosstalk analysis. If this is the case, I urge the people involved to reconsider. It is true that there have always been errors in the description of crosstalk analysis in the AMI specification, and it's because the people drafting the AMI specification at the time didn't fully understand how crosstalk analysis was going to work. A lot more information is now available (such as our DesignCon2009 paper.) Perhaps now would be a good time to fix those errors. For example, when we were drafting BIRD 104, SiSoft proposed a modification that would allow crosstalk aggressors to have a different data rate from the primary channel. (Document attached.) Given that we don't want to change the function signatures or their semantics, the solution would be a reserved parameter to provide the aggressor data rates. In summary, wherever there is vague language in the spec, we need to clean it up and make it precise. (We did that with clock_ticks, for example.) And there are still technical errors that need to be corrected. We should not, however, attempt to use the presence of vague language to fundamentally change the meaning of the specification. Mike S. On 06/25/2010 05:45 PM, Muranyi, Arpad wrote: Mike, Thanks for your reply. This is what puzzles me: If the Rx Init modifies the entire impulse_matrix with its (linear) filter (like you say), why does the spec say that "The AMI_Init function may return a modified impulse response by modifying the first column of impulse_matrix."? Does this mean that the modified aggressor responses are not supposed to be put into the impulse_matrix? If so, where are the modified aggressor responses supposed to be written or used? Or is this sentence incorrect, and is it supposed to say that "The AMI Init function may return the modified impulse response by modifying the impulse_matrix"? Thanks, Arpad ========================================================= ________________________________ From: Mike Steinberger [mailto:msteinb@xxxxxxxxxx] Sent: Friday, June 25, 2010 5:07 PM To: Muranyi, Arpad Cc: IBIS-ATM Subject: Re: [ibis-macro] Question about cross talk with AMI models Arpad- In general a receiver's Init function should apply the receiver's linear response to the crosstalk impulse responses as well as to the primary channel impulse response; however if the receiver includes DFE, the DFE should only be applied to the primary channel impulse response. We've written a lot of models this way, and it has all worked correctly. We described this is a fair amount of detail in the paper on crosstalk analysis that we gave at DesignCon2009. Of course, this does mean that the EDA tool has to make the correct assumptions. However, the model behavior I've just described is the only behavior that makes any sense. (For those who are confused about modeling DFE in the Init function, please see the paper we presented at DesignCon2008.) Mike S. On 06/25/2010 04:38 PM, Muranyi, Arpad wrote: Hello AMI experts, As I was working on the AMI_flow BIRD, I noticed this sentence in the description of the impulse_matrix (pg. 185): | The AMI_Init function may return a modified impulse response by modifying | the first column of impulse_matrix. Knowing that the first column contains the primary channel's impulse response, and the remaining columns are the aggressor channels' impulse responses, I began to wonder why the Init function is not allowed to modify those impulse responses. I don't recall reading much in the spec about how cross talk is supposed to be handled. Is the AMI_Init function supposed to process the impulse responses of all the aggressors and combine those somehow with the primary channel's modified impulse response? It seems that this should be spelled out in more detail in the spec, otherwise the EDA tool implementation for handling cross talk my be different from how the model maker intended to describe/model the cross talk effects. I would like to hear comments on this, so we could make the necessary clarifications to the spec if needed. Thanks, Arpad ================================================================== --------------------------------------------------------------------- IBIS Macro website : http://www.eda.org/pub/ibis/macromodel_wip/ IBIS Macro reflector: //www.freelists.org/list/ibis-macro To unsubscribe send an email: To: ibis-macro-request@xxxxxxxxxxxxx Subject: unsubscribe