DATA REPRESENTATION AND ROUNDING

CASE I: IF A0 < $800000 (1/2), THEN ROUND DOWN (ADD NOTHING)

BEFORE ROUNDING

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

A2

A1

A0

 

XX . . XX

XXX . . . XXX0100

 

011XXX . . . . XXX

 

 

 

 

 

 

 

 

 

 

55

48 47

24 23

0

AFTER ROUNDING

 

 

 

 

 

 

 

 

 

 

A2

A1

A0*

 

XX

. . XX

XXX . . .

XXX0100

000 . . . .

. . . . 000

 

 

 

 

 

 

 

55

48 47

24 23

0

CASE II: IF A0 > $800000 (1/2), THEN ROUND UP (ADD 1 TO A1)

BEFORE ROUNDING

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

A2

A1

A0

 

XX . . XX

XXX . . . XXX0100

 

1110XX . . . . XXX

 

 

 

 

 

 

 

 

 

 

55

48 47

24 23

0

AFTER ROUNDING

 

 

 

 

 

 

 

 

 

 

A2

A1

A0*

 

XX

. . XX

XXX . . .

XXX0101

000 . . . .

. . . . 000

 

 

 

 

 

 

 

55

48 47

24 23

0

CASE III: IF A0 = $800000 (1/2), AND THE LSB OF A1 = 0,THEN ROUND DOWN (ADD NOTHING)

BEFORE ROUNDING

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

A2

A1

A0

 

XX . . XX

XXX . . . XXX0100

10000 . . . . . . 000

 

 

 

 

 

 

 

 

 

 

55

48 47

24 23

0

AFTER ROUNDING

 

 

 

 

 

 

 

 

 

 

A2

A1

A0*

 

XX

. . XX

XXX . . .

XXX0100

000 . . .

. . . . . 000

 

 

 

 

 

 

 

55

48 47

24 23

0

CASE IV: IF A0 = $800000 (1/2), AND THE LSB = 1, THEN ROUND UP (ADD 1 TO A1)

BEFORE ROUNDING

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

A2

A1

A0

 

XX . . XX

XXX . . . XXX0101

10000 . . . . . . 000

 

 

 

 

 

 

 

 

 

 

55

48 47

24 23

0

 

AFTER ROUNDING

 

 

 

 

 

 

 

 

 

 

A2

A1

A0*

 

XX

. . XX

XXX . . .

XXX0110

000 . . . .

. . . . 000

 

 

 

 

 

 

 

55

48 47

24 23

0

*A0 is always clear; performed during RND, MPYR, MACR

Figure 3-10 Convergent Rounding

MOTOROLA

DATA ARITHMETIC LOGIC UNIT

3 - 15

Page 48
Image 48
Motorola DSP56000, 24-Bit Digital Signal Processor manual Convergent Rounding