Abstract
The Residue Number System (RNS) is a non-positional number system that allows parallel computations without transfers between digits. However, some operations in RNS require knowledge of the positional characteristic of a number. Among these operations is the conversion from RNS to the positional number system. The methods of reverse conversion for general form moduli based on the Chinese remainder theorem and the mixed-radix conversion are considered, as well as the optimized methods for special form moduli. In this paper, a method is proposed that develops the authors’ ideas based on the modified mixed-radix conversion and reference points. The modified method based on the mixed-radix conversion in this case makes it possible to replace the operation of finding the residue of division by a large modulo with the sequential calculation of the residue. The method of reference points allows to reduce the size of the stored information compared to the use of ROM to store all the residues of RNS. The application of this approach makes it possible to find a balance between the speed of the calculation and the hardware used, by varying the number of moduli of one method and the other.
1. Introduction
Position-based calculations with binary and decimal numbers require transfers between digits, which have a negative impact on performance or device overhead for calculations with large numbers. In non-position-based number systems, such as the Residue Number System (RNS), transfers between digits are avoided. Interest in RNS as a basis for computing system development emerged as early as the 1950s [1,2]. In particular, in the USSR, long-range detection radar stations operating on the basis of modular arithmetic and built under the leadership of I.Ya. Akushsky and D.I. Yuditsky were deployed in the 1960s. Currently, various aspects of the residue number system are applied in patents of companies from the USA (Olsen IP Reserve, LLC; The Athena Group, Inc.; Cisco Technology, Inc.), China (Tianjin University; No 30 Inst China Electronic Technology Group Corp.; Univ Xidian), and the UK (Samsung Electronics Co., Ltd.).
The architecture of computing systems operating in RNS generally consists of forward conversion of positional numbers into RNS [3], computation of the main problem using modular addition [4], multiplication [5], number comparison and sign determination [6] operations, reconversion from RNS to positional number system [7,8,9,10,11,12,13,14]. Furthermore, if addition, subtraction, multiplication in RNS have a parallel structure with numbers of small dimensions, then the operations of sign determination, comparison, conversion from RNS to the positional number system require the calculation of the positional characteristic of the number, which is computationally complex.
The work is structured as follows. In Section 2, reverse conversion methods for general form moduli, such as Chinese Remainder Theorem (CRT), Mixed-Radix Conversion (MRC), CRT with fractional numbers, New CRT I, and New CRT II are discussed. In Section 3, we consider the application of RNS moduli of the special kind , . Section 4 considers the MRC-based method proposed by the authors. In Section 5, the authors’ proposed method based on reference points is considered. However, the result of the work is the method considered in Section 6, which combines the use of modified MRC and the method of reference points. The results of the physical synthesis of the reverse conversion methods are presented in Section 7. Section 8 analyzes the results of the physical synthesis and draws conclusions about the applicability of the proposed approaches.
2. Reverse Conversion for General View Moduli
Most methods of reverse conversion are based on the use of CRT and MRC.
Reconstruction of a number X from its modular form using the classical form of the Chinese Residue Theorem (CRTc) [7] is possible by the formula:
where are RNS moduli, is RNS dynamic range, , is multiplicative inversion of modulo .
To illustrate the considered methods, let us consider examples of RNS with 8-bit range, in particular with range .
For the given RNS the auxiliary coefficients are:
Consider the reconstruction of the number . Then, using the Formula (1), we obtain:
In the case of the hardware implementation, the product calculations are performed in parallel, and the summation can be performed by tree doubling, which speeds up the calculations, but it is necessary to find the remainder of the division by a large number P.
Although in some cases it helps to simplify the scheme by using the Formula (1) to find the remainder for each summand , the hardware implementation of the classical CRT leads to large areas and delays.
Another approach to reverse conversion is using the mixed-radix conversion [7], according to which the number can be transformed into a positional number system based on the formula:
In this case, the MRC numbers can be calculated with the formulas:
Consider the reconstruction process for the number , then
Then, by the Formula (2), we obtain:
The main advantage of MRC is that calculations can be performed with small numbers without having to determine the remainder by a large modulo. However, the sequential architecture MRC leads to an increase in delay when the number of moduli increases.
To solve the problem of finding the remainder of the division by the dynamic range in the classical Chinese remainder theorem, its modification with fractional numbers in which the left and right parts of the expression (1) are divided by the dynamic range P [15]:
where the symbol denotes the fractional part of the number, and
In this case, the sum value in (3) is a positional characteristic that lies in the range and enables number comparison and sign detection. The number X we are looking for is obtained by multiplying by the dynamic range P, i.e.,
For the RNS with moduli , the coefficients calculated by the Formula (4) will be:
The number is reconstructed with the Formula (3):
then .
However, the coefficients can rarely be represented as a finite fraction, so the question of the accuracy of rounding the coefficients is acute.
In the article [7], there is an approximate modification of the method based on the CRT scaling by , where , . Then the Formulas (3) and (4) can be written as:
where the coefficients are rounded upwards
Then, the recovered number can be obtained by the formula with rounding down:
For RNS the required accuracy is , so the calculation is performed modulo . Then the coefficients are :
From the Formula (5) for the number we obtain:
Then X will be equal to:
Another method based on the CRT is a method called New CRT [8], which is given by the formula:
where
For the above considered RNS the coefficients of the new CRT will be:
Then, using the Formula (7) for the number we obtain:
The article [16] proposes two modifications of the New CRT, which are denoted as New CRT I and New CRT II.
Let us consider each of these methods separately. In New CRT I, the Formula (8) similarly calculates constants , which are used to find coefficients , :
Then, for these coefficients we build a matrix of characteristics:
which coefficients are obtained from the representation of in the mixed-radix conversion:
Then, from the matrix A and the value a vector can be obtained, i.e.:
Then, the number X can be reconstructed by the formula:
Consider a similar example for which the coefficients of are:
For the number we obtain the vector B:
From which we obtain:
For the case of ordered RNS with moduli satisfying the expression or more strictly , the reverse conversion can be obtained without taking into account the remainder modulo P.
In this case, the function is given by
and the required value of X is
The restriction of moduli in this case leads to an unbalanced RNS. So, for the 8-bit range, we can take a set of moduli , where the dimensionality of each module is one binary digit larger. In this case:
Then for the number we obtain:
The desired value of X can be obtained from (9) and the vector : , since , then .
This method requires matrix multiplication with small-digit numbers, finding the remainder modulo RNS, and multiplication with accumulation for n summands.
Another method proposed in [16] is called New CRT II.
For a two-moduli CRT with moduli, the Algorithm 1 denoted by findno .
| Algorithm 1 Algorithm findno number recovery for a two-moduli RNS |
| Require: |
| Ensure: |
|
For ordered RNS with moduli a recursive Algorithm 2 translate is used.
Consider an example of applying the Algorithm 2 to RNS and the number .
Since , according to step 5 of the Algorithm 2 we obtain two new calls of this algorithm translate and translate .
Calling translate leads to step 11 of the Algorithm 2, for which we obtain , , i.e., .
Calling translate leads to step 9 of the Algorithm 2, for which from the Algorithm 1 findno we obtain , . That is, .
| Algorithm 2 Algorithm translate of number reconstruction in RNS |
| Require: |
|
Then, according to step 8 of the Algorithm 2, the call findno , that is, the calculation
Thus, the New CRT II method is based on the recursive use of MRC with two moduli. In this case, there are difficulties in calculating the multiplicative inversion in the last steps of the algorithm, but in the hardware implementation these values can be written to memory.
Adding the remainder modulo leads to the expression:
For , denote , which splits into blocks and by and d bits, respectively, that is, .
Next, the variables introduced are:
and , (—concatenation of binary values).
Then the Formula (10) can be rewritten as:
In this case, as in (9), the value of , i.e., does not exceed the double range and can be computed without computing the remainder by a large modulo.
Consider a similar example, with moduli , then
For the number , calculate and , .
Then, from (11) we obtain .
This method allows you to find the reconstructed number without calculating the remainder large modulo, because .
3. Use of Special Type Moduli
To improve the performance of RNS, many researchers are considering moduli of a special kind [8], [9], and [10], [12], [13].
The most interesting among the reverse conversion methods is the optimization for the moduli set , which was proposed in the article [8].
The most efficient implementations are based on the modulo for which a number of properties are satisfied:
- The sign change (additive inversion) is achieved by bitwise negation, i.e., , e.g.,
- The multiplication by can be performed by a cyclic shift to the left by d digits, i.e., , e.g.,
- Multiplication by multiplicative inversion can be performed by a cyclic shift to the right by d positions or to the left by positions, since , i.e., , e.g.,
- For any non-negative integer i, , then the bit number can be represented as
The article [8] is based on the idea that an expression for the reverse conversion based on the CRT (1) can be represented in a form, where the constant and the variables can be separated:
First, one takes from the set two moduli for which the number is found from CRT:
Based on the MRC for the set of moduli , the number is found:
where
The optimization of the expression (13) is possible by bitwise operations. The first term can be represented as follows:
The second term appears as:
The third term can be represented as:
or
Depending on the chosen representation of the third term (14) or (15), the article [8] forms two variants of the reverse conversion constructed using the formula:
In the first case, based on the Formula (14) we have:
In the article [8], there is a typo that has zeros. However, it is obvious that contains one and zeros, and the number () contains one. Then adding the numbers will result in the lowest number being a one, and the remaining zeros will remain zeros. For example, for : .
For the second case, the formula (15) gives:
The addition of in the calculation of by the Formula (16) is equivalent to the addition of to . Moreover, the latter can also be obtained by simultaneous addition of to modulo and to modulo (leaving the remainder of even modulo unchanged, since ).
In the first case we obtain:
In the second case:
Consider a similar example with RNS , , for the number .
In the first case, the coefficients and do not depend on the value of n. Then the offset value of . From this follows
Then and .
For the second case for
and . Then the offset value of . From here
Then and
In the first case, only addition with is required, but n of OR logical operators are required when calculating , in the second case there is one OR operator, but addition is performed on both and .
4. Modified Method Based on MRC
The patent [17] presents a new Algorithm 3 for translation of RNS to the positional number system and base extension based on the mixed-radix conversion, which we will hereafter call “the modified mixed-radix conversion method”. This algorithm works with moduli of the generalized form.
| Algorithm 3 Reconstructing numbers and expanding bases |
| Require: |
| Ensure: , |
|
In some cases it is necessary to add one or more additional moduli to detect range overflows or to detect and correct errors. If the modulo is added, then the new range allows the display of any number .
Consider the Algorithm 3 in detail. Set of a residue number system with moduli for which the orthogonal bases of RNS , . Compute the bases of the MRC , , with . The orthogonal RNS bases are represented in MRC as a vector of values , for which . The values of form a triangular matrix.
Given , we need to recover the number X in the positional number system and find the remainder of the division of X by an additional modulo , which we denote by .
To do this, is multiplied by the triangular matrix , so , .
Then and are calculated, assuming that .
We can substitute that and are related as the remainder of the division of the sum by the modulo and the rank of the sum, i.e., the carry by how many times the sum value exceeds the modulo.
Then find the value of the expression to convert a number from RNS to a positional number system, and to expand the bases, find .
Let us consider an example to illustrate how the algorithm works. Given a residue number system with three moduli . Then let .
Let us calculate and :
Let us calculate :
Let us calculate the representation of in MRC:
, checking ,
, checking ,
, checking .
Given , we can compute :
Let us calculate and :
From this we obtain:
Consider the block diagram for converting numbers from RNS and base expansion based on the Algorithm 3 shown in Figure 1.
Figure 1.
Computational unit for translating numbers from RNS and expanding bases.
The number represented in RNS is fed to the n inputs of the residues, where n is the number of moduli of the residue number system.
The residues from the corresponding residue inputs are written to n residue storage units. From the outputs of the residue storage units, the residues moduli are fed to multipliers which form a triangular matrix and calculated values of the products of the residue with the base coefficients in the MRC , where , are orthogonal bases of RNS, are bases of MRC, with .
The output of the first residue storage unit modulo is connected to the inputs of n multipliers by , …, , which compute the values , .
The output of the second residue storage unit modulo is connected to the inputs of the -th multiplier by , …, , which compute the values , , and so on, the output of the n-th residue storage unit modulo are connected to the input of the multiplier by , which calculates the value .
The outputs of the multipliers are connected to the inputs of n modular adders modulo , , and the output of the multiplier by is connected to the input of the first modular adder modulo and performs calculations , , the value goes to the output of the first modular adder modulo , the value goes to the carry output of the first modular added modulo .
The outputs of the multipliers by and by are connected to the inputs of the second modular adder modulo , whose carry input is connected to the carry output of the first modular adder modulo , and calculates , , the value of goes to the output of the second modular adder modulo , the value of goes to the carry output of the second modular adder modulo .
Therefore, the outputs of the multipliers by , , are connected to the inputs of the modular adder modulo , whose carry input is connected to the carry output of the -th modular adder modulo , and calculates , , the value arrives at the output n of the modular adder modulo , the value of arrives at the carry output of the -th modular adder modulo , which is not connected to other elements.
The values of from the outputs of i-th modular adders modulo are fed to the inputs of i-th multipliers by the bases of MRC , , where multiplication of by takes place.
The output of the i-th multiplier by the bases of the MRC is connected to the i-th inputs of the adder and the modular adder, , the input of the extended base of the modular adder receives the modulo value , the output of the reduced number of the adder receives the reduced number X in the positional number system, and the output of the remainder on the extended basis of the modular adder receives the number on the extended basis, i.e., .
This method has a similar matrix structure to New CRT, but uses a sequential calculation without the remainder over a large modulo, as in MRC.
5. Method Based on Reference Points
In [18], a method of reference points based on the use of LUT tables is proposed for translation from a residue number system.
For a given set of moduli is chosen by the reference point modulo , which to reduce the number of values in memory it is more efficient to choose the largest modulo RNS.
Then the contents of the LUT will consist of reference points, which correspond to numbers , which are completely divided by the modulo .
In order to obtain an arbitrary number that is completely divided by , you must subtract from the number Y, that is, calculate .
For example, for a RNS and an initial number , the reference point is .
Thus, by analogy with New CRT II and the MRC for two moduli, the reference point will be , where is the positional number obtained from for the set of moduli .
For example, for the number , the reference point would be the value . Since for the set of moduli is 1, and , the reference point is , which corresponds to the subtraction from of residue .
It can be seen that the value of the reference point depends on the number with moduli and range . Then the computation can be replaced by a memory access, which by the value will give the value .
In this case, the reverse converter based on the reference points can have a hierarchical structure, for example, as shown in Figure 2. In this case, based on the differences of the residues and by moduli and , respectively, using LUT with the values of the reference points, which are , where is—the restored value over the moduli , and adding with the remainder modulo find the restored number modulo .
Figure 2.
Reverse converter based on reference point.
Then similarly are the differences of the residues by moduli and and the reconstructed number , and since the value of can greatly exceed the values of modules and , forward conversion blocks are used, which can be implemented both arithmetically and using memory. Similarly, the values in the LUT of reference points are found, where the pre-calculated values for and .
Thus, by varying the number of LUT inputs from 1 to and the number of reverse conversion layers, a solution with better time or area can be obtained.
6. Modification of the Reference Points Method Based on the MRC
As the number of moduli and their dimensionality increase, the method of reference points requires a significant amount of memory.
First, we introduce a method based on the proposed methods of reference points and modified MRC. Let us take RNS , where , i.e., degree 2. Then using the Algorithm 3 we find by the moduli , and using the method of reference point we compute . Since , this expression can be reduced to taking k lower bits of the sum , where is the bitwise inversion.
Then, based on this value, a precomputed value equal to is selected from the LUT table of size , where . The final value is obtained by adding . In this case, the reverse converter can have a structure, for example, as shown in Figure 3.
Figure 3.
Reverse converter based on reference point and modified MRC.
Consider an example for RNS and the number . To calculate the Algorithm 3, find the parameters of the RNS :
Let us calculate :
Let us calculate the representation of in the MRC:
To calculate we then compute :
Let us calculate and :
From this we obtain:
According to the method of reference vectors we find the difference
In the case of a hardware implementation, to obtain , one must add to one and to the lowest bits of the inverted value of , i.e.,
LUT of reference point stores values , values for this case are shown in Table 1.
Table 1.
LUT values for the example at hand.
Since , based on the Table 1 we obtain a value of 105 and then the initial value .
Changing the ratio of the number of moduli over which the reconstruction in the modified MRC and the method of reference points, as well as the number of steps in the method of reference points allows you to flexibly adjust the system according to the constraints on the used area and computation time.
7. Physical Synthesis of Reverse Conversion Methods
Physical synthesis of methods for translating from a residue number system to a positional number system was performed on an ASIC in the RTL and physical synthesis Cadence Genus Synthesis Solution environment using the NangateOpenCellLibrary and computation time optimization. The parameters measured were the signal propagation time across the circuit (picoseconds, ps) and the area used (square micrometer, µm2).
The Chinese residue theorem-based method (Formula (1)), the approximated CRT-based method (Formulas (5) and (6)), the mixed-radix conversion-based method (Formula (2)), a method based on special moduli [8], the reference points method proposed by the authors and discussed in Section 5, the modified MRC-based method (Algorithm 3), and the introduced method based on reference points and modified MRC (Section 6).
Simulation results for the reference points method, CRT, approximate CRT, modified MRC, MRC, special moduli and the proposed method are shown in Figure 4, Figure 5, Figure 6 for 8, 16 and 32 bits, respectively.
Figure 4.
Reverse conversion for 8 bits.
Figure 5.
Reverse conversion for 16 bits.
Figure 6.
Reverse conversion for 32 bits.
In addition, Table 2, Table 3, Table 4 are given to compare the proposed modification with the previously developed methods. In these tables, the reference points based method is denoted as I, the modified mixed-radix conversion based method—II, the proposed modification—III. The configuration of the layers for the reference points method is given in the second column.
Table 2.
Time and area comparison for 8 bits.
Table 3.
Time and area comparison for 16 bits.
Table 4.
Time and area comparison for 32 bits.
The analysis of the Figure 4 shows that the reference point based method has the smallest area in the 8-bit domain and is only slightly inferior to the special type moduli in terms of time. The MRC and approximate CRT-based methods have complex computational algorithms and perform poorly in terms of both area and time.
In the 16-bit domain (Figure 5), the method using special moduli has a clear advantage, and the method based on reference points has a low execution time, but at the same time significant hardware costs. The proposed method allows to reduce the used area, but slightly increases the computation time.
In the 32-bit domain (Figure 6), the reference points method shows both some of the best and some of the worst results in terms of time and area, and thus a strong dependence on the set of moduli and the configuration of layer over which the residues are grouped for the LUT. The MRC-based method performs worse than the CRT and the approximate CRT in most cases, but has less area as the dimensionality increases.
Figure 7.
Comparison of the time required for the methods of translation from RNS to positional number system.
Figure 8.
Comparison of the area used for methods of translation from RNS to positional number system.
8. Conclusions
In this paper, an overview of the methods of conversion from the residue number system to the positional number system is given. Reverse conversion methods for general form moduli, such as the Chinese residue theorem, mixed-radix conversion, the Chinese residue theorem with fractional numbers, new CRT I, and new CRT II, were considered. The application of RNS moduli of the special form 2n ± 1, 2n was also considered. Based on the modified mixed-radix conversion presented by Algorithm 3 and the method of reference points (Section 5), a method of reverse conversion of a number from a residue number system to a positional number system is proposed (Section 6). The results of physical synthesis have shown that the use of moduli of a special type makes it possible to significantly reduce the computational time and the claimed area, however, the task of working with moduli of a general type often arises.
The reference points method proposed by the authors in [18] makes it possible to obtain computationally efficient implementations, but the used area can differ up to 30 times within one dimension (for the sets {7, 17, 31, 65, 127, 256} and {1023, 1025, 8192}), which leads to the need to check a large number of sets of a given dimension in the search for the optimal set.
The method proposed in this work reduces the required area (up to five times for the set {7, 17, 31, 65, 127, and 256}) for RNS with a large number of moduli compared to the reference point method and reduces the area for RNS with three and four moduli compared to the modified MRC. It is possible to combine the reference point method with different configurations of layers and methods based on CRT and MRC to obtain efficient implementations in terms of computational speed and required area.
Author Contributions
Conceptualization, V.K., D.T., M.B., I.M., A.S., N.K., T.E. and M.G.; methodology, V.K., D.T., M.B., I.M., A.S., N.K., T.E. and M.G.; software, V.K. and I.M.; validation, V.K., D.T., M.B., I.M., A.S., N.K., T.E. and M.G.; formal analysis, V.K., D.T., M.B., I.M., A.S., N.K., T.E. and M.G.; investigation, V.K., D.T., M.B., I.M., A.S., N.K., T.E. and M.G.; writing—original draft preparation, V.K., D.T., M.B. and I.M.; writing—review and editing, V.K., D.T., M.B., I.M., A.S., N.K., T.E. and M.G.; supervision, V.K., D.T., M.B. and A.S. All authors have read and agreed to the published version of the manuscript.
Funding
This work was carried out at the North Caucasus Center for Mathematical Research within agreement no. 075-02-2022-892 with the Ministry of Science and Higher Education of the Russian Federation. The reported study was funded by Russian Federation President Grant MD-1414.2021.4, MK-1203.2022.1.6 and SP-3186.2022.5.
Institutional Review Board Statement
Not applicable.
Informed Consent Statement
Not applicable.
Data Availability Statement
Not applicable.
Conflicts of Interest
The authors declare no conflict of interest.
References
- Garner, H.L. The residue number system. In Proceedings of the Western Joint Computer Conference, San Francisco, CA, USA, 3–5 March 1959. [Google Scholar]
- Malashevich, B.M. Brief Basis and History of Domestic Modular Computers. Origins of modular arithmetic. Proc. SoRuCom-2017 2017, 10, 193–207. (In Russian) [Google Scholar]
- Low, J.Y.S.; Chang, C.H. A new approach to the design of efficient residue generators for arbitrary moduli. IEEE Trans. Circuits Syst. I Regul. Pap. 2013, 60, 2366–2374. [Google Scholar] [CrossRef]
- Patel, R.A.; Benaissa, M.; Powell, N.; Boussakta, S. Novel power-delay-area-efficient approach to generic modular addition. IEEE Trans. Circuits Syst. I Regul. Pap. 2007, 54, 1279–1292. [Google Scholar] [CrossRef]
- Zimmermann, R. Efficient VLSI implementation of modulo (2n ± 1) addition and multiplication. In Proceedings of the 14th IEEE Symposium on Computer Arithmetic, Adelaide, Australia, 14–16 April 1999; pp. 158–167. [Google Scholar]
- Tchernykh, A.; Babenko, M.; Shiriaev, E.; Pulido-Gaytan, B.; Cortés-Mendoza, J.M.; Avetisyan, A.; Drozdov, A.Y.; Kuchukov, V. An Efficient Method for Comparing Numbers and Determining the Sign of a Number in RNS for Even Ranges. Computation 2022, 10, 17. [Google Scholar] [CrossRef]
- Chervyakov, N.I.; Molahosseini, A.S.; Lyakhov, P.A.; Babenko, M.G.; Deryabin, M.A. Residue-to-binary conversion for general moduli sets based on approximate Chinese remainder theorem. Int. J. Comput. Math. 2017, 94, 1833–1849. [Google Scholar] [CrossRef]
- Patronik, P.; Piestrak, S.J. Design of RNS reverse converters with constant shifting to residue datapath channels. J. Signal Process. Syst. 2018, 90, 323–339. [Google Scholar] [CrossRef]
- Ananda Mohan, P.V. Reverse Converters for the Moduli Set {2n, 2n−1 − 1, 2n − 1, 2n+1 − 1}(nEven). Circuits Syst. Signal Process. 2018, 37, 3605–3634. [Google Scholar] [CrossRef]
- Phalguna, P.S.; Kamat, D.V.; Ananda Mohan, P.V. RNS-to-Binary Converters for New Three-Moduli Sets {2k − 3,2k − 2,2k − 1} and {2k + 1,2k + 2, 2k + 3}. J. Circuits Syst. Comput. 2018, 27, 1850224. [Google Scholar] [CrossRef]
- Patronik, P. On reverse converters for arbitrary multi-moduli RNS. Integration 2020, 75, 158–167. [Google Scholar] [CrossRef]
- Madhavi Latha, M.V.N.; Rachh, R.R.; Ananda Mohan, P.V. An improved RNS-to-binary converter for 7-modulus set {2n−5 − 1, 2n−3 − 1, 2n−2 + 1, 2n−1 − 1, 2n−1 + 1, 2n, 2n + 1} for n even. Sadhana 2020, 45, 1–4. [Google Scholar] [CrossRef]
- Mojahed, M.; Molahosseini, A.S.; Zarandi, A.A.E. Multifunctional unit for reverse conversion and sign detection based on five-moduli set {22n, 2n + 1, 2n − 1, 2n + 3, 2n − 3}. Comput. Sci. 2021, 22, 101–121. [Google Scholar] [CrossRef]
- Majd, K.M.; Molahosseini, A.S. Energy-Efficient Residue-to-Binary Conversion Based on a Modulo-Adder-Free Architecture. In Proceedings of the 2022 30th International Conference on Electrical Engineering (ICEE), Tehran, Iran, 17–19 May 2022; Volume 10, pp. 676–680. [Google Scholar]
- Hung, C.Y.; Parhami, B. An approximate sign detection method for residue numbers and its application to RNS division. Comput. Math. Appl. 1994, 27, 23–35. [Google Scholar] [CrossRef]
- Wang, Y. Residue-to-binary converters based on new Chinese remainder theorems. IEEE Trans. Circuits Syst. II Analog. Digit. Signal Process. 2000, 47, 197–205. [Google Scholar] [CrossRef]
- Patent for Invention № 2744815 Russian Federation, Int. Cl. G06F 7/72. Device for Transferring Numbers from Residue Number System and Base-Radix Extensions: № 2020120649; Priority. 22.06.2020; Date of Publication. 16.03.2021/Babenko M.G., Kuchukov V.A., Chernykh A.N., Kucherov N.N.; Proprietor: Federalnoe Gosudarstvennoe Avtonomnoe Obrazovatelnoe Uchrezhdenie Vysshego Obrazovaniia “Severo-Kavkazskii Federalnyi Universitet” (RU).—13 p. Available online: https://fips.ru/ofpstorage/Doc/IZPM/RUNWC1/000/000/002/744/815/%D0%98%D0%97-02744815-00001/document.pdf (accessed on 16 November 2022).
- Stempkovsky, A.; Telpukhov, D.; Mkrtchan, I.; Zhigulin, A. Reference Points Based RNS Reverse Conversion for General Moduli Sets. In Proceedings of the International Conference on Mathematics and Its Applications in New Computer Systems, Stavropol, Russia, 13–15 December 2021; pp. 253–262. [Google Scholar]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).