[ibis-macro] Re: Problem with IBIS-AMI clock_times definition

  • From: Mike Steinberger <msteinb@xxxxxxxxxx>
  • To: Arpad_Muranyi@xxxxxxxxxx
  • Date: Tue, 16 Jun 2009 23:44:21 -0500

Arpad-

We ran into this problem as well; however, the problem wasn't due to the inherent accuracy of a double precision number, but rather due to the number of significant places to which we output the number when we wrote it to a file. You can demonstrate this with IBIS_AMI_test. When you run more than a million bits or so, the waveforms start looking like hieroglyphics.

A double precision number in IEEE standard format, which is what we're talking about here, has approximately sixteen significant decimals places to its mantissa, derived from a 48 bit mantissa. At 1ps resolution, that's enough decimal places to simulate ten thousand seconds of time, or in other words more than two hours of simulated time. Seems like that ought to be enough for most purposes.

Mike S.

Muranyi, Arpad wrote:
Hello AMI experts,

We stumbled on an interesting problem with the definition
of the clock_times parameter in the GetWave function.  This
is what the spec says:

| Vector to return clock times. The clock times are referenced to the
start
| of the simulation (the first AMI_GetWave call). The time is always
| greater or equal to zero.

The problem is that this variable uses a type double.  If
you run a few million bits, it will work, but when we run
hundreds of million bits or more, the double precision number
runs out of decimal digits to give an accurate time resolution
for the clock ticks.  This can turn into huge errors in the
eye diagram and related curves.

We would have been better off if we would have defined this
value as a relative number with respect to an ideal clock
tick time, kind of like a error term to be used as a
correction value.

Has anyone ran into this problem yet?

I would suggest to fix the AMI spec, because this seems to
be a fairly serious problem.

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


---------------------------------------------------------------------
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

Other related posts: