Summary: | Trigonometry is of great importance in mathematics as well as in physics, engineering, and chemistry. Astronomy, geography, navigation, study of optics and acoustics, oceanography, architecture, calculus, etc. are just several examples where trigonometry is significantly practiced. Historical figures like Pythagoras and Columbus used trigonometric tables in their careers. The birth of software has empowered relatively faster trigonometric functions performed by processors. In real-time applications though, such as trajectory calculations in military or space exploration, or in biomedical authentication system for fast access or rejection decision, trigonometric computation by software is a considerably time-consuming process. Coordinate Rotation Digital Computer (CORDIC) is an algorithm developed for hardware implementation as a real-time solution to trigonometric computation. This report presents a design approach to realize the CORDIC algorithm, prototyped as an embedded system in an Altera Field Programmable Gate Array (FPGA) development board running at 100 MHz clock frequency. The design flow applies the systematic Register Transfer Level (RTL) methodology, partitioning the design into a Datapath Unit (DU) for computation tasks, and a Control Unit (CU) for controlling the operation flow. Experimental results show that a high accuracy was obtained, with mean computation errors between 0.0014% and 0.0023% with respect to a software implementation on the same platform. The speed up in the execution time is about 89 times for the computation of cosine and sine functions, and 69 times for the arctangent. The work demonstrates the power of the CORDIC algorithm, and presents a methodology for an efficient complex hardware design.
|