Download presentation
Presentation is loading. Please wait.
Published byAsher Baker Modified over 9 years ago
1
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Brief Overview of Residue Number System (RNS) VLSI Signal Processing 台灣大學電機系 吳安宇
2
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Outline History Why RNS is needed ? Fundamental concepts in RNS. Conversion between Decimal and Residue. Conventional complex RNS Difficult arithmetic operations Applications
3
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU History The ancient study of the residue numbering system begins with a verse from a third- centry book, Suan-Ching, by Sun Tzu. We have things of which we do not know the number, If we count them by three, the remainder is 2, If we count them by fives, the remainder is 3, If we count them by sevens, the remainder is 2, How many things are there?
4
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU History We commemorate this contribution as the Chinese Remainder Theorem, or CRT. This theorem, as well as RNS, was set forth in the 19th by Carl Friedrich Gauss in his celebrated Disquisitiones Arithmetical.
5
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Why RNS? It is a “carry-free” system that performs addition, substraction, and multiplication as parallel operations. FA HAFA
6
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Definition The RNS is defined in terms of a set of relatively prime moduli. If P denotes the moduli set, then The dynamic range M is
7
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Any integer in the residue class Z M has a unique L-tuple representation given by where X i =(X mod p i ) and is called the i th residue. Definition
8
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU X1X1 0 1 2 0 1 X2X2 0 1 2 3 4 → → → → → → → → → → → → → → → → → → X1X1 2 0 1 2 0 X2X2 0 1 2 3 4 X1X1 1 2 0 1 2 X2X2 0 1 2 3 4 X 0 1 2 3 4 5 6 7 8 9 X 10 11 12 13 14 X Example
9
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU 4 5 6 7 8 9 10 11 0 1 2 3 X → → → → → → → → → → → → → X1X1 0 1 2 0 1 2 0 1 2 0 1 2 X2X2 0 1 2 3 0 1 2 3 0 1 2 3 X3X3 0 1 2 3 4 0 1 2 3 4 0 1 16 17 18 19 20 21 22 23 12 13 14 15 X → → → → → → → → → → → → → X3X3 2 3 4 0 1 2 3 4 0 1 2 3 28 29 30 31 32 33 34 35 24 25 26 27 X → → → → → → → → → → → → → X3X3 4 0 1 2 3 4 0 1 2 3 4 0 40 41 42 43 44 45 46 47 36 37 38 39 X → → → → → → → → → → → → → X3X3 1 2 3 4 0 1 2 3 4 0 1 2 52 53 54 55 56 57 58 59 48 49 50 51 X → → → → → → → → → → → → → X3X3 3 4 0 1 2 3 4 0 1 2 3 4 X1X1 0 1 2 0 1 2 0 1 2 0 1 2 X1X1 0 1 2 0 1 2 0 1 2 0 1 2 X1X1 0 1 2 0 1 2 0 1 2 0 1 2 X1X1 0 1 2 0 1 2 0 1 2 0 1 2 X2X2 0 1 2 3 0 1 2 3 0 1 2 3 X2X2 0 1 2 3 0 1 2 3 0 1 2 3 X2X2 0 1 2 3 0 1 2 3 0 1 2 3 X2X2 0 1 2 3 0 1 2 3 0 1 2 3 Example
10
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Sign Representation For signed RNS, any integer in (-M/2, M/2], has a unique RNS L-tuple representation where x i =(X mod p i ) if X>0, and (M-|X|) mod p i otherwise. X1X1 0 1 2 0 X2X2 2 3 0 1 → → → → → → → → → → → → → → → X1X1 1 2 0 1 X2X2 2 3 0 1 X1X1 2 0 1 2 X2X2 2 3 0 1 X -6 -5 -4 -3 -2 0 1 X 2 3 4 5 X
11
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Operation
12
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU 7 (1, 3, 2 ) +3 (0, 3, 3 ) 10 (1 mod 3, 6 mod 4, 5 mod 5) = (1,2,0) 7 (1, 3, 2 ) - 3 (0, 3, 3 ) 4 (1 mod 3, 0 mod 4, -1 mod 5) = (1,0,4) 7 (1, 3, 2 ) *3 (0, 3, 3 ) 21 (0 mod 3, 9 mod 4, 6 mod 5) = (0,1,1) Operation (Example)
13
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Efficient and rapid implementation of the operation (X i o Y i ) mod p i must be found. Only for the case where p i =2n can be easily implemented in conventional system. RAM or ROM Table Lookup Z i = (X i o Y i ) mod p i X i (n bits) Y i (n bits) Z i (n bits) Conversion
14
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU To be competitive system, the speed of data acquisition and the accompanying decimal-to-residue conversion must be equally fast. Decimal-to-residue Conversion
15
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Decimal-to-residue Conversion 2 j mod p i j=4 i=1 i=2 j=3j=2j=1j=0 13421 21421 p i -(2 5 mod p i ) i=1 i=2 3 3
16
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Generally speaking, the speed limitation of residue-to-decimal conversion is a problem in residue number system. The R/D problem can be solved in one of the following two ways: Mixed radix conversion (MRC) Chinese Remainder Theorem (CRT) Residue-to-decimal Conversion
17
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Multiplicative Inverse The multiplicative inverse of g of modulo p i is denoted as g i -1 and satisfies Example: P i =5 g g i -1 0 1 1 2 3 3 2 4 4 g P i =6 0 1 1 2 3 4 5 5 g g i -1 P i =7 0 1 1 2 4 3 5 4 2 5 3 6 6
18
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Mixed Radix Conversion RNS MRC The MRC representation is given by where v 1 =1, v 2 =p 1, v 3 =p 1 p 2, v 4 =p 1 p 2 p 3, …
19
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Mixed Radix Conversion
20
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Mixed Radix Conversion Use nesting subtractions and multiplicative inverse to make sequential conversion.
21
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Block Diagram of MRC p 12 -1 p 13 -1 M M p 1L -1 M p 23 -1 M p 2L -1 M p L-1,L -1 M
22
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Chinese Remainder Theorem where s i =M/p i and s i -1 is the multiplicative inverse of s i mod p i, so that
23
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Chinese Remainder Theorem X 1 s 1 -1 mod p 1 X 2 s 2 -1 mod p 2 X L s L -1 mod p L mod M sLsL s2s2 s1s1
24
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Chinese Remainder Theorem 1*2mod 3 0*3mod 4 4*3 mod 5 20 15 12 mod 60
25
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Conventional Complex RNS A complex number Z is defined to be
26
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Difficult Arithmetic Operations Magnitude comparison / Sign detection Division Base extension Scaling / Rounding / Truncation Overflow detection
27
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Magnitude Comparison Sign Detection Not a weighted number system. Every digits are equally important. The problem makes the RNS-based signal processors inefficient.
28
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Division Blend of nested subtractions and magnitude comparisons, so it is more difficult in the RNS. RNS is not closed under division, since the RNS is an integer system, it is. Slow, high-overhead operation and should be avoided in RNS.
29
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Base Extension Increase the dynamic range Increase the resolution. R/D and D/R conversions are needed. R/D conversion L - tuple RNS D/R conversion K - tuple RNS Moduli extension
30
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Scaling / Rounding / Truncation Prevent dynamic-range overflow. A special form of division. The scaling operation is easily to implement when scaling factor is: power of two (2 n ) in 2’complement. product of one or more of the moduli in RNS.
31
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Overflow Detection Take the form of magnitude comparison. To be avoided by using scaling operation during run-time.
32
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Applications Filtering (FIR, IIR) Adaptive system Linear transformations
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.