{'fraction_non_alphanumeric': 0.0800711743772242, 'fraction_numerical': 0.012455516014234875, 'mean_word_length': 5.3559322033898304, 'pattern_counts': {'":': 0, '<': 16, '<?xml version=': 0, '>': 16, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
RNS Arithmetic Units for Modulo {2^n+-k}

Recently new Residue Number Systems (RNS) moduli sets have been proposed in order to increase the dynamic range and reduce the width of channels, therefore, reducing the processing time and further exploiting the carry-free characteristic of the modular arithmetic. In this paper we propose improved units for addition, subtraction, and multiplication in RNS for modulo {2<sup>n</sup>±k}. With this work, the somewhat disregarded field of RNS unit design is covered, encouraging the development of moduli sets with channels other than the traditional {2<sup>n</sup>}, {2<sup>n</sup>±1} modulo. In order to evaluate the performance of the proposed structures, they are compared with the well known units for modulo {2<sup>n</sup>}, {2<sup>n</sup>±1}, and {2<sup>n</sup>±3}. These structures allow to implement generic units for modulo {2<sup>n</sup>±k}, in the case of modular multiplication it is achieved the same critical path delay and merely 4% of increase on area resources, when compared with the dedicated structure presented in the state-of-art for modulo {2<sup>n</sup>±3}.