RNS Reverse Converters


The Residue Number System (RNS) is an alternative representation of integers that replaces the binary weighted representation by a different one by getting the integer's moduli for a given moduli set of pairwise coprime integers. Bypassing the mathematical details, the operations in RNS usually comprise three steps:

i) a conversion from binary to the RNS representation (forward conversion),

ii) the computation in parallel over the RNS representation, and

iii) a final conversion from the RNS representation to weighted binary (reverse conversion).

While the first two steps are often straightforward, the last step can be a demanding operation. Namely, the reverse conversion, if not efficiently implemented, can be a bottleneck for the performance of a system based on RNS. Therefore, in order to implement efficient computing circuits based on RNS, special attention must be paid to the design of the reverse converters. Several conversion methods exist, suiting a wide range of RNS moduli sets. My research focus both on the design of converters for existent moduli sets and the on the utilization of new moduli sets that can provide increased conversion efficiency.

IBM Research  IST link  INESC-ID link  Sips link