FPGA Implementation of Arcsine Function Using CORDIC Algorithm

FPGA Implementation of Arcsine Function Using CORDIC Algorithm

Anurup Saha Archisman Ghosh K. Gaurav Kumar 

ADES Lab, Dept. of E.T.C.E, Jadavpur University, Kolkata 700032, India

Corresponding Author Email: 
sahaanurup24@gmail.com, archismanghosh12@gmail.com, kgauravkumar35@gmail.com
25 September 2017
| |
30 September 2017
| | Citation



This paper presents finite state machine based hardware to calculate arcsine function using CORDIC algorithm. CORDIC algorithms provide an effective methodology to compute a large range of transcendental functions, since it only requires addition, shift and subtraction operations.  The design has been done using verilog HDL and it has been tested in SPARTAN-3 FPGA. Since different applications may require different accuracy, the focus has been on how an FPGA implementation of arcsine function can be easily reconfigured when higher precision is required.


CORDIC, FPGA, Computer arithmetic, Arcsine, ASM.

1. Introduction
2. Cordic Algorithm
3. Steps to Compute Arcsine
4. Results and System Performance
5. Conclusion

The authors would like to thank Prof. M. K. Naskar, Asim Maiti for their constant help, guidance, and support.


1. J.E. Volder, The CORDIC trigonometric computing technique, 1959, IRE Transactions on Electronic Computers, vol. EC-8, pp. 330-334.

2. J.S. Walther, A unified algorithm for elementary functions, 1971, Spring Joint Computer Conf., pp. 379-385.

3. B. Parhami, Computer arithmetic, Oxford University Press, pp. 361-371.

4. W.E. Ferguson, T. Brightman, Accurate and monotone approximations of some transcendental functions, 1991, Proceedings 10th Symposium on Computer Arithmetic, pp.237-244.

5. P.T.P. Tang, Table-lookup algorithms for elementary functions and their error analysis, 1991, Proceedings 10th IEEE Symposium on Computer Arithmetic, pp. 232-236. 

6. J. Duprat, J.M. Muller, The CORDIC algorithm:new results for fast VLSI implementation, 1993, IEEE Transactions on Computers, vol. 42, pp. 168-178.

7. R.J. Andraka, Building a high performance bitserial processor in an FPGA, 1996, Proceedings of Design SuperCon '96, pp. 5.1-5.21.

8. P.P. Chu, FPGA prototyping by verilog examples, John Wiley & Sons, pp 139-141.