continuous valued digits · ranges from 0 to q units, the cvd of x is matched as qn = rn.q / b. x =...
TRANSCRIPT
![Page 1: CONTINUOUS VALUED DIGITS · ranges from 0 to Q units, the CVD of x is matched as qn = rn.Q / B. x = 58.742 X = 100 Range = [0-50] µA B = 10 ... • By redefining the rounded floor](https://reader033.vdocuments.mx/reader033/viewer/2022060705/6071bcdc1f42cd7b847e64ea/html5/thumbnails/1.jpg)
RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS - UNIVERSITY OF WINDSOR
CONTINUOUS VALUED DIGITS
CONTINUOUS VALUED DIGITS
Mitra Mirhassani
Supervisor: Dr. M. Ahmadi
Co-Supervisor: Dr. G. A. Jullien
Winter 2004
![Page 2: CONTINUOUS VALUED DIGITS · ranges from 0 to Q units, the CVD of x is matched as qn = rn.Q / B. x = 58.742 X = 100 Range = [0-50] µA B = 10 ... • By redefining the rounded floor](https://reader033.vdocuments.mx/reader033/viewer/2022060705/6071bcdc1f42cd7b847e64ea/html5/thumbnails/2.jpg)
RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS - UNIVERSITY OF WINDSOR
OUTLINE• Continuous Valued Digits (CVD) Idea• CVD Representation• CVD Generation• CVD Implementation• CVD Error Recovery• Overflow Correction• LSD Error Propagation• Addition• Subtraction• Multiplication• CVD Applications• CVD Developments
• Continuous Valued Digits (CVD) Idea
![Page 3: CONTINUOUS VALUED DIGITS · ranges from 0 to Q units, the CVD of x is matched as qn = rn.Q / B. x = 58.742 X = 100 Range = [0-50] µA B = 10 ... • By redefining the rounded floor](https://reader033.vdocuments.mx/reader033/viewer/2022060705/6071bcdc1f42cd7b847e64ea/html5/thumbnails/3.jpg)
RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS - UNIVERSITY OF WINDSOR
CVD Idea
• Original idea: From “Utility Meter”, where lower digits refine higher order digits.
0
5
12
346
78
9
×1000
0
5
12
346
78
9
×10
0
5
12
346
78
9
×1
0
5
12
346
78
9
×100X ≈ (4,x2,x1,x0) X ≈ (4,9,x1,x0) X ≈ (4,9,7,x0) X ≈ (4,9,7,4)
1
![Page 4: CONTINUOUS VALUED DIGITS · ranges from 0 to Q units, the CVD of x is matched as qn = rn.Q / B. x = 58.742 X = 100 Range = [0-50] µA B = 10 ... • By redefining the rounded floor](https://reader033.vdocuments.mx/reader033/viewer/2022060705/6071bcdc1f42cd7b847e64ea/html5/thumbnails/4.jpg)
RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS - UNIVERSITY OF WINDSOR
CVD Representation
• A given real number |x| < X is represented by n set of CVDs.
• Radix B is defined based on the maximum dynamic range (X) as: BL+1 = X
• The format of the representation is as follows:x (rL,rL-1,…,r1,r0 | r-1,r-2,…,rK) (L+1+ k = n)
2
![Page 5: CONTINUOUS VALUED DIGITS · ranges from 0 to Q units, the CVD of x is matched as qn = rn.Q / B. x = 58.742 X = 100 Range = [0-50] µA B = 10 ... • By redefining the rounded floor](https://reader033.vdocuments.mx/reader033/viewer/2022060705/6071bcdc1f42cd7b847e64ea/html5/thumbnails/5.jpg)
RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS - UNIVERSITY OF WINDSOR
CVD Generation
• First MethodCascade rule
- MSD: rL = B. x / X- Lower order digits obtained as:
rn = ( rn+1 - rn+1 )
. denotes the floor function
3
![Page 6: CONTINUOUS VALUED DIGITS · ranges from 0 to Q units, the CVD of x is matched as qn = rn.Q / B. x = 58.742 X = 100 Range = [0-50] µA B = 10 ... • By redefining the rounded floor](https://reader033.vdocuments.mx/reader033/viewer/2022060705/6071bcdc1f42cd7b847e64ea/html5/thumbnails/6.jpg)
RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS - UNIVERSITY OF WINDSOR
CVD Generation
• Second MethodModulo operation
rn = (x. B ) mod B for n ≤ L
• In both methods, n ≥ L digits are called “Excessively Evolved Digits (EED)” defined by:
rn = rn-1 / B
(a)mod B= a – B a / B
XL-n+1
4
![Page 7: CONTINUOUS VALUED DIGITS · ranges from 0 to Q units, the CVD of x is matched as qn = rn.Q / B. x = 58.742 X = 100 Range = [0-50] µA B = 10 ... • By redefining the rounded floor](https://reader033.vdocuments.mx/reader033/viewer/2022060705/6071bcdc1f42cd7b847e64ea/html5/thumbnails/7.jpg)
RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS - UNIVERSITY OF WINDSOR
CVD Generation
• The original number (x) can be obtained from the MSD alone as:
x = rL .X / B• CVD representation is not an approximation, x = x• x can also be obtained from the less significant
digits as follows:
∼
∼
+ ∑ rL-i . B-i
i=0
L-n-1X.rkBL-k+1
XB
x =
5
![Page 8: CONTINUOUS VALUED DIGITS · ranges from 0 to Q units, the CVD of x is matched as qn = rn.Q / B. x = 58.742 X = 100 Range = [0-50] µA B = 10 ... • By redefining the rounded floor](https://reader033.vdocuments.mx/reader033/viewer/2022060705/6071bcdc1f42cd7b847e64ea/html5/thumbnails/8.jpg)
RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS - UNIVERSITY OF WINDSOR
Number Representation
• x =58.742, B=2
.r6 =
1.1748r5 =
0.3496r4 =
0.6993r3 =
1.3967r2 =
0.7974r1 =
1.5948r0 =
1.1879r-1 =
0.3795
2
0
1
CVD representation
Binary representation . 0
6
![Page 9: CONTINUOUS VALUED DIGITS · ranges from 0 to Q units, the CVD of x is matched as qn = rn.Q / B. x = 58.742 X = 100 Range = [0-50] µA B = 10 ... • By redefining the rounded floor](https://reader033.vdocuments.mx/reader033/viewer/2022060705/6071bcdc1f42cd7b847e64ea/html5/thumbnails/9.jpg)
RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS - UNIVERSITY OF WINDSOR
CVD Implementation
• Each digit is represented by a continuous value• If the electronic variable (current, charge, voltage)
ranges from 0 to Q units, the CVD of x is matched as qn = rn.Q / B.
x = 58.742
X = 100
Range = [0-50] µA
B = 10
29.37111.17486
8.74200.34965
17.48400.69934
34.91811.39673
9.48800.3795-1
29.69911.18790
39.87211.59481
19.93600.79742
qn (µA) rn rnn
7
![Page 10: CONTINUOUS VALUED DIGITS · ranges from 0 to Q units, the CVD of x is matched as qn = rn.Q / B. x = 58.742 X = 100 Range = [0-50] µA B = 10 ... • By redefining the rounded floor](https://reader033.vdocuments.mx/reader033/viewer/2022060705/6071bcdc1f42cd7b847e64ea/html5/thumbnails/10.jpg)
RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS - UNIVERSITY OF WINDSOR
CVD Error Recovery
• The increased resolution of higher digits can not be implemented exactly in VLSI.
• A CVD does not have noise margin, unlike binary digit representation.
• Protection against noise and other impairments is warranted by the redundancy among the digits.
• The error can be corrected using “Reverse Evolution” method.
8
![Page 11: CONTINUOUS VALUED DIGITS · ranges from 0 to Q units, the CVD of x is matched as qn = rn.Q / B. x = 58.742 X = 100 Range = [0-50] µA B = 10 ... • By redefining the rounded floor](https://reader033.vdocuments.mx/reader033/viewer/2022060705/6071bcdc1f42cd7b847e64ea/html5/thumbnails/11.jpg)
RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS - UNIVERSITY OF WINDSOR
CVD Error Recovery
• The error is corrected from the lower digit toward the higher digit.
rn (original digit)
r´n (errored digit) = rn + εn
r″n (corrected digit) = r´n + r´n-1/ B n > K
r´k n = K
9
![Page 12: CONTINUOUS VALUED DIGITS · ranges from 0 to Q units, the CVD of x is matched as qn = rn.Q / B. x = 58.742 X = 100 Range = [0-50] µA B = 10 ... • By redefining the rounded floor](https://reader033.vdocuments.mx/reader033/viewer/2022060705/6071bcdc1f42cd7b847e64ea/html5/thumbnails/12.jpg)
RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS - UNIVERSITY OF WINDSOR
CVD Error Recovery
r″n 11.084525 10.84525 8.4525 4.525
rn 9.9845 9.845 8.45 4.5 5
n 2 1 0 -1 -2
8.8725r´n 10.483725 10.33725 4.725 5.25
Applying 5% error to each digit
4 + 5.25/108 + 4.525/1010 + 8.4525/1010 + 10.84525/10
• x = 9.9845, B= 10
5.25
10
![Page 13: CONTINUOUS VALUED DIGITS · ranges from 0 to Q units, the CVD of x is matched as qn = rn.Q / B. x = 58.742 X = 100 Range = [0-50] µA B = 10 ... • By redefining the rounded floor](https://reader033.vdocuments.mx/reader033/viewer/2022060705/6071bcdc1f42cd7b847e64ea/html5/thumbnails/13.jpg)
RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS - UNIVERSITY OF WINDSOR
Improved Algorithm
• The error correction is improved using the rounded computation of the floor function.
rn (original digit)
r´n (errored digit) = xn + en
r´n R = r´n - r″n / Br´n R + r″n-1 / B n > K
r´k n = Kr″n (corrected digit) =
11
![Page 14: CONTINUOUS VALUED DIGITS · ranges from 0 to Q units, the CVD of x is matched as qn = rn.Q / B. x = 58.742 X = 100 Range = [0-50] µA B = 10 ... • By redefining the rounded floor](https://reader033.vdocuments.mx/reader033/viewer/2022060705/6071bcdc1f42cd7b847e64ea/html5/thumbnails/14.jpg)
RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS - UNIVERSITY OF WINDSOR
Improved Algorithm
rn 9.9845 9.845 8.45 4.5 5
n 2 1 0 -1 -2
8.8725r´n 10.48372 10.3372 4.725 5.25
Applying 5% error to each digit
• x = 9.9845, B= 10
-r´nR 9.39R = 9 9.492R = 9 8.42R = 8 4.2R = 4
9.9845 9.8452 8.4525 4.525 5.25r″n
12
![Page 15: CONTINUOUS VALUED DIGITS · ranges from 0 to Q units, the CVD of x is matched as qn = rn.Q / B. x = 58.742 X = 100 Range = [0-50] µA B = 10 ... • By redefining the rounded floor](https://reader033.vdocuments.mx/reader033/viewer/2022060705/6071bcdc1f42cd7b847e64ea/html5/thumbnails/15.jpg)
RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS - UNIVERSITY OF WINDSOR
Overflow Correction
• By redefining the rounded floor function the overflow problem is eliminated.
r´n R = r´n - r″n / BR mod+B r´ ≥ 0r´n R = r´n - r″n / BR mod-B r´< 0
r´n R + r″n-1 / B n > K
r´k n = Kr″n =
- (a) mod+ B = (a mod B + B)mod B 0 ≤ (a) mod+ B < B
- (a) mod- B = (a mod B - B)mod B -B < (a)mod- B ≤ B
13
![Page 16: CONTINUOUS VALUED DIGITS · ranges from 0 to Q units, the CVD of x is matched as qn = rn.Q / B. x = 58.742 X = 100 Range = [0-50] µA B = 10 ... • By redefining the rounded floor](https://reader033.vdocuments.mx/reader033/viewer/2022060705/6071bcdc1f42cd7b847e64ea/html5/thumbnails/16.jpg)
RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS - UNIVERSITY OF WINDSOR
LSD Error Propagation
• LSD error propagates upward by the reverse evolution process.
• The correction error is reduced by factor B in each step of the reverse evolution for each digit.
• The error propagated to the MSD from the LSD is ε´L = εk / BL-k
ρ*(ε n+1) = B. ρ (ε n / B)
Error probability density propagation* ρ is the error probability density
14
![Page 17: CONTINUOUS VALUED DIGITS · ranges from 0 to Q units, the CVD of x is matched as qn = rn.Q / B. x = 58.742 X = 100 Range = [0-50] µA B = 10 ... • By redefining the rounded floor](https://reader033.vdocuments.mx/reader033/viewer/2022060705/6071bcdc1f42cd7b847e64ea/html5/thumbnails/17.jpg)
RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS - UNIVERSITY OF WINDSOR
Error Tolerance
• All digit errors have a equal error probability density function.
• The reverse evolution process holds providing that | εn – εn-1/ B| < 0.5
εn-1
εn
B/2
- B/2
-1/21/2
• The error threshold (ν ≥ εn )is .B
2(B+1)
Actual bound for adjacent digits.
15
![Page 18: CONTINUOUS VALUED DIGITS · ranges from 0 to Q units, the CVD of x is matched as qn = rn.Q / B. x = 58.742 X = 100 Range = [0-50] µA B = 10 ... • By redefining the rounded floor](https://reader033.vdocuments.mx/reader033/viewer/2022060705/6071bcdc1f42cd7b847e64ea/html5/thumbnails/18.jpg)
RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS - UNIVERSITY OF WINDSOR
Addition
• Given two numbers, x and y, the CVD digits of the sum , z= x+y is given as zn = (rn + pn ) mod B.
• Addition operation is digit wise with no carry • The only interaction between the digits is for error
recovery.• The summation of the EEDs maintains the validity
of the addition in case of overflow.
16
![Page 19: CONTINUOUS VALUED DIGITS · ranges from 0 to Q units, the CVD of x is matched as qn = rn.Q / B. x = 58.742 X = 100 Range = [0-50] µA B = 10 ... • By redefining the rounded floor](https://reader033.vdocuments.mx/reader033/viewer/2022060705/6071bcdc1f42cd7b847e64ea/html5/thumbnails/19.jpg)
RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS - UNIVERSITY OF WINDSOR
Addition• Adding x=58.34, y=72.89 in radix 10.
43.48.345.8340.5834rn
-2-1012 (EED)nx
58.34
+ 72.89
131.234.33.78.646.1340.8834r´n
9.39.23.197.5891.0289p´n
98.92.897.2890.7289pny
3.62.91.833.7231.9123zn
3.93.22.134.0232.2123z´n
3.92131z´nR
3.92.391.2393.12391.31239z"n
17
![Page 20: CONTINUOUS VALUED DIGITS · ranges from 0 to Q units, the CVD of x is matched as qn = rn.Q / B. x = 58.742 X = 100 Range = [0-50] µA B = 10 ... • By redefining the rounded floor](https://reader033.vdocuments.mx/reader033/viewer/2022060705/6071bcdc1f42cd7b847e64ea/html5/thumbnails/20.jpg)
RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS - UNIVERSITY OF WINDSOR
Subtraction
• Subtraction is performed by the addition of the negative numbers as zn = (xn + (-yn)) mod B.
• Addition computation which generates the correct sign is performed as:
(rn + pn ) mod+ B (rL + pL) ≥ 0
(rn + pn ) mod- B (rn + pn ) < 0zn =
18
![Page 21: CONTINUOUS VALUED DIGITS · ranges from 0 to Q units, the CVD of x is matched as qn = rn.Q / B. x = 58.742 X = 100 Range = [0-50] µA B = 10 ... • By redefining the rounded floor](https://reader033.vdocuments.mx/reader033/viewer/2022060705/6071bcdc1f42cd7b847e64ea/html5/thumbnails/21.jpg)
RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS - UNIVERSITY OF WINDSOR
Subtraction• Adding x=58.34, y=-72.89 in radix 10.
43.48.345.8340.5834rn
-2-1012 (EED)n 58.34
- 72.89
- 14.554.33.78.646.1340.8834r´n
-9-8.9-2.89-7.289-0.7289pn
-8.7-8.6-2.59-6.989-0.4289pn
-4.4-4.9-3.95-0.8550.1545zn
-4.1-4.6-3.65-0.555-0.1455z´n
-4.1-5-4-10z´nR
-4.1-5.41-4.541-1.4541-0.14541z"n
19
![Page 22: CONTINUOUS VALUED DIGITS · ranges from 0 to Q units, the CVD of x is matched as qn = rn.Q / B. x = 58.742 X = 100 Range = [0-50] µA B = 10 ... • By redefining the rounded floor](https://reader033.vdocuments.mx/reader033/viewer/2022060705/6071bcdc1f42cd7b847e64ea/html5/thumbnails/22.jpg)
RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS - UNIVERSITY OF WINDSOR
Multiplication
• Multiplication is not digit wise.• Multiplication is performed by summation of
partial products.• The multiplicand is presented to the multiplier in
positional number system with same radix.• The CVD of a product λ.x ( λ is integer) is:
(λ.r)n = (λ.rn) mod B• Partial sums of product x.y are:
zn = ∑ pk. rn-k mod B∀ K
20
![Page 23: CONTINUOUS VALUED DIGITS · ranges from 0 to Q units, the CVD of x is matched as qn = rn.Q / B. x = 58.742 X = 100 Range = [0-50] µA B = 10 ... • By redefining the rounded floor](https://reader033.vdocuments.mx/reader033/viewer/2022060705/6071bcdc1f42cd7b847e64ea/html5/thumbnails/23.jpg)
RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS - UNIVERSITY OF WINDSOR
Multiplication• Multiple x=31.89 and y=19.5, in radix 10.
5.98259.07882.39742.71736.6063z´n
9.038.931.923.2190.3489r´n
09.04818.94791.92383.2254(λ1r´n)´1.27250.37077.29468.9893.1464(λ0r´n)´4.689.636.1251.77450.2045(λ-1r´n)´
5.98258126z´n5.98258.59531.85952.18596.2186z"n
λ (1,9,5), ε+ =0.03, ε* = 0.2%, 31.89 × 19.5 = 621.855
98.91.893.1890.3189rn
-2-10 1 2nr´n = rn + ε+
(λir´n)´ = (1+ ε*) (λir´n)
21
![Page 24: CONTINUOUS VALUED DIGITS · ranges from 0 to Q units, the CVD of x is matched as qn = rn.Q / B. x = 58.742 X = 100 Range = [0-50] µA B = 10 ... • By redefining the rounded floor](https://reader033.vdocuments.mx/reader033/viewer/2022060705/6071bcdc1f42cd7b847e64ea/html5/thumbnails/24.jpg)
RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS - UNIVERSITY OF WINDSOR
CVD Applications
• Target application: Digital filters and Neural networks.
• CVD may provides silicon efficient signal processing methods ( power, area, speed, complexity).
• The CVD operations are performed in analog.• The accuracy can be made identical to digital
number system. • Digital filters benefit from the proposed array
multiplier
22
![Page 25: CONTINUOUS VALUED DIGITS · ranges from 0 to Q units, the CVD of x is matched as qn = rn.Q / B. x = 58.742 X = 100 Range = [0-50] µA B = 10 ... • By redefining the rounded floor](https://reader033.vdocuments.mx/reader033/viewer/2022060705/6071bcdc1f42cd7b847e64ea/html5/thumbnails/25.jpg)
RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS - UNIVERSITY OF WINDSOR
CVD Developments
• Digit correction• Interfacing with digital circuits• Singed-number adder implementation• Optimizing the subtraction algorithm• Efficient multiplication algorithm• Multiplier implementation
23
![Page 26: CONTINUOUS VALUED DIGITS · ranges from 0 to Q units, the CVD of x is matched as qn = rn.Q / B. x = 58.742 X = 100 Range = [0-50] µA B = 10 ... • By redefining the rounded floor](https://reader033.vdocuments.mx/reader033/viewer/2022060705/6071bcdc1f42cd7b847e64ea/html5/thumbnails/26.jpg)
RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS - UNIVERSITY OF WINDSOR