摘要 |
An arithmetic unit carries out sequentially arithmetic pseudo division and reverse-sequentially arithmetic pseudo multiplication according to algolithm based on CORDIC method utilizing constant values 2kxarctan(2-k) so as to calculate value of inverse trigonometric function arctan y/x. A generater sequentially generates constant values 2kxarctan(2-k) from k=m-1 to k=0 where k=0, 1, . . . , m-1. A first register is operable during the pseudo division for storing a first variable and operable during the pseudo multiplication for storing a destined variable. A second register is operable during the pseudo division for storing a second variable. A barrel shifter right-shifts the value of second variable by a given shaft bit count 2k where k=1, 2, . . . , m-2, m-1, m. A first adder-subtracter operates during the psuedo division for selectively adding or subtracting the right-shifted value of second variable to or from the value of first variable to output the result into the first register to thereby update the value of first variable, and operates during the pseudo multiplication for selectively adding or subtracting the constant value of generator to or from the value of destined variable stored in the first register to output the result into the first register to thereby update the value of destined variable. A second adder-subtracter operates during the pseudo division for selectively adding or subtracting the value of first variable to or from the value of second variable to output the result into the second register to thereby update the value of second variable. An m-stage stacker operates to process a sign bit of the second variable in First-In, Last-Out basis for controlling the first and second adder-subtracters to selectively carry out adding or subtracting operation.
|