Hi Walter,
I thank you for the prompt reply.
I got my answer, clock_times vector size is (wave_size/ samples_per_UI)+1 in
taking into account number of bits and last entry of -1 for a valid clock_times.
This is something important for the model developer to know as the EDA tool and
not the model is who allocates the memory location for *wave and *clock_times.
A suggestion for the IBIS specification is to mention that ‘The size of
clock_times vector is (wave_size/ samples_per_UI)+1’.
I agree with you on the fact that an EDA tool may choose to be careful and set
another 10% of memory in addition to (wave_size/ samples_per_UI)+1 for just in
case the model executable happens to access memory locations incorrectly.
Regards,
Hansel
From: Walter Katz <wkatz@xxxxxxxxxxxxx>
Sent: 25 February 2021 09:38 PM
To: Hansel Dsilva <hanseldsilva@xxxxxxxxxxxx>; ibis-macro@xxxxxxxxxxxxx
Subject: RE: Question. Is the size of the clock_times vector equal to
(wave_size/ samples_per_UI)+1?
Hansel,
(wave_size/ samples_per_UI)+1 might be cutting it close, especially if the
stimulus has sinusoidal jitter on it. I would add another 10% to be safe.
Memory is cheap these days.
Walter
Walter Katz
Work 508.647-7633
Cell 720.417-3762
[Description: Description: Visit MathWorks.com]
From: ibis-macro-bounce@xxxxxxxxxxxxx<mailto:ibis-macro-bounce@xxxxxxxxxxxxx>
<ibis-macro-bounce@xxxxxxxxxxxxx<mailto:ibis-macro-bounce@xxxxxxxxxxxxx>> On
Behalf Of Hansel Dsilva
Sent: Thursday, February 25, 2021 11:04 AM
To: ibis-macro@xxxxxxxxxxxxx<mailto:ibis-macro@xxxxxxxxxxxxx>
Subject: [ibis-macro] Question. Is the size of the clock_times vector equal to
(wave_size/ samples_per_UI)+1?
Hi,
Is the size of the clock_times vector equal to (wave_size/ samples_per_UI)+1
(i.e. number of bits and last entry of -1 for last valid cock_time)?
The IBIS specification v7.0 calls out double *wave which points to memory
location set by the EDA tool in enabling access to a vector of long wave_size.
There is no mention on size of double *clock_times in the IBIS specification
v7.0. The IBIS specification v7.0 does call out “The algorithmic model will
return nonnegative clock_times values, and place -1 after the last valid clock
tick in the clock_times vector during each AMI_GetWave call”.
PS. I am coding an IBIS-AMI model through C++ using Visual Studio. Old school!
Please bear with me...We got some exciting results to show at upcoming
DesignCon 2021 and DesignCon IBIS Summit!
Regards,
Hansel