XC886/888CLM
CORDIC Coprocessor
User’s Manual
11-9
V1.3, 2010-02
CORDIC Coprocessor, V 1.2.1
fixed input and result data form of S4.11 (signed 4Q16) which is a fraction with
11 decimal places.
Refer to
for details on data normalization.
11.2.6
Accuracy of CORDIC Coprocessor
Each CORDIC calculation involves a fixed number of 16 CORDIC iterations starting from
iteration 0. The hyperbolic function is special in this respect in that it starts from
iteration 1 with repeat iterations at defined steps. The addressable data registers are
16 bits wide, while the internal kernel X and Y data registers used for calculation are
each 26 bits wide (24 data bits plus 2 overflow bits) and internal kernel Z data register is
21 bits wide (20 data bits plus 1 overflow bit). For more details on the data form of the
LUTs, refer to
and
For input data values within the specified useful domain (see
each calculation of the CORDIC Coprocessor is guaranteed to converge, although the
accuracy is not fixed per data form in each operating mode. The accuracy is a measure
of the magnitude of the difference between the result data and the expected data from a
high-accuracy calculator. “Normalized Deviation” (ND) is a generic term used to refer to
the magnitude of deviation of the result data from the expected result. The deviation is
calculated as if the input/result data is integer. In case the data is a rational number, the
magnitude of deviation has to be interpreted. For example, Z for linear vectoring mode
of the data form S4.11 - ND = 1 (01
B
) means the difference from expected real data has
magnitude of no more than |2
-11
+ 2
-11
|; ND = 2 (10
B
) means the difference is no more
than |2
-10
+2
-11
|; ND = 3 (11
B
) means the difference is no more than |2
-11
+2
-10
+2
-11
|;
ND = 4 (100
B
) means the difference is no more than |2
-9
+2
-11
|, and so on. The value of
2
-11
is always added to account for possible truncation error.
lists the probability of Normalized Deviation in a single calculation, obtained
from simulation with approximately one million different input sets for each respective
CORDIC Coprocessor operating mode, based on the input conditions specified (always
within useful domain, possibly with additional conditions).
The accuracy of each mode can be easily increased, by working with rational numbers
(fraction) instead of integers. This refers to X and Y data only (X and Y must always be
of same data form), while the data form of Z is fixed per the respective LUT’s definition.
It is obvious to expect that for a given input of X and Y (and Z), the calculated result will
always return a constant value—regardless of whether X and Y are integers or rational
numbers. The only difference is with regards to interpreting the input and result data, i.e.,
with no decimal place or how many decimal places. The deviation of the CORDIC result
from the expected data is never smaller if X and Y are integers instead of rational
numbers. Therefore, wherever possible, assign X and Y as rational numbers with
carefully selected decimal place point, which could be based on the maximum ND of that
mode.
*
Содержание XC886CLM
Страница 1: ...User s Manual V1 3 2010 02 Microcontrollers 8 Bit XC886 888CLM 8 Bit Single Chip Microcontroller...
Страница 3: ...User s Manual V1 3 2010 02 Microcontrollers 8 Bit XC886 888CLM 8 Bit Single Chip Microcontroller...
Страница 324: ...XC886 888CLM Serial Interfaces User s Manual 12 52 V1 3 2010 02 Serial Interfaces V 1 0...
Страница 663: ...w w w i n f i n e o n c o m Published by Infineon Technologies AG...