The lookup table length is wrong in this description?

Discussion in 'VHDL' started by fl, Jul 8, 2013.

  1. fl

    fl Guest

    I read the following on a division algorithm. I cannot get the lookup tablelength 4096 as it stated in the last.

    The first segment for LUT is 511. Is it right?

    Then, the second segment has the table words: (1023-511)/2=256
    All the rest segments are the same 256 length.
    Thus, the total LUT has: 511+6*256=2047.
    It has said that it avoided LUT for negative division. I think the total LUT is length 2047 (or 2048 for 2's power).

    What is your opinion on the LUT? 2047 or 4096?


    Table 1: The optimum segmentation scheme.
    Segmentation Mapping ratio
    1-511 1 : 1
    512-1023 1 : 2
    1024-2047 1 : 4
    2048-4095 1 : 8
    4096-8191 1 : 16
    8192-16383 1 : 32
    16384-32767 1 : 64

    Absolute error is calculated by subtracting the true value
    of the inverse 1/b from the LUT output. Average error is the
    mean of the absolute error among the 32767 data. Since the
    value of 1/b retrieved from the LUT is later multiplied by
    a in order to generate the division result, any precision error
    in LUT will be eventually magnified by the multiplier.
    Therefore, the worst-case error is more critical than the average
    precision error. The worst-case error can be calculated
    as follows: worst-case error of 1/bk = absolute error of
    (1/bk) × bk-1.

    The error analysis was performed to investigate both the
    absolute error in average and the worst-case. As a result of
    this analysis an optimum segmentation scheme, tabulated in
    Table 1, was determined. It provides the minimum precision
    required of a typical hardware-implemented matrix inversion
    operation. This was verified by means of simulation using
    Matlab-DSP blockset for a number of applications. The
    resulting LUT holds 4096 inverse values with a 26-bit word
    length in 16.10 data format.
    fl, Jul 8, 2013
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.