This paper is devoted to the study of number representations and algorithms leading to efficient implementations of modular adders and multipliers on recent field programmable arrays. Our hardware operators take advantage of the building blocks available in such devices: carry-propagate adders, memory blocks, and sometimes embedded multipliers. The first part of the paper describes three basic methodologies to carry out a modulo m addition and presents in more details the design of modulo (2n ± 1) adders. The major result is a novel modulo (2n + 1) addition algorithm leading to an area-time efficient implementation of this arithmetic operation on FPGAs. The second part describes a modulo m multiplication algorithm involving small multipliers and memory blocks, and modulo (2n + 1) multipliers based on Ma's algorithm. We also suggest some improvements of this operator in order to perform a multiplication in the group (Z*2n+1,.).
Mendeley saves you time finding and organizing research
Choose a citation style from the tabs below