You are on page 1of 8

Classification and Properties of Logical Functions (cont)

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
X0

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

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

X0 X1 X2 X3

00 01 10 11

X1

X2

X3 0 1 2 3

f = X 0 f (0) + X 1 f (1) + X 2 f (2) + X 3 f (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:

Shannon Expansion rule


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

a1, m B an ,m B

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

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

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

Polynomial Representation - Reed Muller Expressions


Theorem: An arbitrary n-variable function is uniquely represented as

Example of Polynomial Representation

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 )
where ai { 0,1}. Representation algorithm 1.

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

a 1 , 2 ,..., n x1 x 2 x n ,

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 6

Reed-Muller Expansion rule


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

PPRM - Example for n=2


f (0, 0) 1 0 1 0 f (0,1) f ( x1 x2 ) = ([1 x1 ] [1 x2 ]) 1 1 1 1 f (1, 0) 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

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 f0 f = (1 xi ) = X rm (1) R (1) F 1 1 f1
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

Reed-Muller spectrum
The matrix

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

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

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

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

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

10

Polar Codes - Erdal Arikan, ISIT 2007


very general phenomenon information theoretic view why codes work first low complexity scheme which provably achieves the capacity for a fairly wide array of channels codes not only good for channel coding; work equally well for source coding and more complicated scenarios many possible variations on the theme 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 R(3) = 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1
11

Polar Codes - Erdal Arikan, ISIT 2007


very general phenomenon information theoretic view why codes work first low complexity scheme which provably achieves the capacity for a fairly wide array of channels codes not only good for channel coding; work equally well for source coding and more complicated scenarios many possible variations on the theme 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 R(3) = 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 12 Reed-Muller codes

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

RM expansion calculation using Transeunt Triangle (cont)

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
* Transeunt -Of a mental act; causing effects outside the mind (transient)

13

14

RM expansion calculation using Transeunt Triangle (cont)


Theorem 1:

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

Fixed Polarity Reed-Muller expressions


The Fixed Polarity Reed-Muller (FPRM) expansion of a function f with a given polarity vector H = (hn1 ,...h1 , h0 ) is defined as

The proof is by induction on k.

n n f ( xn 1 ,...x1 , x0 ) = [1, xihi ] R hi (1) F i =1 i =1


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)
15

Where
x x = i xi
hi i

hi = 0 hi = 1

and

1 1 R (1) = 0 1
hi

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 number of non-zero terms in the binary vector S = R i (1) F i =1
h

mod(2)
16

Fixed Polarity RM -example

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 ( z0 , z1 , z2 ) = (0, 4,5, 6, 7)
17

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
18

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.

Minimization of Exclusive-Sums-of-Products (ESOP)


Why ESOP has been underestimated ?
EXOR gate in standard cell libraries, is almost two times larger and slower compared to NAND and NOR gates. Relatively few algorithms use ESOPs for internal representation of functions. Exact minimization of ESOPs is practical only for arbitrary functions of five input variables and special classes of functions up to ten variables Heuristic minimization is based on search algorithms and is computationally more expansive than SOP minimization.

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.

Why to use ESOP ?


For many Boolean functions, the number of cubes in minimal ESOPs is less then the number of cubes in minimal SOPs. The EXOR gate has excellent testability properties leading to efficient methods for automatic test pattern generation and design for test. For many types of practical circuits, the selective use of EXOR gates in logic synthesis yields better implementations in terms of both area and delay.
20

19

Minimization of Exclusive-Sums-of-Products (ESOP)


Approaches to heuristic ESOP minimization :
Iterative cube transformation:
Iteratively apply a set of selected cube transformations to single cubes, cube groups. If the replacement leads to simplification or some other desirable improvement, the cover is modified without changing the function represented by it.

Minimization of ESOP
Two level ESOP Simplification based on term rewriting
Before the rewriting the function has to be represented as (non-minimal) two level AND-XOR expression. Rewrite rules S1-S6:

x x 1,

11 0

Minimization of families of ESOP expansions Simplification based on term rewriting


D. Brand, T. Sasao. Minimization of AND-EXOR expressions using rewriting rules. IEEE Trans. Comp. Vol. C42. No. 5, pp. 568-576, May 1993.

x 1 x , xy x y x y xy y 1 xy, xy x y x y
Brad-Sasao[93] consider the following problems: Given a set of rule, is there always a chain leading to minimal expression? If no, what rules need to be added? If yes, but not every chain leads to a minimum, how to find a chain that does result in a minimal expression? To what extent are these issues relevant in practice?
22

Zakrevskij stair-case method


A. Zakrevskij. Minimum Polynomial Implementation of Systems of Incompletely Specified Functions. Proc. of IFIP WG 10.5 Workshop on Applications of the ReedMuller Expansion in Circuit Design 1995. Japan, pp. 250-256.
21

Minimization of ESOP
Two level ESOP Simplification based on term rewriting
Example: minimize the expression

x y z w xz xw xyzw zw
Conclusion: the set S1-S6 is not sufficient for minimizing the expression. Theorem: The following set is a minimal convergence (to the minimal number of product terms set of rules

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


23 24

1 1 0, 1 x x , x 1 x
Example

xz y x yz xyz xyz

Fourier transform

Walsh transform
The Walsh matrix is defined as

W (n) = W (1),

Wall(0,x)

F ( ) =

t =

f (t )e jt dt

i =1

1 f (t ) = 2

t =

F ( )e jt d

Wi ,k = ( 1)<i ,k > = (1) s=0


The Walsh spectrum is defined as thus

1 1 W (1) = 1 1

Wall(1,x)

Wall2,x)
n 1

is ks

= e j <i ,k >

Wall(3,x)

Wall(4,x)

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

M 1

S f = W ( n) F
F = 2 n W ( n) S f

Wall(5,x)

Wall(6,x)

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

25

26

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

Walsh Transform (cont)


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

f ( x) = 2 n S f ( w)Wx ( w)
w=0

2n 1

S f ( w) = f ( x)Ww ( x)
x =0

2n 1

27

28

Fast Walsh transform


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


29

You might also like