A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29,...

29
A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999
  • date post

    15-Jan-2016
  • Category

    Documents

  • view

    229
  • download

    0

Transcript of A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29,...

Page 1: A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.

A New Approach to Structural Analysis and Transformation of Networks

Alan MishchenkoNovember 29, 1999

Page 2: A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.

Problem1: Locating Elements

Find all occurrences of the combination of AND-OR gate in the network of logic gates

NetworkElement

ElementElement

Page 3: A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.

Problem2: Replacing Elements

Replace a given element with another one in

all the places where is occurs. For example:

c = a + b; d = ( a + b )&b = ab + b = b

a

b

d

ca

b

d

c

Page 4: A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.

November 11, 1999 Logic, Design, and Learning Group Seminar

4

Presentation Overview

Introduction BDD basics

Product and quantification Image computation Labels

Location of structural elements Replacement of structural elements Conclusions

Page 5: A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.

Truth Table and Decision Tree

x1

x3

x2

x3x3x3

10

x2

110 0 0 0

x1 0 0 0 0 1 1 1 1

x2 0 0 1 1 0 0 1 1

x3 0 1 0 1 0 1 0 1

F 0 0 0 1 0 1 0 1

0 1

1010

0 1 0 1 0 1 0 1

Page 6: A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.

Reduction of Decision Tree

Rule 1: Nodes must be unique

Rule 2: Redundant tests should not be present

a a

b b

a

b b

a

b b

Page 7: A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.

Decision Tree Reduction:Example

x1

x3

x2

x3 x3x3

x2

10

x1

x3

x2

x3

x2

10

x1

x3

x2

10

BDDDecision tree Reduced Tree

Rule 1 Rule 2

Page 8: A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.

Introduction to BDDs Canonicity Compactness (with some exceptions) BDDs represent various discrete objects

Boolean functions Compositional sets Encodings and labels

BDDs facilitate symbolic methods Two-level minimization, state minimization,

decomposition, ATPG, etc.

Page 9: A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.

BDD Representation

Boolean functions Characteristic functions

Combinatorial sets Relations

FSM transition relationsCovering tables, matrices, graphs

Page 10: A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.

Characteristic Functions: Example

Problem: Given the set {p1, p2, p3, p4, p5, p6 }, create the characteristic function of the subset {p1, p3, p4} and represent it using BDDs

Step 1: Introduce an encoding of the set

p1 – p2 – p3 –

p4 – p5 – p6 – Step 2: Define a function over the encoding

variables (x1, x2, x3) such that it will be equal to 1 for minterms encoding the subset {p1, p3, p4}.

012 xxx 012 xxx012 xxx012 xxx 012 xxx 012 xxx

Page 11: A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.

Characteristic Functions: Example (continued)

{p1, p3, p4} ( x0, x1, x2 ) =

= + +

Step 3: Represent

this function as a BDD

012 xxx 012 xxx 012 xxxx2

x0

x1

10

Page 12: A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.

Labeling

To generate m unique labels Define k = log2m binary labeling variables

Create m minterms, corresponding to the binary encoding of integers {0, 1, 2,… m-1}

Represent the minterms as BDDs over the labeling variables

For any assignment of labeling variables, only one label can be equal to 1

Page 13: A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.

Boolean Relations

A boolean relation is a boolean function over two domains of binary variables (x1,x2,x3,…) and (y1,y2,y3,…). The function is true for an assignment of variables (x1,x2,x3,…,y1,y2,y3,…) iff assignments (x1,x2,x3,…) and (y1,y2,y3,…) are in a certain relation.

Example: Assignments (x1,x2,x3,…) and (y1,y2,y3,…) may be the codes of a present state and a next state of a Finite State Machine

Page 14: A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.

Relations for FSMs

1

3

2

00 / 1

Transition Relation

T(x0,x1,y0,y1,i0,i1) = 1- / 1

00 / 1

11 / 1

01 / 000

01

10

101010

101010

01010

101010

101010

iiyyxx

iiyyxx

iyyxx

iiyyxx

iiyyxx

Page 15: A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.

Relations for Graphs a and n are in relation AND2-direct n and a are in relation AND2-reverse a and b are in relation AND2-adjacent, etc.

Page 16: A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.

Relations for Graphs Assign each signal (“cut point”), each type of gate and relation a unique binary code (label) a - b - n - , etc AND2 - OR2 - EXOR2 - Direct - Reverse - Adjacent – Create products for each couple of objects (like nodes in the graph) and multiply these

objects by labels, defining their relationship Compute a bdd equal to the sum of these products

012 xxx 012 xxx 012 xxx01gg 01gg 01gg

01aa 01aa 01aa

Page 17: A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.

Relations for Graphs Create a structural BDD of the network R(x2,x1,x0,y2,y1.y0,g1,g0,a1,a0) =

...

01010120120101012012

01010120120101012012

01010120120101012012

aaggyyyxxxaaggyyyxxx

aaggyyyxxxaaggyyyxxx

aaggyyyxxxaaggyyyxxx

Page 18: A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.

Structural BDD Representation

Encodes all information about structure (complementary w.r.t. the sensitivity function)

Lead to a new “calculus” for structural analysis and transformations of encoded graphs (logic networks) based on the following operations efficiently implemented in the BDD package product/sum, quantification (existential, universal, unique) image/pre-image computation

Page 19: A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.

Quantification

Given boolean function F(x1, x2, x3) Existential quantification of F w.r.t. x1 is

x1 F(x1, x2, x3) = F(0, x2, x3) + F(1, x2, x3) Universal quantification of F w.r.t. x1 is

x1 F(x1, x2, x3) = F(0, x2, x3) & F(1, x2, x3) Unique quantification of F w.r.t. x1 is

!x1 F(x1, x2, x3) = F(0, x2, x3) F(1, x2, x3)

Page 20: A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.

Image Computation

Given relation R(X, Y) and the set of assignments A(X), it is possible to compute the set of assignments B(Y) such that X and Y satisfy the relation R(X, Y).

B(Y) = x [ R(X, Y) & A(X) ] B(Y) is called the forward image of the set

A(X) in the relation R(X, Y). Similarly, it is possible to compute the

backward image A(X) of the set B(Y).

Page 21: A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.

Problem1: Locating Elements

Find all occurrences of the combination of AND-OR gate in the network of logic gates

NetworkElement

ElementElement

Page 22: A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.

Problem2: Replacing Elements

c = a + b;

d = ( a + b )&b = ab + b = b

a

b

d

ca

b

d

c

Page 23: A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.

Solution of Problem 1: Idea

Given the structural representation of the network R( X, Y, A ), it is possible to find relations between any types of “cutpoints”

a

b

d

c

Page 24: A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.

Solution of Problem 1 (cont.) Cut-points b and c are in relations OR2-direct and

AND2-adjacent Relation between all possible occurrences of b and

c throughout the network is

Rbc(X,Y) = R(X,Y,AOR2D) & R(X,Y,AAND2A) The characteristic function of all occurrences of

the structural element (located using b-type cut-points as references) is

Lb(X) = y Rbc(X,Y)

Page 25: A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.

Solution of Problem 2: Ideas Find the char. function Ld of the d-type cut-points Extract relations with d from R(X,Y,A) Remove relations b-d-AND2D and d-c-AND2D from

the extracted relation Remove relations b-c-AND2A from R(X,Y,A) Replace d-encoded cut-points for b-encoded cut-points

in the remaining extracted relations Add them to the structural bdd R(X,Y,A)

a

b

d

ca

b

d

c

Page 26: A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.

Solution of Problem 2 (cont.) Characteristic function Ld of d-type cut-points is Ld(X) = y [ R(X,Y,AAND2D) & Lb(Y) ] Extract relations with d extracted from R(X,Y,A) Rd(X,Y,A) = R(X,Y,A) & Ld(X) Remove b-d-AND2D and d-c-AND2D from Rd

Rd*(X,Y,A) = Rd (X,Y,A) & Lb(X)’ & Lc(X)’

Remove b-c-AND2A from R(X,Y,A) R*(X,Y,A) = R(X,Y,A)&( Rbc(X,Y) )’ Replace d-type cut-points for b-type cut-points R**(X,Y,A) = z [Rbd(X,Z) & Rd

*(Z,Y,A)] Add this relation to the structural representation

R(X,Y,A) = R(X,Y,A) + Rd**(X,Y,A)

Page 27: A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.

Universal Search Algorithm

Step1: Traverse the fragment starting from the outputs and mark the overlapping cut-points

Step 2. Recursively call the search procedure for each output of the fragment

Page 28: A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.

Recursive Procedure (sketch)

In this node Call the procedure for two (or more) siblings When they return the sets of cut-points

– If the incoming sets of the node are disjoint, multiply their images

– If the incoming sets are non-disjoint (the branches are symmetric or quasi-symmetric), apply the following transformation (see next slide)

– At the meeting points of two overlapping branches, find the intersection of sets of possible cut-points

Return the result

Page 29: A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.

(Quasi-)Symmetric Branches Computing the two related sets of

ordered output cut-pointsR(Z1,Z2) = Y[R(Y,Z1,AND2R) & R(Y,Z2,AND2R) & Z1 Z2]S1(Z1) = Z2[R(Z1,Z2)]S2(Z2) = Z1[R(Z1,Z2)] Computing the “merged set”S(Y) =(Z1 [R(Y,Z1,AND2R) & S1(Z1)]& Z2 [R(Y,Z2,AND2R) & S2(Z2)]) + (Z1 [R(Y,Z1,AND2R) & S2(Z1)]& Z1 [R(Y,Z2,AND2R) & S1(Z2)])

Z2Z1

Y