continuous valued digits · ranges from 0 to q units, the cvd of x is matched as qn = rn.q / b. x =...

26
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

Upload: others

Post on 26-Oct-2020

2 views

Category:

Documents


0 download

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS - UNIVERSITY OF WINDSOR