Sie sind auf Seite 1von 23

Classification and Properties of Logical Functions (cont)

Shannon expansion theorem Reed-Muller expressions Kronecker expressions Generalized bit level expressions Walsh transform

Functional expressions for switching functions- Polynomial Representation


SOP is an analytical description of a truth table The SOP can be viewed as a series-like expression where the basis functions are minterms
x1 x0
X
0

f f(0) f(1) f(2) f(3)

X0 X1 X2 X3

00 01 10 11

X1

X2

f = X 0 f (0) + X 1 f (1) + X 2 f (2) + X 3 f (3)


0 1 2 3

= ( x1 x0 , x1 x0 , x1 x0 , x1 x0 ) F
2

Definition of Kronecker product


a1,1 B a1,2 B A B = a B a B n ,2 n ,1
Example:

a1,m B an ,m B

[ x1 x1 ] [ x0 x0 ] = [ x1 x0 x1 x0 x1 x0 x1 x0 ]

Shannon Expansion rule


In matrix notation the Shannon expansion rule can be expressed in terms of basic matrices X(1) and B(1)

1 0 f0 f = ( xi xi ) f = X (1) B(1) F 0 1 1
By recursive application of Shannon expansion each n-variable switching function can be represented as

n 1 n 1 f = X (1) B(1) F i =0 i =0
4

Polynomial Representation
REED-MULLER EXPRESSION Theorem: An arbitrary n-variable function is uniquely represented as

f ( x1 , x 2 , , x n ) = a 0 ( a 1 x1 a 2 x 2 a n x n ) ( a 1 , 2 x1 x 2 a 1 , 3 x1 x 3 a n 1 , n x n 1 x n ) a 1 , 2 ,..., n x1 x 2 x n ,

where ai { 0,1}. Representation algorithm 1.

Present function in canonical SOP(SOM) and replace all by 11 : f ( x1 , , xn ) = xn , f ( 1 n ) x1 xn = x1


1 n 1 n

= 00
1 k

xi0 = x i , xi1 = xi , Sum operation with such enumeration


1

1 n on which

f ( 1 n ) equals 1.

2. 3.

Replace all x i by xi 1 . Make a logical multiplication


5

Example of Polynomial Representation

f = x1 x 2 x 2 x 3 = x1 x 2 x 3 x1 x 2 x 3 x 1 x 2 x 3 = = x1 x 2 x 3 x1 x 2 x 3 x 1 x 2 x 3 = = x1 x 2 (1 x 3 ) x1 x 2 x 3 (1 x1 ) x 2 x 3 = = x1 x 2 x1 x 2 x 3 x1 x 2 x 3 x 2 x 3 x1 x 2 x 3 = = x1 x 2 x 2 x 3 x1 x 2 x 3 a 0 = a1 = a 2 = a13 = 0 a12 = a 23 = a123 = 1

Reed-Muller Expansion rule


In GF(2), the logic complement of xi can be represented as

xi = 1 xi

From Shannon expansion we derive the positive Davio (pD) expansion (decomposition) rule, where f is represented as a polynomial

f = xi f 0 xi f1 = f 0 xi ( f 0 f1 ) = c0 c1 xi
In matrix notation the pD expansion rule can be expressed in terms of basic matrices Xrm(1) and R(1)

1 0 f 0 f = (1 xi ) f = X rm (1) R(1) F 1 1 1
By recursive application of pD expansion each n-variable switching function can be represented as Positive Polarity Reed-Muller (PPRM) expansion

n n f = X rm (1) R (1) F i =1 i =1

PPRM-example for n=2


f (0, 0) 1 0 1 0 f (0,1) f ( x1 x2 ) = ([1 x1 ] [1 x2 ]) 1 1 f (1, 0) 1 1 f (1,1) 1 0 0 0 f (0, 0) 1 1 0 0 f (0,1) = [1 x2 x1 x1 x2 ] 1 0 1 0 f (1, 0) 1 1 1 1 f (1,1) = c0 c1 x2 c2 x1 c3 x1 x2 = XS

Reed-Muller spectrum
The matrix

R(n) = R (1)
i =1

Rm(0,x)

Rm(1,x)

is called the RM matrix, the matrix is non-singular. The columns of the matrix are RM functions rm(i,x) The RM spectrum is defined as thus

Rm(2,x)

Rm(3,x)

Rm(4,x)

Rm(5,x)

S f ,rm = R (n) F f = X (n) S f ,rm

Rm(6,x)

Rm(7,x) 0 1 2 3 4 5 6 7

Fast algorithm for calculation of RM expansion


Based on the recurrence relation it is possible to compute the spectrum with complexity O(n2n ) XOR operations

0 R(n 1) R ( n) = R(n 1) R(n 1)

10

RM expansion calculation using Transeunt Triangle


Dueck W., Maslov D., Butler T., Shmerko V., Yanushkevich S., A Method to Find the Best Mixed Polarity Reed-Muller Expression Using Transeunt Triangle,RM 2001

