avi

CORDIC Accelerator 4: CORDIC algorithms

CORDIC is short for Coordinate Rotation Digital Compute. It was conceived in 1956 out of necessity to replace the analog resolver in the B-58 Bomber's navigation computer.

CORDIC algorithms are used to calculate sine, cosine, sqrt, log, and more, in a way that is efficient for digital systems. Check out this video to understand how CORDIC algorithms compute these functions using only shift and add operations which are "inexpensive" in terms of digital design as opposed to multiplication and division.

In a robotic setup with many degrees of freedom, the system will be constantly calculating trigonometric functions to derive goal angles for each robot joint. This can pose a significant computation load on the mission computer.

In this project I will try to build a specialized CORDIC coprocessor to accelerate these computations using parallelization and pipelining. The idea is to use an external FPGA with my custom design which can receive job packets over ethernet.

Next: WIP