hi andrew,

i'm ccing aaron parsons on this, designer of the original fft blocks.
aaron might be able to comment on your email.

as far as i know, no one has ever used the overflow outputs
from the FFT blocks, so you may be the first person to debug
this.

best wishes,

dan


Andrew Martens wrote:
Hi all

I have been looking at the the butterfly_direct block in the FFT subsection of the 10.1 library and have noticed a few things I hope someone can help me with.

They relate to the logic that seems to be used to test for overflow ('of' output). There are 4 Slice blocks extracting the most significant bits and testing if they are all 1's (with an 'and' block) or all 0's (with a 'nor' block). There are two things that seem to be out of place for me;

1. The blocks testing the real and imaginary components of each stream are different. For the real component of a channel, all 4 Slices feed the 'nor' block whereas, for the imaginary component, the 4th bit from MSB feeds the 'nor' block twice and the 3rd doesn't. I would guess that this is not meant to be the case?

2. Taking the four MSBs means that (for twiddle_general_3_mult as twiddle block at least) that these are all bits above the binary point i.e not fractional bits. The test for all 1's would make this a small negative number (i.e close to 0) and the test for all 0's would be a small positive value, just above 0. Is this logic testing for overflow and underflow by testing if the bits are all '1' or '0' respectively?

There is probably a clever answer to this or I have misunderstood something somewhere. Could someone have a look at this and let me know what they think.

Thanks
Andrew

Reply via email to