FFT64_GN_DT_1_0

  • Upload
    suhas13

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

  • 8/9/2019 FFT64_GN_DT_1_0

    1/4

    Fast 64-points FFT / IFFT

    1/4

    1 Features

    64-Point complex FFT or IFFT algorithm

    Configurable word width (10- to 32-bit words)

    Dynamic selection between FFT and IFFT

    Dynamic normalization selection

    Split-radix FFT algorithm for enhancedperformance

    New FFT transform result is available after amaximum of 69 clock cycles resulting in 1.38us@ 50 MHz per FFT operation

    Synthesizable and configurable RTL (VHDL)netlist

    Support for ASIC and FPGA technology Validated on FPGA @ 16 MHz

    Provided with test bench and test vectors

    Implemented in standard logic gates only (noRAM)

    2 General Description

    The Fast Fourier Transform (FFT) core computes a64-point complex forward FFT or inverse FFT (IFFT).Direction of Transform can be selected dynamically.

    The input data is a vector of 64 complex elements.Real and imaginary parts of each complex elementare represented as 10- to 32-bit 2s complementnumbers.

    The output data as well is a vector of 64 complexelements each of which is represented by two 10- to32-bit 2s complement numbers.

    Normalization (division by 64) is selectabledynamically.

    The applied algorithms enable the block to computeone FFT / IFFT transform within 64 to 69 clockcycles, depending on the selected word width.

    Selecting the word width (prior to synthesis) isbasically a tradeoff between accuracy, transform timeand gate count / power consumption and needs to bedone according to system application.

    A number of selected test vectors are provided astest bench. The solution vectors calculated by theFFT block can be compared to solution vectorscalculated by specialized standard software such asMATLAB.

    3 Block Diagram

    Figure 1: Functional Block Diagram

  • 8/9/2019 FFT64_GN_DT_1_0

    2/4

    2/4

    4 Signal Description

    Signal Name Direction Size Active

    Description

    masterclk Input 1 N.A. Master clock.Note: maximal allowable clock frequency is technology dependent.(Example: With TSMC 0.18 um at 3.3 V, typical process, max frequency is 75MHz)

    reset_n Input 1 low Global asynchronous reset.If this signal is set to low an asynchronous global reset is performed.All registers and all output signals are set to zero.

    start_fft Input 1 high Start of conversion.If this signal is set to high for at least one clock cycle FFT / IFFToperation will be started. Once start has occurred, this signalbecomes redundant and can be either high or low.

    Note: Before start_fft is latched high by a rising edge of masterclk valid datamust be presented to the data inputs. Once start of operation has occurred,input data must remain valid for at least nine clock cycles. After that, input

    data becomes redundant and new data may be presented to the data inputs.Note: If this signal is set to high continuously (see Figure 3 restart condition)and input data is presented right in time a continuous conversion mode isreached. In this mode output data will be available after every {64 to 69} + 1clock cycles.Note: To avoid continuous mode operation (see Figure 3 Stopcondition)this signal must be set to low before the trailing edge of signal fft_done.

    ifft_mode Input 1 N.A. Operation mode selection.If this signal is set to low FFT operation is performed, if it is set tohigh IFFT operation is performed.

    ifft_norm Input 1 high Normalization mode for IFFT.If this signal is set to high normalization is performed on the outputdata. That is to say, all output values are divided by a factor of 64.

    Note: When the block performs an FFT conversion (ifft_mode = low) this

    signal is redundant and does not affect the operation.x_in[63:0] Input 64 N.A. Real part of complex input vector.

    Note: Complex input vector's element n is equal to x_in[n] + j y_in[n].

    y_in[63:0] Input 64 N.A. Imaginary part of complex input vector.

    fft_done Output 1 high FFT / IFFT operation completed.Once the selected operation (FFT / IFFT) is finished, this signal willbecome high for one clock cycle.

    x_out[63:0] Output 64 N.A. Real part of complex output vector.Note: Complex output vector's element n is equal to x_out[n] + j y_out[n].

    y_out[63:0] Output 64 N.A. Imaginary part of complex output vector.

    Table 1: Signal Description

    5 Symbol

    Figure 2: Block Symbol

    reset_n

    start_fft

    masterclk

    ifft_norm

    ifft_mode

    FFT

    x_out [63:0]

    y_out [63:0]

    fft_done

    Generics:data_size_g

    y_in [63:0]

    x_in [63:0]

  • 8/9/2019 FFT64_GN_DT_1_0

    3/4

    3/4

    6 Computation Timing

    Figure 3 shows the computation timing conditions, which need to be respected in any circumstances.

    Figure 3: Computation Timing

    7 Theory of Operation

    The Discrete Fourier Transform (DFT) formula is:

    nkN

    n

    nk WxX

    =

    =1

    0

    withnjn

    NNeW2

    =

    The inverse DFT operation is defined as:

    nkN

    k

    kk WXN

    x

    =

    =1

    0

    1

    8 Data Format

    Input and output data vectors consist of 64 fixed-point complex vector elements, each represented bya real part and an imaginary part. The word width of

    each of the two values of each vector element can

    be configured prior to synthesis using the genericsdata_size_g. Word width may be between 10 and32 bits. Input and output values are represented as2s complement numbers.

    Note: It is a matter of interpretation, where to put thedecimal point within the 10- to 32-bit fixed pointinput values.

    However, the position of the decimal point in theoutput values is shifted to the right by 6 digitsreferring to the position of the decimal point in theinput values.

    This measure does increase accuracy withoutaffecting gate count and transform time.

    9 Accuracy

    Computation accuracy increases with increasingword width and so does gate count and transformtime. So basically it is a trade off between accuracy,gate count and transform time.

    10 Transform Time

    As shown in Table 2 transform time depends on theword width used to represent real and imaginaryparts of the elements of input and output vectors.

    Wordwidth in

    bits

    Transformtime inclockcycles

    Transformtime @

    20MHz inus

    10 to 12 64 3.20

    13 to 16 65 3.25

    17 to 20 66 3.3021 to 24 67 3.35

    25 to 28 68 3.40

    29 to 32 69 3.45

    Table 2: Transform Time

    Transform time 64 to 69 cycles

    Valid data required 9 Cycles

    masterclk

    start_fft

    fft_done

    data

    Restart condition

    Stop condition

    In case of restart

    > 1 Cycle

  • 8/9/2019 FFT64_GN_DT_1_0

    4/4

    4/4

    11 Gate Count

    As shown in Figure 4 the number of standard logicgates consumed by the block is highly dependent

    on the word width used to represent input andoutput data.

    30

    40

    50

    60

    70

    80

    90

    100

    110

    120

    130

    140

    150

    160

    10 12 14 16 18 2 0 2 2 2 4 2 6 2 8 3 0 3 2

    Word width in bits

    Figure 4: Gate Count vs. Word Width

    12 Power Consumption

    An increasing number of standard logic cells willresult in increasing power consumption. Hence, asgate count is dependent on word width powerconsumption is too.

    Furthermore, power consumption depends on theclock frequency and on the applied technology. Theprovider of the standard cell library and the foundry

    will provide numbers for the term Power/Gate/MHz.

    13 Test Bench

    A number of carefully selected test vectors areprovided as test bench. The solution vectorscalculated by this FFT block can be compared tosolution vectors calculated by specialized standardsoftware such as MATLAB.

    14 Deliverables

    As part of the License Agreement the components

    listed below will be delivered: VHDL Netlist (Verilog TBD)

    Test Bench

    Datasheet

    Synthesis Scripts (Ambit + Synopsys)

    15 References

    [1] A. V. Oppenheim and R. W. Schafer, Discrete-time signal processing, Prentice-Hall, pp. 514661.

    16 Contact

    For more details about our products and services,please visit us at www.newlogic.com orwww.wipro.com or contact us at:United StatesWipro Technologies1300, Crittenden Lane2nd Floor, Mountain ViewCA 94043USA

    Tel.: +1-650-316 3555Fax: +1-650-316 3468

    EuropeNewLogic Technologies(a Wipro Company)Millennium Park 6A 6890 LustenauAustriaTel.: +43-5577 995-0Fax: +43-5577 995-988

    JapanWipro Technologies

    #911A, Landmark Towers2-1-1, Minatomirai 2-ChomeNishi-Ku, Yokohama 220-8109JapanTel.: +81-45-650 3950Fax: +81-45-650 3951IndiaWipro TechnologiesGanappa Towers53/1, Hosur Main RoadMadiwala, Bangalore 560 068 KarnatakaIndiaTel.: +91-80-550 2001

    Information furnished is believed to be accurate and reliable. However, Wipro-NewLogic assumes no responsibility for theconsequences of use of such information nor for any infringement of patents or other rights of third parties which may result fromits use. No license is granted by implication or otherwise under any patent or patent rights of Wipro-NewLogic. All information issubject to change without notice, 2006 NewLogic, a Wipro Company. Version 1.1, January 2006. All Trademarks are theproperty of their respective owners.

    GatecountinK-Gates