• Aucun résultat trouvé

V´erification automatique de multiplicateurs avec les *BMDs

N/A
N/A
Protected

Academic year: 2022

Partager "V´erification automatique de multiplicateurs avec les *BMDs"

Copied!
20
0
0

Texte intégral

(1)

V´ erification automatique de multiplicateurs avec les

*BMDs

Pierre Senellart

10 d´ecembre 2002

(2)

Introduction

• BDDs [1] very powerful tools for veifying arithmetic circuits.

• But exponential on multipliers.

• *BMDs [2] give a polynomial algorithm but need high-level information.

• Backward construction algorithm [3]

(3)

Shannon expansion of a function

f : {0,1}n −→ {0,1}

fx¯i : {0,1}n−1 → {0,1}

(x1, . . . , xi−1, xi+1, . . . , xn) 7→ f(x1, . . . , xi−1,0, xi+1, . . . , xn)

fxi : {0,1}n−1 → {0,1}

(x1, . . . , xi−1, xi+1, . . . , xn) 7→ f(x1, . . . , xi−1,1, xi+1, . . . , xn)

(4)

Ordered BDDs

• Unique representation of a boolean function ({0,1}n → {0,1})

• Some initial total ordering of the variables

• Example: carry of a full adder

x

y y

z

(5)

Use of BDDs

• BDDs very efficient for a large class of circuits

• But BDDs are inefficent on multipliers.

Theorem. [Bryant,1986] For any ordering of the variables, the BDD represen- tation of some multiplier output will have a graph of exponential size.

Need for something else...

(6)

Moment decomposition of a function

f : {0,1}n −→ N

fx¯i : {0,1}n−1 → N

(x1, . . . , xi−1, xi+1, . . . , xn) 7→ f(x1, . . . , xi−1,0, xi+1, . . . , xn)

fxi : {0,1}n−1 → N

(x1, . . . , xi−1, xi+1, . . . , xn) 7→ f(x1, . . . , xi−1,1, xi+1, . . . , xn)

(7)

Moment decomposition of a function (continuing...)

fx˙i = fxi − fx¯i

f(x1, . . . , xn) = fx¯i(x1, . . . , xi−1, xi+1, . . . , xn)

| {z }

constant moment

+xi fx˙i(x1, . . . , xi−1, xi+1, . . . , xn)

| {z }

linear moment

(8)

BMDs and *BMDs

x

y y

z z

z

8 −20 2 4 12 24 15

x

y y

z z

−5 2 1 5

2 3

2 4

BMD *BMD

f(x, y, z) = 8 − 20z + 2y + 4yz + 12x + 24xz + 15xy

(9)

Arithmetic operations

x2

y2

y1

x0

x1

0 1 4

y0

2

x2

y2 y1

x0

x1

0 1 4

y0

2

4 2

Addition Multiplication

*BMDs of classical arithmetic operations are of linear size.

(10)

*BMD construction - Bryant’s algorithm

Circuit: interconnection of components, described at both bit and word levels.

1. Check that the bit-level interpretation of a component matches its word-level interpretation by direct construction of a *BMD.

2. Check that the composition of word-level interpretations of components matches the specification of the circuit by direct construction of a *BMD.

Need of high-level knowledge about the circuit.

Direct construction of a *BMD of the entire circuit impossible due to the size of intermediary result.

(11)

Backward construction algorithm - step 1

3 b

c

2 e

4 d

1 x

y a

Beginning of the algorithm: the cut crosses all the primary outputs. The *BMD of the word-level interpretation of the output is constructed.

(12)

Backward construction algorithm - step 2

3 b

c

2 e

4 d

1 x

y a

A gate just left to the cut is chosen and its output is substitued in the *BMD by the corresponding function of its inputs.

(13)

Backward construction algorithm - step 3

3 b

c

2 e

4 d

1 x

y a

At any time, the *BMD expresses the word-level representation of the output as a function of the nets currently crossed by the cut.

(14)

Backward construction algorithm - step 4 (first try)

3 b

c

2 e

4 d

1 x

y a

Problem: intermediary results must be kept!

(15)

Backward construction algorithm - step 4

3 b

c

2 e

4 d

1 x

y a

Condition: a gate may be chosen only if its output is connected to only the input of the gates that have been already taken.

(16)

Backward construction algorithm - step 5

3 b

c

2 e

4 d

1 x

y a

End of the algorithm: the cut crosses all primary inputs. The *BMD expresses the word-level representation of the output as a function of the inputs.

(17)

Add-step and carry-save multiplication

1 1

× 1 1 1

1 1

+ 1 1 ·

+ 1 1 · ·

1 0 0 1

+ 1 1 · ·

1 0 1 0 1

1 1

× 1 1 1

1 1

+ 1 1 ·

+ 1 1 · ·

{110,11}

+ 1 1 · ·

{1001,1100}

1 0 1 0 1 Add-step multiplication Carry-save multiplication

(18)

Experimental results

Number of bits Time Add-step (s) Time Carry-save (s)

4 1 3

8 12 58

16 161 1115

32 2083

O(n3.7) O(n4.3)

(Lava, Sun Server)

Asymptotic O(n4) bound proved for a large class of classical multipliers [4]

(19)

What now?

• Backward Construction Algorithm: very efficient, in comparison with former methods

• Still, need of something better: O(n4) is too much!

• Completely different direction?

(20)

References

[1] Randal E. Bryant. Graph-based algorithms for boolean function manipulation.

IEEE Transactions on Computers, C-35(8):677–691, August 1986.

[2] Randal E. Bryant and Yirng-An Chen. Verification of arithmetic circuits with binary moment diagrams. In Design Automation Conference, pages 535–541, 1995.

[3] K. Hamaguchi, A. Morita, and S. Yajima. Efficient construction of binary moment diagrams for verifying arithmetic circuits. In Proc. Int’l Conf. on CAD, pages 78–82, 1995.

[4] Martin Keim, Michael Martin, Bernd Becker, Rolf Drechsler, and Paul Molitor.

Polynomial formal verification of multipliers. In VLSI Test Symposium, Monterey, USA, 1997.

Références

Documents relatifs

The high levels of accuracy and reliability required today in aeronautic design are obtained through long term expertise and innovative research present at ONERA

2 we graphically depict the process of generating HDL code (xxx_syn.vhd) from an initial SIGNAL program (xxx.SIG). We formally prove that by applying these transformations on

demonstrated that countries with a higher level of freedom in terms of political rights or civil liberties have greater resilience to maintain health and well-being after the impact

So, it is assumed that the power consumption of an EV is constant once connected. The flicker level is studied for grids of different strength levels in terms of short-circuit

In this context, we wonder about the capacity of elite athletes to combine all these constraints, namely to manage the acceleration in their pace of life (Rosa, 2013) in order to

If an event is accepted by LVL2, details of the processing at this trigger level, the LVL2 Result, is appended to the event stream and used by the Event Filter to proceed with

Extending the models of Timed Automata ( TA ) and Stopwatch Au- tomata ( SWA ) in [8, 7], we present a model of hierar- chical scheduling systems, based on the stochastic spo-

We propose a word recognition system for pen-based devices based on four main modules: a preprocessor that normalizes a word, or word group, by tting a geometrical model to the