Vladimir, And what test input would you apply to hAC(t)xhTEI(t)xhREI(t) to get hREI(t)? Walter Walter Katz 303.449-2308 Mobile 720.333-1107 wkatz@xxxxxxxxxx www.sisoft.com -----Original Message----- From: Dmitriev-Zdorov, Vladimir [mailto:vladimir_dmitriev-zdorov@xxxxxxxxxx] Sent: Monday, June 28, 2010 4:01 PM To: Walter Katz; Muranyi, Arpad; IBIS-ATM Subject: RE: [ibis-macro] Re: Fundemental concerns over the the new AMI flows that have been introduced since March. Walter, I realize that DFE is a non-LTI thing. However, the original problem stated in your earlier email: ".would have to determine hREI(t) by the deconvolution of hAC(t)xhTEI(t)xhREI(t)/hAC(t)xhTEI(t)" assumes that hRei(t) exists in a certain LTI manner and once it does exist, there is a possibility to find appropriate test input to extract it directly. If the original assumption were different, i.e. no REI(t) could be found that appropriately characterizes DFE, then yes, my proposal wouldn't work either. But we cannot say 'yes' to one and 'no' to the other since the existence of linear response or our assumption on its existence necessitates the possibility of its extraction by way of applying a *certain* test input. My point is that the AMI developer has enough data to easily construct such a test input. Having said that, I'm not sure the example with DFE is quite relevant to the preceding discussion about deconvolution. Vladimir -----Original Message----- From: Walter Katz [mailto:wkatz@xxxxxxxxxx] Sent: Monday, June 28, 2010 1:40 PM To: Dmitriev-Zdorov, Vladimir; Muranyi, Arpad; IBIS-ATM Subject: RE: [ibis-macro] Re: Fundemental concerns over the the new AMI flows that have been introduced since March. Vladimir, Because the filter may not be built. Take the example of a DFE. The waveform at the decision point is the analog waveform that is built by from the Tx_Stimulus, Channel, Rx LTI equalization plus an equalization waveform which might be a linear three tap filter that is applied to a digital signal generated from the sampled signal at the decision point. What is the filter that applied to the signal at the Rx Pad will give the sum of these two waveforms at the decision point. 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 Dmitriev-Zdorov, Vladimir Sent: Monday, June 28, 2010 3:11 PM To: Muranyi, Arpad; IBIS-ATM Subject: [ibis-macro] Re: Fundemental concerns over the the new AMI flows that have been introduced since March. Why the problem finding REI(t) inside Rx AMI without deconvolution? Once the filter is built, and believed linear, the developer can apply a short test input to this filter (inside AMI Init) and get the required clean output. -----Original Message----- From: ibis-macro-bounce@xxxxxxxxxxxxx [mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Muranyi, Arpad Sent: Monday, June 28, 2010 12:26 PM To: IBIS-ATM Subject: [ibis-macro] Re: Fundemental concerns over the the new AMI flows that have been introduced since March. Walter, Thanks for the explanation. This example makes me feel that the carrot is held in front of my nose on a stick and no matter how fast I run, I will never be able to reach it. First it was having to find a flow that doesn't use de-convolution. When I thought I solved that, it was to find a flow that also supports optimization in the Rx AMI_Init function. Now that I thought I figured that out, it is to find a flow that also supports DFE in the AMI_Init function (which up to now I thought was only supposed to be done in GetWave). I wonder if I could miraculously find a solution for even this one, what would be the next challenge that would be brought up... Regarding "This algorithm does not compute hREI(t) directly, but computes ~hAC(t)xhTEI(t)xhREI(t). So if the Optimization Matrix contains hAC(t)xhTEI(t)), and the Data Matrix contains anything else (e.g. hAC(t)), then in order to create (hAC(t))xhREI(t)) the DLL would have to determine hREI(t) by the deconvolution of hAC(t)xhTEI(t)xhREI(t)/hAC(t)xhTEI(t)." the model maker will has a choice to either revise their algorithm so that they can operate on hAC(t) with hREI(t) one way or another, or implement deconvolution in their model. They have a choice to find the most appropriate solution they see fit for this situation if they absolutely need or want to do DFE in the Init function. My latest flow proposal does NOT FORCE them to do de-convolution, it it their choice to do so. Arpad ======================================================= _____ From: Walter Katz [mailto:wkatz@xxxxxxxxxx] Sent: Monday, June 28, 2010 11:26 AM To: Muranyi, Arpad; IBIS-ATM Subject: RE: [ibis-macro] Re: Fundemental concerns over the the new AMI flows that have been introduced since March. Arpad, On several occasions Fangyi described an Rx Init model that contains a DFE. He specifically stated that the algorithm that was used to determine the optimum DFE equalization had as its input the output of Tx Init (~hAC(t)xhTEI(t)). The optimization of the Rx is not determining by the impulse response of just the DFE. The output of this DFE optimization routine is an approximation using proprietary methods that Fangyi has not disclosed. This algorithm does not compute hREI(t) directly, but computes ~hAC(t)xhTEI(t)xhREI(t). So if the Optimization Matrix contains hAC(t)xhTEI(t)), and the Data Matrix contains anything else (e.g. hAC(t)), then in order to create (hAC(t))xhREI(t)) the DLL would have to determine hREI(t) by the deconvolution of hAC(t)xhTEI(t)xhREI(t)/hAC(t)xhTEI(t). If the Rx had an optimizing FFE filter, then calculation the impulse response of the FFE filter is straightforward, but DFE equalizers do not apply there tap coefficients directly to the incoming signal, but to a digital signal that is created from the digital sampled data and then used to update the analog signal that is being sampled. 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, June 28, 2010 11:53 AM To: IBIS-ATM Subject: [ibis-macro] Re: Fundemental concerns over the the new AMI flows that have been introduced since March. Walter, I do not understand why you say that my latest proposed flow "in fact does not eliminate the need for deconvolution, it just moves it from the EDA platform to the AMI model AMI_Init function, and makes existing models work incorrectly". Existing models (which have optimization in Rx AMI_Init) work incorrectly in the existing spec, and my proposed flow doesn't fix that problem. Such models will have to be changed to work properly. But my proposed flow provides a way for a solution, while the existing spec doesn't. But I am completely lost about why my latest flow proposal moves the de-convolution to the model from the EDA tool. That was not my intension, and I don't see how that would be necessary. Please explain what you mean. Thanks, Arpad ================================================================= _____ From: Walter Katz [mailto:wkatz@xxxxxxxxxx] Sent: Monday, June 28, 2010 8:13 AM To: Muranyi, Arpad; IBIS-ATM Subject: RE: [ibis-macro] Fundemental concerns over the the new AMI flows that have been introduced since March. All, Sorry, this is an important e-mail thread, and it unfortunately had the wrong subject. SiSoft is totally opposed to the Flows that have been developed by the IBIS-ATM committee since the 4:3 vote to reject the Flows developed last November. SiSoft's position is that the Flows agreed to last November are correct, and will support them being modified to assume that Init_Returns_Filter is always False. Since deconvolution is required in certain circumstances, Arpad has introduced a Flow that changes the way that the AMI_Init function is called. This in fact does not eliminate the need for deconvolution, it just moves it from the EDA platform to the AMI model AMI_Init function, and makes existing models work incorrectly. This is an e-mail thread between Arpad and myself on this subject. 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 Walter Katz Sent: Monday, June 28, 2010 9:01 AM To: Arpad_Muranyi@xxxxxxxxxx; IBIS-ATM Subject: [ibis-macro] Re: Question about cross talk with AMI models Arpad, Response by paragraph: P1) You have not changes the signature of the call to the DLL, and found a neat trick that will cause existing models to not fail with memory exceptions. But existing models do not know about the second input. They only know about the first one. If you added a new reserved parameter (e.g. Dual_Impulse_Matrix) that defaulted to False, but when True said this model supported the second matrix, this would at least not make existing models invalid, and the tool can decide what to do based on that switch. This does not eliminate the need for deconvolution; it just moves it from the task of the EDA tool to the task of the model. I personally do not want to rely on AMI model maker to be forced to implement a reliable deconvolution, as we and several other EDA vendors have. I point out again Fangyi's example of a DFE model that he developed that the Rx Init function generates a combined impulse response. He would need to deconvolve in the model in order to apply the equalization he generated using the Optimizer input to apply the equalization to the Data Input. It is clearly much better to implement Init_Returns_Filter, with a recommendation that Init_Returns_Filter=True for models that are capable of reliably determining the impulse response of the filter alone. But as Fangyi points out, the EDA tool will still need to support deconvolution because of existing models, and because there will be some models that are unable to determine this impulse response. P2) The whole flow in 2.3 was perverted due to the Analog Input to the Tx GetWave. Once the input to Tx GetWave included the both the hAC(t) and the hTEI(t), then LTI was required, and as one see in more detail, optimizing Rx was not allowed - the unintended consequences are really nasty aren't they. P3) BIRD 107 (excluding the perverted paragraph 2.3) only direct the EDA tool to modify the input to Tx GetWave (violates non-LTI Tx GetWave), and the input to Rx GetWave. It does not direct the EDA tool to modify the input to Rx Init based on its value. P4) But your flows give different impulse response in the Data Input section. Since existing models do not know about the Optimizer Input, and since the EDA tool has no way of knowing if a model is 5.0 or your new method, existing models will not work correctly. This is serious and unacceptable. P6) Reconsider applying what you propose to EXISTING AMI models. P7) Again, reconsider applying what you propose to EXISTING AMI models. P8) My intention would be to present it directly to the Open Forum and call for a vote at the earliest allowed time. 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, June 28, 2010 2:09 AM To: IBIS-ATM Subject: [ibis-macro] Re: Question about cross talk with AMI models Walter, I will answer your email paragraph by paragraph, indicated by a letter "p" for "paragraph" (not page). p1) I know that the Rx AMI_Init function needs a modified channel impulse response from Tx AMI_Init for its optimizer (if it has any). This is what the second input to Rx AMI_Init is doing in my latest proposed flow. It is there in the proposed flow, it works exactly the way you want it to work. p2) Regarding analog vs. digital input, I thought the issue was the input to Tx GetWave, not to Tx AMI_Init. You are now talking about Tx AMI_Init. I hope this is only a typo... Assuming it is a typo, my proposed flow addresses this also. Read Section 2.4 Step 5 in the proposed BIRD (Flow_BIRD_2e.pdf). So by fixing this and by fixing the Use_Init_Output logic in the proposed flow, we should end up with a logical spec, correct? p3) That is not stated anywhere in the spec or BIRD 107. SiSoft was a co-author of both... In this area I tend to agree with Bob, that slapping together a specification in a big hurry tends to result in a lower quality spec and we are reaping the consequences of that. I am not saying that I enjoy dragging out the discussions and argue over meaningless topics, but certain things must be hammered out and written down unambiguously in the spec. We can't expect people to guess what was going through the minds of the authors years later from ambiguous text to find out what the intent was... p4) My proposed flow does exactly that. Please look at slides 1-4 and 5-8 and tell me if you see any difference in the way I drew the Rx AMI_Init box. I might need better glasses, but I don't see any differences, and while my memory is not perfect at times, I don't recall drawing them differently either... p6) I am not proposing what you say I propose. Please spend a little more quality time with the flow diagrams and the draft BIRD in which I think I made it crystal clear what I am proposing. (In my latest flow and BIRD draft the input of your Rx model doesn't depend on how the Rx GetWave function is written, and there is no mention of a Dirac-Delta function anywhere in my documentation. I just had to stop to think to spell it right...). But in case I didn't succeed in getting across what was in my mind at the time I wrote it, please point out the areas which need better wording or drawing. p7) Both of those issues have been addressed in my latest flow proposal and BIRD draft. It is stated in Note #2 in the flow diagram and also in the BIRD draft that when GW = F both IRI and UIO must be T. This is effectively the same as ignoring UIO, because when you ignore it you actually act as if it was set to TRUE. And the input to Rx AMI_Init always gets the modified Tx AMI_Init output in the second impulse_matrix, regardless of whether you are in a statistical simulation or time domain simulation or what the settings of the Boolean switches are. p8) I don't see why you feel that you have to write another BIRD, since you have not mentioned anything yet about my latest flow proposal and BIRD draft that doesn't work correctly with it. However, if you feel compelled to write one, you are certainly welcome to do so. Considering our track record, I predict that it might take another few months to discuss it, which I expect will get all the IC vendors even more turned off regarding what is going on in the ATM meetings. On the other hand, if you feel confident about it, you may submit it to the IBIS Open Forum directly. Sincerely, Arpad ================================================================= _____ From: Walter Katz [mailto:wkatz@xxxxxxxxxx] Sent: Sunday, June 27, 2010 1:37 PM To: Muranyi, Arpad; IBIS-ATM Subject: RE: [ibis-macro] Re: Question about cross talk with AMI models Arpad, The whole logic of the existing 2.3 is flawed, period end of story. In order for an Rx Init function to properly work, it must have the impulse response of the channel modified by the Tx equalization, if available. There can be no other logical explanation. How else is an Rx Init function to optimize itself? We always new the logic in 2.3 was flawed, and we repeatedly said so during the discussions of BIRD 107. Yes the current spec is incorrect and is in error, deprecation does not mean that there cannot be errata, and this is currently errata material. The existing 2.3 is clearly full of errors because of the introduction of the analog instead of digital input to Tx Init. Complicating this fundamental error in IBIS 5.0, the logic of Use_Init_Output was put into the flows in a totally illogical way to because analog input to Tx GetWave was totally illogical to begin with. When Use_Init_Ouput was introduced, it was only to be used when GetWave_Exists was True. It had no meaning when GetWave_Exist was False! Please remember that when Rx Init is being called, it does not know if it is being used in a statistical flow or in a time domain flow. Since it does not know what flow the EDA tool is attempting, it must behave identically the same way in both cases; it must have the same inputs and the same outputs. Let me give you a simple gedankenexperiment. Suppose I had a channel with an hAC(t) with significant loss and impairments. I can easily create a Tx model that will absolutely correct for all channel impairments, and the output of the Tx model will generate a perfectly equalized waveform at the Rx input. (No, this will not make me rich, I can create a Tx model in C++, but implementing this in silicon is another story.) You propose that in some cases (depending on how the Rx GetWave is written, and what flow I choose to make), the input to my Rx model will either be hAC(t), or a Dirac-Delta function. So the error in IBIS 5.0 (and it is an error that needs to be corrected), is that if GetWave_Exist is False, the EDA tool is instructed to ignore the value of Use_Init_Output, and the input to Rx Init must always be the channel modified by the Tx equalization (i.e. the output of Tx Init). You leave me no other choice then to prepare an independent BIRD to deal with this. Walter Walter Katz 303.449-2308 Mobile 720.333-1107 wkatz@xxxxxxxxxx www.sisoft.com <http://www.sisoft.com>