 # modulo operation in calculator?

## Ask a question - edaboard.com

elektroda.net NewsGroups Forum Index - Cadence - modulo operation in calculator?

Guest

Mon Jan 15, 2007 6:01 pm

Hi,

I'm trying to measure the phase of a squarewave signal (that has
jitter) over time. The way I am doing this is finding the threshold
crossing times using the cross() function in the calculator (I'm using
IC5141). This gives me a list of times that the signal crosses a
threshold. Call those times T1, T2, ..., TN. What I want to do next
is to take those T1, T2,... TN values and MOD (modulo operation) them
with the period of a reference squarewave signal. However, when I use
the mod() function in the calculator, it complains that the operands
are not integers. I tried multiplying everything by 1e12 (since I am
working on the picosecond scale) to turn the operands into integers,
but the calculator can't seem to handle an expression with 1e12 in it
(the value becomes 2147483647 when I evaluate it).

I looked into the documentation for calculator with no luck.

Does anyone know how I can efficiently make the measurement I want?

Andrew

Guest

Mon Jan 15, 2007 10:19 pm

Actually, don't worry about it. I'm just going to export the waveform
to MATLAB for post-processing.
Thanks.

On Jan 15, 12:01 pm, "linkin" <liu.an...@gmail.com> wrote:
Quote:
Hi,

I'm trying to measure the phase of a squarewave signal (that has
jitter) over time. The way I am doing this is finding the threshold
crossing times using the cross() function in the calculator (I'm using
IC5141). This gives me a list of times that the signal crosses a
threshold. Call those times T1, T2, ..., TN. What I want to do next
is to take those T1, T2,... TN values and MOD (modulo operation) them
with the period of a reference squarewave signal. However, when I use
the mod() function in the calculator, it complains that the operands
are not integers. I tried multiplying everything by 1e12 (since I am
working on the picosecond scale) to turn the operands into integers,
but the calculator can't seem to handle an expression with 1e12 in it
(the value becomes 2147483647 when I evaluate it).

I looked into the documentation for calculator with no luck.

Does anyone know how I can efficiently make the measurement I want?

Andrew

Guest

Thu Aug 03, 2017 6:31 pm

newer version of IC has modf() function that accept floating point numbers. However, it can not work on signal type.

Amer

On Monday, January 15, 2007 at 12:01:38 PM UTC-5, linkin wrote:
Quote:
Hi,

I'm trying to measure the phase of a squarewave signal (that has
jitter) over time. The way I am doing this is finding the threshold
crossing times using the cross() function in the calculator (I'm using
IC5141). This gives me a list of times that the signal crosses a
threshold. Call those times T1, T2, ..., TN. What I want to do next
is to take those T1, T2,... TN values and MOD (modulo operation) them
with the period of a reference squarewave signal. However, when I use
the mod() function in the calculator, it complains that the operands
are not integers. I tried multiplying everything by 1e12 (since I am
working on the picosecond scale) to turn the operands into integers,
but the calculator can't seem to handle an expression with 1e12 in it
(the value becomes 2147483647 when I evaluate it).

I looked into the documentation for calculator with no luck.

Does anyone know how I can efficiently make the measurement I want?