In this paper, we present an IP core of coprocessor supporting computations requiring integer multiple-precision arithmetic (MPA). Whilst standard 32/64-bit arithmetic is sufficient to solve many computing problems, there are still applications that require higher numerical precision. Hence, the purpose of the developed coprocessor is to support and offload central processing unit (CPU) in such computations. The developed digital circuit of the coprocessor works with integer numbers of precision approaching maximally 32 kbits. Our IP core is developed using the very high speed integrated circuit hardware description language (VHDL) and simulated assuming implementation in field-programmable gate arrays (FPGAs). It exchanges data using three 64-bit data buses whereas a code for execution on the coprocessor is fetched from a dedicated 8-bit bus (all buses in AMBA standard - AXI Stream). An instruction set of the coprocessor currently consists of 7 instructions including multiplication, addition and subtraction. The computations can maximally employ 16 registers of the length 32k bits. Simulation results assuming implementation on Zynq system on chip (SoC) show that computations of the factorial $(n!)$ for $n=\pmb{1000}$ take $\pmb{326.4}\mu\pmb{\sec}$. Such a design currently requires 7982 look-up tables (LUTs), 10400 flip-flops (FFs), 33 block RAMs (BRAMs) and 28 DSP modules. The processor is aimed to provide scalability allowing one to use the developed IP core not only in scientific computing, but also in embedded systems employing encryption based on MPA.
[1]
Earl E. Swartzlander,et al.
A Family of Variable-Precision Interval Arithmetic Processors
,
2000,
IEEE Trans. Computers.
[2]
Arnold Schönhage,et al.
Schnelle Multiplikation großer Zahlen
,
1971,
Computing.
[3]
Javier Hormigo,et al.
CORDIC Processor for Variable-Precision Interval Arithmetic
,
2004,
J. VLSI Signal Process..
[4]
T. P. Stefanski.
Electromagnetic Problems Requiring High-Precision Computations
,
2013,
IEEE Antennas and Propagation Magazine.
[5]
Jonathan M. Borwein,et al.
High-precision computation: Mathematical physics and dynamics
,
2010,
Appl. Math. Comput..
[6]
Milos D. Ercegovac,et al.
A variable long-precision arithmetic unit design for reconfigurable coprocessor architectures
,
1998,
Proceedings. IEEE Symposium on FPGAs for Custom Computing Machines (Cat. No.98TB100251).
[7]
Hamid Bessalah,et al.
Hardware algorithm for variable precision multiplication on FPGA
,
2009,
AICCSA.
[8]
Yong Dou,et al.
FPGA Implementation of Variable-Precision Floating-Point Arithmetic
,
2011,
APPT.
[9]
David H. Bailey,et al.
High-precision floating-point arithmetic in scientific computation
,
2004,
Computing in Science & Engineering.