L
Luis Cupido
Guest
Hello.
I would like to have at some point of my code
MV= sqrt(I^2+Q^2);
but since the above I have no clue how to do in a single clock cycle
I have just I^2+Q^2 in the form:
pv <= i**i + q**q;
That uses a few embedded multipliers and works great.
The number of bits in the result is obviously in (2x)+1
Since I can't afford to manipulate that wide word further
down the chain I just truncated it to the same number of bits of the input.
All fine but a lot of dynamic range was lost
(this is some DSP coding as you might have guessed already).
Is there any compression function just gates, that could work
unclocked (for me to get done with one clock latency) that does the
SQRT( ) or anything that resembles this function just to get the same
dynamyc range preservation effect as the SQRT( ) does.
Pardon me for being a bit off topic.
Anyone has any idea ?
Luis C.
I would like to have at some point of my code
MV= sqrt(I^2+Q^2);
but since the above I have no clue how to do in a single clock cycle
I have just I^2+Q^2 in the form:
pv <= i**i + q**q;
That uses a few embedded multipliers and works great.
The number of bits in the result is obviously in (2x)+1
Since I can't afford to manipulate that wide word further
down the chain I just truncated it to the same number of bits of the input.
All fine but a lot of dynamic range was lost
(this is some DSP coding as you might have guessed already).
Is there any compression function just gates, that could work
unclocked (for me to get done with one clock latency) that does the
SQRT( ) or anything that resembles this function just to get the same
dynamyc range preservation effect as the SQRT( ) does.
Pardon me for being a bit off topic.
Anyone has any idea ?
Luis C.