[ibis-macro] Re: BIRD 156.2 comments

  • From: "Muranyi, Arpad" <Arpad_Muranyi@xxxxxxxxxx>
  • To: "ibis-macro@xxxxxxxxxxxxx" <ibis-macro@xxxxxxxxxxxxx>
  • Date: Wed, 5 Jun 2013 18:46:07 +0000

Fangyi,

Thanks for this revision, I like the new text that
defines the A-to-D conversion.  Thanks for fixing
the grammar in 7a.

But I still have a couple of (editorial) comments:


-    "must has" is still there, it needs to be corrected

-    you are still not using units in the new text as well

as the old text when you talk about the digital stimulus

values:



"The digital stimulus have values of -½ for logic 0 and +½ for logic 1."



and



"The digital stimulus shall have values of -½ and +½."



Are you deliberately avoiding the usage of "volts" for

a technical reason?  I think we should say "volts"

because (as far as I can tell)that's how the simulators

treat it.  (It is not Amps, Ohms, miles, grams, etc...,

although the user could probably attribute any meaning to

it).



Thanks,



Arpad

================================================================



From: fangyi_rao@xxxxxxxxxxx [mailto:fangyi_rao@xxxxxxxxxxx]
Sent: Wednesday, June 05, 2013 1:09 PM
To: Muranyi, Arpad; ibis-macro@xxxxxxxxxxxxx
Subject: RE: BIRD 156.2 comments

I updated BIRD 156 based on discussion at yesterday's ATM and added to Step 8b 
the description of how to sample retimer Rx GetWave output to create the 
digital stimulus.

Step 8b. Retimer: The simulation platform samples the output waveform of 
Retimer Rx AMI_GetWave at ½ UI after each clock tick returned by the function, 
generates a digital stimulus as the input to Tx2's algorithmic model, 
regardless whether Tx2's AMI_GetWave exists or not, and performs simulation on 
the downstream channel, which consists of Tx2, physical channel 2 and Rx2, 
according to the AMI flow defined in the spec for channels without Redriver. 
The logic level of the digital stimulus is 1 if sampled value >= Rx1's 
Rx_Receiver_Sensitivity and 0 if sampled value <= *Rx1's 
Rx_Receiver_Sensitivity. If  -Rx1's Rx_Receiver_Sensitivity < sampled value < 
Rx1's Rx_Reciver_Sensitivity, the logic level is unchanged from the previous 
bit. The digital stimulus have values of -½ for logic 0 and +½ for logic 1.

A few editorial changes pointed out by Arpad were also incorporated.

Thanks,
Fangyi

From: ibis-macro-bounce@xxxxxxxxxxxxx<mailto:ibis-macro-bounce@xxxxxxxxxxxxx> 
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Muranyi, Arpad
Sent: Monday, June 03, 2013 10:30 PM
To: 'IBIS-ATM'
Subject: [ibis-macro] BIRD 156.2 comments

Hello everyone,

In the last ATM teleconference I briefly mentioned my comments about
BIRD 156.2, and we had a short conversation about the concern I had
about having to mention Rx_Receiver_Sensitivity in Step 8b.  However,
it seemed that the responses I got were along the lines that we don't
need to say anything about Rx_Receiver_Sensitivity because the resampling
occurs clock times + ½UI.  Since I was not happy with this answer, I
looked at the definition of clock_times and Rx_Receiver_Sensitivity
in the v5.1 specification again.

This is what I read in the spec on pg. 170:

"Each valid value in the clock_times vector shall be used to sample the output 
waveform by adding to it bit_time/2, regardless whether that waveform sample 
occurs in the waveform segment being returned by the current call to 
AMI_GetWave, or in the waveform segment to be returned by the next AMI_GetWave 
call."

This simply states when the sampling should occur.

But step 8b in BIRD 156.2 states that:

"The simulation platform samples the output waveform of Retimer Rx AMI_GetWave 
at ½ UI after each clock tick returned by the function, generates a digital 
stimulus as the input to Tx2's algorithmic model..."

The words "generates a digital stimulus" are the key point here.
Sampling an analog waveform to turn it into a digital signal
implies that the signal is not only sampled, but a decision is
also made on whether its value corresponds to a logic state '1'
or '0'.  This can be done with or without a certain amount of
hysteresis around a given threshold voltage, but the results
will be quite different based on how the decision is made.

Now, the v5.1 specification says the following on Rx_Receiver_Sensitivity
on pg. 190:

"Description: Tells the EDA tool the voltage needed at the receiver data 
decision point to ensure proper sampling of the equalized signal."

and

"In the example below, 100 mV (above +100 mV or below -100 mV is needed to 
ensure the signal is sampled correctly)."

I am not sure about the properness of the words "sampled correctly",
but the way I understand this is that correct sampling means that
the analog waveform is high or low enough to consider it a logic '1'
or '0'.

Putting this together with step 8b in BIRD 156.2, I still feel that
we need to mention whether in the process of generating the digital
stimulus the EDA tool should include the value in Rx_Receiver_Sensitivity
or not.  Not only that, but we should also define what happens when
the analog waveform has a value that corresponds to the "undefined
state" which is between the Rx_Receiver_Sensitivity high and low
values.  Even if we decided not to incorporate Rx_Receiver_Sensitivity
in this A-to-D conversion, we need to define what the threshold value
is for this decision, and how this decision is made in mathematical
terms, using the comparison operators ">", "<", ">=", and "=<".

If we don't define this in the BIRD, different EDA vendors might
implement this with or without Rx_Receiver_Sensitivity or different
decision algorithms (comparison operators), and the simulation
results of different tools may become quite different as a result.

Please let me know if I am missing something...

While I am at it, I noticed that my comment on the wording of step 7a
needs a little more work:

Step 7a. Redriver: The simulation platform convolves the impulse responses 
returned by Rx1's AMI_Init in step 3 and by Rx2's AMI_Init in step 6 to 
obtained the full channel impulse response and uses it to perform statistical 
simulation.

I am not stuck on using these exact recommendations for the wording
as long as it is proper and correct...

Thanks,

Arpad
=======================================================================



From: ibis-macro-bounce@xxxxxxxxxxxxx<mailto:ibis-macro-bounce@xxxxxxxxxxxxx> 
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Muranyi, Arpad
Sent: Friday, May 24, 2013 1:06 AM
To: 'IBIS-ATM'

Fangyi, Walter,

There are a couple of spelling mistakes in this paragraph
(marked with red bold):

As mentioned above, a Retimer Rx must has AMI_GetWave (GetWave_Exist = True) 
and the AMI_GetWave function must return clock_ticks. The simulation platform 
shall generate a digital input to the Retimer Tx by sampling the Rx AMI_GetWave 
output waveform ½ UI after each clock tick, The digital stimulus shall have 
values of -½ and +½ UNITS?.



In step 8b, shouldn't we mention that the resampling should
also include the Rx_Receiver_Sensitivity parameter's effect?



This paragraphs also needs a few editorial changes:

Step 7a. Redriver: The simulation platform convolves the impulse responses 
returned by Rx1's AMI_Init in step 3 and by Rx2's AMI_Init in step 6 to 
obtained the full channel impulse response and uses it to perform statistical 
simulation.


Otherwise I think this is a good BIRD...

Thanks,

Arpad
======================================================

Other related posts: