*phdd: multiplicative power hybrid decision diagrams [1]

Post on 30-Dec-2015

28 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

*PHDD: Multiplicative Power Hybrid Decision Diagrams [1]. ECE 667 Student Presentation Gayatri Prabhu [1]. *PHDD: An Efficient Graph Representation for Floating Point Circuit Verification – Y. Chen, R. Bryant, ICCAD 1997. Agenda. Motivation Floating point representation *PHDD construction - PowerPoint PPT Presentation

TRANSCRIPT

ECE 667 Student PresentationGayatri Prabhu

[1]. *PHDD: An Efficient Graph Representation for Floating Point Circuit Verification – Y. Chen, R. Bryant, ICCAD 1997

*PHDD: Multiplicative Power Hybrid Decision Diagrams[1]

1

2

Agenda

Motivation Floating point representation *PHDD construction Floating point function through *PHDDs Benefits Conclusion

3

Motivation

BMDs [1], *BMDs [1] ,K*BMDs [2] and HDDs [3] inefficient to map Boolean vectors to floating point values.• Output in the form of a word.

• Need some way of incorporating the radix point• Need rational number (n/d) representation

• Computationally expensive

Extend *BMDs to *PHDDs• Function with domain Boolean space and range floating

point

[1] Bryant,R.E and Chen Y-A. “Verification of arithmetic circuits with binary moment diagrams”, DAC 1995[2] Drechsler R. , Becker,B. and Ruppertz,S. “K*BMDs: a new data structure for verification”, DATE 1995[3] Clarke, E.M, Fujita M, Zhao X. “Hybrid decision diagrams overcoming the limitations of MTBDDs and BMDs “, ICCAD 1995

4

Floating point representation

Floating point : Radix point at an arbitrary position

IEEE 754 notation to store in memory• Derived from scientific notation

• Eg : 123.45 = 1.2345 x 102

Number = (-1)sign x (Base)exponent x Mantissa

Sign: 0 means positive and 1 means negative Base = 2

Sign Exponent Mantissa

n m

http://steve.hollasch.net/cgindex/coding/ieeefloat.html

5

Floating point representation

Mantissa - m bits• Radix point after first non-zero digit;

• Base 2 => Non zero-digit =1• Mantissa always in form 1.X ; Stored mantissa = X

Exponent – n bits • Stored exponent = Actual exponent + Bias• Bias to remove negative numbers in the stored format• For n-bit exponent bias = 2n-1 -1

So for n =3 , m = 3; Bias = 2(3-1) - 1 ; 0.75 = 0.11• Sign=0; Stored exponent = -1+3 =2 ; Stored mantissa = 0b100

5 = 5.00 x 100

5 = 5000.0 x 10-3

6

Floating point representation

Number = (-1)Sx * 2(EX-Bias) * 1.X• Normal form

Overflow : Exponent requires more bits • Not considered in *PHDDs

Underflow : Number too small to represent with precision. Eg:0.000000000000075• Need to approximate to zero• Denormal form : (-1)Sx * 2(1-Bias) * 0.X

7

Failure of *BMDs to represent floating point

2X-2

1

3

x1

x0

1/4

1

3

2X

x1

x0x0 x0

1 2 4 8

x1

2X

x0 x0

1/4 1/2 1 2

x1

2X-2

“ *PHDD: An Efficient Graph Representation for Floating Point Circuit Verification “ Y. Chen, R. Bryant, ICCAD 1997

8

*PHDD : Construction and manipulation

9

*PHDD- Introduction Multiplicative Power Hybrid Decision Diagrams

• Multiplicative • Edge weights multiplied with variables

• Power• Edge weights restricted to powers of a constant

• Hybrid since different decompositions allowed• Shannon -

• Positive Davio -

• Negative Davio

xfx

xfxf )1(

xxxxxffffxff ;.

xxxxx ffffxff

;).1(

10

Edge weight rules

Edge weights = w which represents cw ; • c = constant ; positive• w can be positive or negative• Only c=2 considered since the effort is directed towards

floating point arithmetic.

All edges have weight; • No weights near edge=> w=0

Represented function = {20 x0+21 x1+22 x2}

0 1

x0

x1

x2

2

1

“ *PHDD: An Efficient Graph Representation for Floating Point Circuit Verification “ Y. Chen, R. Bryant, ICCAD 1997

11

*PHDD reduction rules (1)

Normalize edge weights• Atmost one branch has non-zero weight• Edge weights ≥ 0 except for the top one• Leaf nodes can have only odd integers or 0.

“ *PHDD: An Efficient Graph Representation for Floating Point Circuit Verification “ Y. Chen, R. Bryant, ICCAD 1997

12

*PHDD reduction rules (2)

Introduce negation edges• Increases sharing • Helpful whenever a sign bit is involved

1

x3

0 1

x0

x1

x2

2

1

0 -1

x0

x1

x2

2

1

1

x3

0 1

x0

x1

x2

2

1

“ *PHDD: An Efficient Graph Representation for Floating Point Circuit Verification “ Y. Chen, R. Bryant, ICCAD 1997

13

Making *PHDD canonical

Follow ordering Associate decomposition type with variable Remove redundancy Merge isomorphic sub-graphs Normalize edge weights Negation edges whenever necessary

Zero edge of every node is a regular edge Negation of leaf 0 is still leaf 0 Leaves must be non-negative

14

*BMD vs *PHDD

*BMD Decomposition

- Positive Davio

Edge weight – any number

Weight manipulation - requires GCD computations

*PHDD

Decomposition – Shannon, Positive Davio & Negative Davio

Edge weight – Powers of 2 (exponents)

Weight manipulation – just addition and subtraction

15

Representing a function in *PHDD

x1 x0 f

0 0 1

0 1 2

1 0 4

1 1 8

x0 x0

1 2 4 8

x1

2X

Representation with Shannon decomposition

x1, x0 bits of a number => X= x0+2x1 and f = 2X

“ *PHDD: An Efficient Graph Representation for Floating Point Circuit Verification “ Y. Chen, R. Bryant, ICCAD 1997

16

Conversion from HDD to *PHDD

x0 x0

1 2 4 8

x1

2X

x0 x0

1

2 3

x1

2X

1

x0 x0

1

2

1

x1

2X

1

x1

2

x0

1

1

2X

Extract powers of 2 Normalize Reduce

“ *PHDD: An Efficient Graph Representation for Floating Point Circuit Verification “ Y. Chen, R. Bryant, ICCAD 1997

17

Manipulating *PHDD

-2

2X-2

x1

2

x0

1

1

x1

2

x0

1

1

2X

“ *PHDD: An Efficient Graph Representation for Floating Point Circuit Verification “ Y. Chen, R. Bryant, ICCAD 1997

Represent cX where X is a number and c=2

2

x0

1

1

x1

2X

1 More bit in X

x2

3

18

*PHDDs and ARITHMETIC

19

Floating point operations

Break down into sign, exponent and mantissa part

PHDDs for each part • Shannon for sign• Shannon for exponent• Positive Davio for mantissa

Combine all the individual parts with an order• Bias at the top followed by sign, exponent and mantissa

20

ex1

ex0

1

2

Floating Point Encoding

• Function:(-1)Sx * 2(EX-Bias) * 1.X– Exponent: 2bits, Mantissa: 3bits, Bias:1

1

Sx

ex1

2

ex0

1

1

-1

-3

-4Sx

-4

3

1

x0

x1

x2

2

10 1

x0

x1

x2

2

1

-3

0 1

x0

x1

x2

2

1

“ *PHDD: An Efficient Graph Representation for Floating Point Circuit Verification “ Y. Chen, R. Bryant, ICCAD 1997

21

PHDD and floating point encoding

Normal ->(-1)Sx * 2(EX-Bias) * 1.XDenormal ->(-1)Sx * 2(1-Bias) * 0.X

EX – 3 bits ; X – 4 bits ; B =3

“ *PHDD: An Efficient Graph Representation for Floating Point Circuit Verification “ Y. Chen, R. Bryant, ICCAD 1997

22

Applying *PHDDs to arithmetic operations

1. Represent numbers in a binary encoded form2. Use composition (~ APPLY in BDDs) to combine

the numbers in operationsEg: Floating point multiplication

Bys

xs

yF

xF 22)1(

)(2.)1(;)(2.)1( BEYYyvy

s

yFBEXX

xvx

s

xF

0EY and 0EX if .1.122

0EY and 0EX if .0.10122

0EY and 0EX if .1.02012

0EY and 0EX if .0.0012012

YXEYEX

YXEX

YXEY

YX

23

Floating point multiplication

“ *PHDD: An Efficient Graph Representation for Floating Point Circuit Verification “ Y. Chen, R. Bryant, ICCAD 1997

24

Advantages and disadvantages

Advantages• Six times faster than *BMDs• Uses less memory• Linear complexity for FP multiplication

Disadvantages• Edge weights restricted to powers of 2• Floating point addition complexity exponential with

exponent size

Applications• Floating point circuit verification

25

Conclusion

*PHDDs mainly for floating point verification

Can represent the following functions which map

Boolean domain to:

• Boolean using Shannon decomposition

• Integer using Positive Davio decomposition

• Floating point using Shannon decomposition for sign

and exponent; Positive Davio for Mantissa

26

top related