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