目前CORDIC算法研究往往集中在16位输出精度,而在数字加密和信息安全等领域需要更高精度输出.如果按照常规的一些方法进行32位精度的CORDIC算法设计,存在输出时延长、硬件消耗大等问题.本文提出了一种基于压缩查找表的32位精度CORDIC算法,根据内在迭代规律分解并压缩查找表,还采用区间折叠、角度重编码和合并迭代等,实现了一种电路资源消耗不大,输出时延仅需3个时钟周期,基于定点数格式的算法设计.仿真结果表明,查找表容量压缩到常规方法所需容量的1.78%,输出时延从常规方法所需的8个时钟周期降低到3个时钟周期,输出平均误差为2.3048×10-10.本设计具有电路资源消耗少、精度高、输出时延低等优点,更适合实时性强、硬件资源紧凑的现代通信应用场合.
Currently researches on CORDIC(coordinate rotation digital computer) algorithm are mainly about 16-bit output accuracy, yet higher precision outputs are needed in areas like digital encryption and information security. If some regular methods are adopted to implement 32-bit CORDIC algorithm, problems like long output delay and huge hardware consumption will arise. The 32-bit CORDIC algorithm, with a compressed LUT(look-up table),was proposed in this paper. The improved design, with less circuit resources and 3 clock periods output delay, compressed and decomposed the LUT according to the inner iteration pattern,folded the range, re-coded the angle, and merged some iterations. Simulation indicates that the size of compressed LUT using fixed-point format is reduced to 1.78%, and the output delay periods are reduced from 8 to 3. Moreover the average of magnitude of output error is 2.3048×10-10. The improved design has some advantages such as less hardware consumption, higher precision and less output delay, and it is more applicable for modern communication occasions that demand for brilliant time-real performance and less hardware resources.