Definition:
The transeunt triangle for f(x1; x2;; xn) is a triangle of 0's and 1's where the bottom row is the truth vector of f. The j-th element in the i-th row of the triangle is denoted by

ei , j

where the indices run from left-to-right and top-

to-bottom starting with i = 0 and j = 0, respectively. The truth vector corresponds to the elements

e2n 1,0 , e2n 1,1 ,..., e2n 1,2n 1

The element e n corresponds to f(k), where k is the binary representation 2 1, k of integer k. Other elements are related by

ei , j = ei +1, j ei +1, j +1
11

RM expansion calculation using Transeunt Triangle (cont)

12

RM expansion calculation using Transeunt Triangle (cont) Theorem 1:

ei , j = ei + 2k , j ei + 2k , j + 2k

The proof is by induction on k.

Theorem 2:
Let T be transeunt triangle for a switching function f(x1; x2; ; xn). If we divide T onto 3 triangles T0; T1 and T2 as shown in the figure, then T0 is the transeunt triangle for the function f(0; x2; ; xn), T1 is the transeunt triangle for the function f(1; x2; ; xn) and T2 is the transeunttriangle for the function f(0; x2; ; xn) f(1; x2; ; xn)
13

Fixed Polarity Reed-Muller expressions


The Fixed Polarity Reed-Muller (FPRM) expansion of a function f with a given polarity vector H = (hn 1 ,...h1 , h0 ) is defined as
n n hi hi f ( xn 1 ,...x1 , x0 ) = [1, xi ] R (1) F i =1 i =1

Where
xi x = xi
hi i

hi = 0 hi = 1

and

1 1 hi R (1) = 0 1

0 1 1 1 i

hi = 0 hi = 1

The number of terms in a FPRM expansion for a given polarity vector H is the

n hi number of non-zero terms in the binary vector S = R (1) F i =1

mod(2)
14

Fixed Polarity RM -example

f ( z0 , z1 , z2 ) = (0, 4,5, 6, 7)
15

Kronecker expressions
Kronecker expressions are generalization of the FPRM expressions each variable can have different expansion rule : Shannon (S), positive Davio (pD) or negative Davio (nD).

K (n) = in=1 K i (1) 1 0 1 0 0 1 K i (1) B(1) = , R(1) = 1 1 , R (1) = 1 1 0 1 Example : x1 B, x2 pD, x3 nD f = a0 x1 a1 x1 x3 a2 x1 x2 a3 x1 x2 x3 a4 x1 a5 x1 x3 a6 x1 x2 a7 x1 x2 x3


16

Generalized bit level expressions


Generalized Reed-Muller (GRM) : In each product a variable can have a different polarity. No two products having the same set of variables can appear.

Example : xi denotes either xi or xi f = a0 a1 x3 a2 x2 a3 x2 x3 a4 x1 a5 x1 x3 a6 x1 x2 a7 x1 x2 x3


EXOR Sum-of-Products (ESOP) In each product a variable can have a different polarity.

17

example : f ( x3 x2 x1 ) = (0,5, 6, 7) = x3 x2 x1 + x3 x2 + x3 x1 F = [1, 0, 0, 0, 0,1,1,1] S = R(3) F = [1,1,1,1,1, 0, 0, 0] X (3) = [1, x1 , x2 , x1 x2 , x3 , x1 x3 , x2 x3 , x1 x2 x3 ] f ( x3 x2 x1 ) = X (3) S = 1 x1 x2 x1 x2 x3


18

Fourier transform
F ( ) =

t =

f (t )e jt dt

1 f (t ) = 2

t =

F ( )e jt d

F (k ) = f (n)e j 2 nk / M
n=0

M 1

19

Walsh transform
The Walsh matrix is defined as

W (n) = W (1),
i =1

Wall(0,x)

1 1 W (1) = 1 1

Wall(1,x)

Wall2,x)

Wi ,k = (1)

<i , k >

= (1)

is ks
s =0

n 1

=e

j <i , k >

Wall(3,x)

The Walsh spectrum is defined as thus

Wall(4,x)

S f = W ( n) F

Wall(5,x)

Wall(6,x)

F = 2 n W ( n) S f

Wall(7,x) 0 1 2 3 4 5 6 7

20

Walsh matrix - example


n=3 F = ( F (0), F (1),..., F (7)) = (0,1,1, 0,1, 0, 0, 0) 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 W (3) = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 S f = W (3) F = (3,1,1, 1,1, 1, 1, 3) 1 x1 x2 x2 x1 x3 x3 x1 x3 x2 x3 x2 x1

21

Walsh Transform (cont)


Any function can be represented as a Walsh series with Walsh coefficients Sf(w)

f ( x) = 2 n S f ( w) wal ( w, x)
w=0

2n 1

S f ( w) = f ( x) wal ( w, x)
x =0

2n 1

22

Fast Walsh transform


W (n 1) W (n 1) W ( n) = W (n 1) W (n 1)

23

Das könnte Ihnen auch gefallen