Download XC886/888CLM
Transcript
XC886/888CLM CORDIC Coprocessor fixed input and result data form of S4.11 (signed 4Q16) which is a fraction with 11 decimal places. Refer to Chapter 11.2.3 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 Chapter 11.3.1 and Chapter 11.3.2. For input data values within the specified useful domain (see Table 11-2), the result of 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 (01B) means the difference from expected real data has magnitude of no more than |2-11 + 2-11|; ND = 2 (10B) means the difference is no more than |2-10+2-11|; ND = 3 (11B) means the difference is no more than |2-11+2-10+2-11|; ND = 4 (100B) 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. Table 11-3 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. User’s Manual CORDIC Coprocessor, V 1.2.1 11-9 V1.1, 2007-05
Related documents
XE166 Derivatives
Peripheral Units User`s Manual
Addendum to TC1766 User`s Manual V2.0
8-Bit XC82x
Microcontrollers 8-Bit Single-Chip Microcontroller
XC27x5X Derivatives
TC1796 Documentation Addendum V2.0
Infineon C868 User`s Manual
C868 8 - SELF8051
XC886/888LM Series Errata Sheet, Step AC
Infineon XC167CI-16F, XC167CI-32F Peripheral Units User`s Manual
Infineon XC866-1FR, XC866-2FR, XC866-4FR, XC866L-1FR