[ibis-macro] Re: Question. Is the size of the clock_times vector equal to (wave_size/ samples_per_UI)+1?

  • From: Hansel Dsilva <hanseldsilva@xxxxxxxxxxxx>
  • To: "Walter Katz (wkatz@xxxxxxxxxx)" <wkatz@xxxxxxxxxx>, "ibis-macro@xxxxxxxxxxxxx" <ibis-macro@xxxxxxxxxxxxx>
  • Date: Thu, 25 Feb 2021 16:36:06 +0000

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

GIF image

Other related posts: