Mike Don't those "semi-analytic analysis has been applied to the analysis of band limited radio channels (linear and nonlinear)" assume the band limiting "feature" filters out all the non-linear effects thus don't apply to wide band systems? Tom Dagostino Teraspeed Labs 13610 SW Harness Lane Beaverton, OR 97008 503-430-1065 <mailto:tom@xxxxxxxxxxxxx> tom@xxxxxxxxxxxxx <http://www.teraspeed.com/> www.teraspeed.com Teraspeed Consulting Group LLC 121 North River Drive Naragansett, RI 02882 From: ibis-macro-bounce@xxxxxxxxxxxxx [mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Mike Steinberger Sent: Tuesday, April 12, 2011 9:34 AM To: ibis-macro@xxxxxxxxxxxxx Subject: [ibis-macro] Re: "Final Draft" of the Jitter BIRD 123.2 that I would like reviewed in preparation for submitting to the Open Forum Scott- Questions inserted below. Mike S. On 4/12/2011 11:56 AM, Scott McMorrow wrote: Walter The following needs to be rewritten. Rx_Noise_Pad cannot alter the statistics as a post processing step. It must be applied prior to any non-linear algorithmic elements or any programmable gain elements, and represents the input referred noise at the input of the input amplifier or VGA of the receiver. What bad things do you think would happen if the Gaussian noise at the input to the receiver were incorporated into the analysis as a post-simulation step? Consider, for example, that semi-analytic analysis has been applied to the analysis of band limited radio channels (linear and nonlinear) since at least before 1977 (because that's when I learned the technique from Mike Fashano). Although this parameter can be used in statistical analysis, it is the non-linear interaction between input noise and the clock recovery edge detector that is most interesting. What data leads you to this conclusion? It's entirely counter to my experience. For this parameter to be useful, it's PDF must be added prior to clock recovery processing. The following optional Reserved Parameter is used to modify the statistics associated with the data input to the receiver's buffer. This data is used by the simulator when post-processing the results from the model; the budget values specified by this parameter are not passed directly to the model itself. "Rx_Noise_Pad" is an AMI parameter of Type Float and Usage either Info or Out which defines the spectral density of the additive white Gaussian noise at the input to a receiver buffer in volts/sqrt(Hz). Ignored for a driver. Scott McMorrow Teraspeed Consulting Group LLC 121 North River Drive Narragansett, RI 02882 (401) 284-1827 Business (401) 284-1840 Fax http://www.teraspeed.com TeraspeedR is the registered service mark of Teraspeed Consulting Group LLC On 4/12/2011 7:24 AM, Walter Katz wrote: Arpad, Fangyi, All, I need to correct an answer that I gave to Fangyi on where Rx_Noise_Pad Is applied. It is applied to the input of the Rx Buffer. This is not at Rx AMI_GetWave as I incorrectly said in my last e-mail. It is applied at the input to the Rx Pad which is at the input to the Rx analog model. (Sorry for the confusion, my mistake) To answer Arpad, when a variable is a List, then is tells the User that he can select any one of the values in the List, only one gets used by a simulation. If a parameter is List and In, then just one item in the list gets selected and passed to the model. (If a parameter is a Table and In then all rows of the Table are passed to the model. So the meaning of "Rx_External_Reference_Clock" have "Allowed Values" of "(List True False)" means that the User can ask the EDA Tool to either pass (Rx_External_Reference_Clock True) or (Rx_External_Reference_Clock False) to the models. The Rx Model Maker tells the User and the EDA Tool that the model can accept *clock_times as an input by the existence of this parameter with an allowed value of True. If the User decides to set Rx_External_Reference_Clock=True then he must tell the EDA tool to generate the *clock_times vector any way the User decides to. The EDA tool would pass these clock times into the Rx AMI_GetWave function using *clock_times. If the User chooses Rx_External_Reference_Clock=False then the user tells the EDA tool not to create or pass in *clock_times, and therefor asks the EDA tool to use the parameters Rx_DCD, Rx_Rj, and Rx_Sj to correct for Jitter on the reference clock. Since the model may be used in different channels which may affect the jitter characteristics that end up being passed to the CDR of the receiver the User chooses the method that he asks his EDA tool to incorporate CDR reference clock jitter, which may be by asking the EDA tool to generate and pass *clock_times, use Rx_DCD, Rx_Rj, and Rx_Sj, or ask the EDA tool to incorporate CDR jitter budgets that are defined in the specific application, such as PCIeG3, 802.3KR, 802.3-100G, or the Jitter generated by a Fowarded Clock. You correctly point out that the Model does not call AMI_GetWave, the EDA Tool calls AMI_GetWave. Not re, ".tells the model that when calling AMI_GetWve the clock_times vector shall contain.". Since the EDA Tool calls AMI_GetWave, the only possible interpretation of this line is ".tells the model (by having previously passed (Rx_External_Reference_Clock True) in the call to AMI_Init) that when calling AMI_GetWve (by the EDA Tool) the clock_times vector shall contain.". I do not think the line needs to change in this way, but I would have no objection to making this change either. Walter From: ibis-macro-bounce@xxxxxxxxxxxxx [mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Muranyi, Arpad Sent: Tuesday, April 12, 2011 12:12 AM To: IBIS-ATM Subject: [ibis-macro] Re: "Final Draft" of the Jitter BIRD 123.2 that I would like reviewed in preparation for submitting to the Open Forum Walter, I am totally confused about the "Rx_External_Reference_Clock" parameter. Why is this a "(List True False)"? My understanding is that when something is a List, the entire list is passed into the model. In this case, how many Boolean values are needed to let the model know that the "clock_times vector shall contain the transition times of an externally generated reference clock"? I would think that this would be a TRUE or FALSE information. Why would that be passed into the model as a list of Booleans? The second thing that confuses me in: ".tells the model that when calling AMI_GetWve the clock_times vector shall contain." is that the model doesn't call GetWave, it is the EDA tool that calls GetWave. So why are you saying that ". tells the model that . clock_times vector shall contain the transition times of an externally generated reference clock."? Aren't we supposed to tell the EDA tool to put these transition times into the clock_times vector? If so, shouldn't this parameter be (Usage Info) instead of (Usage In)? Please explain what your intent on this. Thanks, Arpad =================================================================== From: ibis-macro-bounce@xxxxxxxxxxxxx [mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Walter Katz Sent: Monday, April 11, 2011 2:17 PM To: IBIS-ATM Subject: [ibis-macro] "Final Draft" of the Jitter BIRD 123.2 that I would like reviewed in preperationg for submitting to the Open Forum All, I have reviewed the comments made so far on BIRD 123 and 123.1, and have update the BIRD (enclosed) to address these issues. All changes since the original BIRD 123 are in Red. I explained what is Sj when there is no Sj_Frequency (It is Sj at any frequency). I did not explain what an EDA is to do with these because they describe the impairment, not how to apply it. Each EDA tool can apply the impairment that the User or Model asked the EDA tool to apply either to the inputs or the outputs of the model at the EDA tools discretion. So questions on each of these parameters should be limited to what the impairment is. I will be happy to answer what are some of the possible ways an EDA tool can use, but not what an EDA tool should or must do. Finally, I added a new parameter Rx_External_Reference which allows model makers to create Rx AMI_GetWave models that accept *clock_times as an input that contains the clock times of an externally generate reference clock for the Rx Clock Data Recovery file. With this new enhancement the User can direct the EDA tool to generate both ANY Jitter distribution as input to the Tx AMI_GetWave and ANY Jitter distribution as input to the Rx CDR. Walter Walter Katz wkatz@xxxxxxxxxx Phone 303.449-2308 Mobile 720.333-1107