+ All Categories
Home > Documents > Cellular automata based scheme for solution of Boolean equations

Cellular automata based scheme for solution of Boolean equations

Date post: 18-Sep-2016
Category:
Upload: pp
View: 218 times
Download: 1 times
Share this document with a friend
7
Cellular automata based scheme for solution of oolean equations S. Bhattacharjee S.Sinha C.Chattopadhyay P. P. C ha u d h u ri Indexing term: Cellulur. automata, Boolean equations, Digital circitiis, XOR-ciuii7iizured jiirzctions - Abstract: The paper utilises a particular class of nongroup CA as a mathematical tool to derive solutions of XOR-dominated Boolean equations. Some problems in digital circuits (such as logic synthesis, test pattern generation etc.) demand efficient schemes for the solution of Boolean equations. A large number of combinational benchmarks and real-life circuits used in the fields of built-in self-test (BIST) structures, cryptography, error-correcting codes etc. can be found to have dominance of such XOR. functionality. The proposed scheme is suited to such XOR dominated circuits. A comparison between the execution time of the proposed method and popular schemes based on tabular algebra shows a maximum speedup of up to ten times. In the worst case, the performance of the algorithm presented is equivalent to that of tabular algebra, which is inescapable since the problem is inherently NP-hard. - 1 Introduction Solutions of Boolean equations appear in many appli- cations such as coding theory, telecommunication; lin- ear systems etc. Unfortunately, the problem is NP-hard in nature and good heuristic-based tools do not exist. There are two major approaches for solving Boolean equations: algebraic methods and tabular methods. Algebraic methods are based on algebraic manipula- tions of Boolean expressions. These are compact and general [l], but are cumbersome so far as manualicom- puter processing is concerned. The tabular methods [l-31 give a mapping of all 2'l possible values to true/ false for ail rz-input function. This technique can easily be implemented but is impractical for large values of n. Trabado [4] proposed a new Boolean algebra on com- pact Boolean representation for sets of Boolean vec- tors. An innovative scheme for solution of any XOR- dominated Boolean function has been proposed in this paper. The scheme employs the matrix algebraic tool proposed in [5-71 to characterise the state transition 0 IEE, 1996 IEE Proceedings online no. 19960381 Paper first received 24th July 1995 and in revised fomi 18th Janudly 1996 The authors are with the Department of Coinputer Science & Engineering, Tndkan Institute of Technology, Kharagpur - 721 302, India behaviour of cellular automata. For XOR-dominated functions, the scheme achieves more than ten times the speed of the method proposed in [4]. In the worst case the proposed scheme behaves at par with [4]. 'Cellular automata' (CA) consist of numbers of cells interconnected in a regular manner. Wolfram [8] pio- neered the investigation of CA as mathematical models and suggested the use of simple two-state, three- neighbourhood CA with cells arranged linearly in one dimension. Each cell essentially comprises a memory element and a combinational logic that generates the next-state of the cell from the present-state of its neigh- bouring cells; left, right and self. A new era of research on theory and applications of CA has been initiated with the work of Das et al. [5-71 that dealt with analyt- ical characterisation of CA behaviour based on a matrix algebraic tool. CA with nonsingular characteris- tic matrices are termed group CA, otherwise they are called nongroup CA. The state-transition behaviour of group CA is characterised by the fact that every state has a unique predecessor. Whereas in nongroup CA, the number of predecessors is either zero, or 2', for some i > 0. CA have been studied extensively in [6, 7, 9, IO]. Many realistic applications have also been reported: pseudo-random [ 1 11 and pseudo-exhaustive pattern generation [7; 12-14], signature analysis [9, 15, 161, delay-fault testing [ 171, error-correcting codes [ 181, cryptography 1191 and for synthesis of testable FSM [201. 2 Cellular automata preliminaries Cellular automata consist of numbers of interconnected cells arranged spatially in a regular manner [8]. Con- sider simple two-state, three-neighbourhood CA with the next-state function for cell i represented as follows: Yext itate. 0 1 0 1 1 0 1 0 (rule 90) The top row gives all the eight possible states of the three neighbouring cells at time t, while the second and third rows give the corresponding states of the ith cell at time t + 1 for two illustrative CA rules. If the next- state function of a cell is expressed in the form of a truth table, then the decimal equivalent of the output column in the truth table is conventionally called the rule number for the cell [SI. The two rules 90 and 150 result in the following logic flmctions: Xcighhourhoodstatc: 111 110 101 100 011 010 001 000 Next state' 1 0 0 1 0 1 1 0 (rule 150) IEE Proc -Cornput. Digit Tech., Vol. 143, No 3, Muy I996 174
Transcript
Page 1: Cellular automata based scheme for solution of Boolean equations

Cellular automata based scheme for solution of oolean equations

S. Bhattacharjee S.Sinha C.Chattopadhyay P. P. C ha u d h u ri

Indexing t erm: Cellulur. automata, Boolean equations, Digital circitiis, XOR-ciuii7iizured jiirzctions

-

Abstract: The paper utilises a particular class of nongroup CA as a mathematical tool to derive solutions of XOR-dominated Boolean equations. Some problems in digital circuits (such as logic synthesis, test pattern generation etc.) demand efficient schemes for the solution of Boolean equations. A large number of combinational benchmarks and real-life circuits used in the fields of built-in self-test (BIST) structures, cryptography, error-correcting codes etc. can be found to have dominance of such XOR. functionality. The proposed scheme is suited to such XOR dominated circuits. A comparison between the execution time of the proposed method and popular schemes based on tabular algebra shows a maximum speedup of up to ten times. In the worst case, the performance of the algorithm presented is equivalent to that of tabular algebra, which is inescapable since the problem is inherently NP-hard.

-

1 Introduction

Solutions of Boolean equations appear in many appli- cations such as coding theory, telecommunication; lin- ear systems etc. Unfortunately, the problem is NP-hard in nature and good heuristic-based tools do not exist. There are two major approaches for solving Boolean equations: algebraic methods and tabular methods. Algebraic methods are based on algebraic manipula- tions of Boolean expressions. These are compact and general [l], but are cumbersome so far as manualicom- puter processing is concerned. The tabular methods [l-31 give a mapping of all 2'l possible values to true/ false for ail rz-input function. This technique can easily be implemented but is impractical for large values of n. Trabado [4] proposed a new Boolean algebra on com- pact Boolean representation for sets of Boolean vec- tors. An innovative scheme for solution of any XOR- dominated Boolean function has been proposed in this paper. The scheme employs the matrix algebraic tool proposed in [5-71 to characterise the state transition

0 IEE, 1996 IEE Proceedings online no. 19960381 Paper first received 24th July 1995 and in revised fomi 18th Janudly 1996 The authors are with the Department of Coinputer Science & Engineering, Tndkan Institute of Technology, Kharagpur - 721 302, India

behaviour of cellular automata. For XOR-dominated functions, the scheme achieves more than ten times the speed of the method proposed in [4]. In the worst case the proposed scheme behaves at par with [4].

'Cellular automata' (CA) consist of numbers of cells interconnected in a regular manner. Wolfram [8] pio- neered the investigation of CA as mathematical models and suggested the use of simple two-state, three- neighbourhood CA with cells arranged linearly in one dimension. Each cell essentially comprises a memory element and a combinational logic that generates the next-state of the cell from the present-state of its neigh- bouring cells; left, right and self. A new era of research on theory and applications of CA has been initiated with the work of Das et al. [5-71 that dealt with analyt- ical characterisation of CA behaviour based on a matrix algebraic tool. CA with nonsingular characteris- tic matrices are termed group CA, otherwise they are called nongroup CA. The state-transition behaviour of group CA is characterised by the fact that every state has a unique predecessor. Whereas in nongroup CA, the number of predecessors is either zero, or 2', for some i > 0.

CA have been studied extensively in [6, 7, 9, IO]. Many realistic applications have also been reported: pseudo-random [ 1 11 and pseudo-exhaustive pattern generation [7; 12-14], signature analysis [9, 15, 161, delay-fault testing [ 171, error-correcting codes [ 181, cryptography 1191 and for synthesis of testable FSM [201.

2 Cellular automata preliminaries

Cellular automata consist of numbers of interconnected cells arranged spatially in a regular manner [8]. Con- sider simple two-state, three-neighbourhood CA with the next-state function for cell i represented as follows:

Yext i t a t e . 0 1 0 1 1 0 1 0 (rule 90)

The top row gives all the eight possible states of the three neighbouring cells at time t , while the second and third rows give the corresponding states of the ith cell at time t + 1 for two illustrative CA rules. If the next- state function of a cell is expressed in the form of a truth table, then the decimal equivalent of the output column in the truth table is conventionally called the rule number for the cell [SI. The two rules 90 and 150 result in the following logic flmctions:

Xcighhourhoodstatc: 111 110 101 100 011 010 001 000

Next s ta te ' 1 0 0 1 0 1 1 0 (rule 150)

IEE Proc -Cornput. Digit Tech., Vol. 143, No 3, Muy I996 174

Page 2: Cellular automata based scheme for solution of Boolean equations

rule 90: qi(l + 1) = qi-l(t) 0 qi+l(t), rule 150: qi(t + 1) = qi_l(t) 0 qi(t) 0 qi+l(t)

where 0 denotes XOR logic and qi(l) denotes the state of the ith CA cell at the tth time instant, qi-l and qi+l refer to the state of its left and right neighbours.

CA employing only XOR logic are referred to as ‘linear’ CA, otherwise they are called ‘nonlinear’ CA. In the rest of the paper we consider only linear CA.

In addition to rules 90 and 150, other linear CA rules are

rule 60: qi(t + 1) = qi-~l(t) 0 qi(t), rule 102: qi(t + 1) = qi(t) 0 qi+l(t) rule 170: qi(t + 1) = qii1(t), rule 204: qi(t + 1) = qi(t) rule 240: qi(t + 1) = qi-l(t)

n-cell CA can be specified as rule vectors <ro r1 ... ri ... Y,~> where the ith cell gets configured with rule ri. Characteristic matrix: For n-cell one-dimensional linear CA with XOR rules, it has been shown [6, 71 that the linear operator is an n x n Boolean matrix whose ith row specifies the neighbourhood dependency of the ith cell of the CA. The next state of the CA is generated by applying this linear operator to the present CA state represented as a column vector. The operation is the normal matrix multiplication, but the addition involved is modulo-2 sum (i.e. all operations are in GF(2)). This matrix is termed the ‘characteristic matrix’ of the CA and is denoted by T.

If f t is a column vector representing the state of the automata at the tth instant of time, then the next state of linear CA is given by f r + l = T x f t . A few terminolo- gies introduced below have been illustrated in Figs. 1 -3.

Clock-

U U U Fig. 1 Strucrure of MACA with rule vector 1102, 102, 60, 602

Fig.2 T-matrix of M A C A with rule vector 1102, 102, 60, 60>

zero-tree Fig.3

n = 4, Y = rank = 3, depth = 2 no. of predecessor = 2”~’ nonreachable states = 2,3,4,5,10,11,12.13 cyclic states = {0, 1 , 8, 9) = {OOOO, 0001, 1000, 1001) attractors = 0, 1, 8, 9 0-basin = {0,5,10,15} I-basin = {l,4,11,14)

State transition diagram of M A C A with rule vector 1102, 102, 60, 60>

Group CA: CA are called ‘group CA’ if all the states in their state transition diagrams lie on cycles, otherwise they are referred to as ‘nongroup CA’. It has been proved in [6] that if their T-matrices are nonsingular, then the CA are group CA. otherwise they are non- group CA. Cyclic States: Reachable states which lie on cycles are called cyclic states. Attractor: A state which has a self loop is referred to as an ‘attractor’. Thus an attractor can be viewed as a cyclic state with unit cycle length. Multiple attractor CA (MACA): The nongroup CA for which the state transition diagram consists of a set of disjoint components forming (inverted) tree-like struc- tures rooted at attractors are referred to as ‘multiple attractor CA’. Depth: The maximum number of state transitions required to reach the nearest cyclic state from any non- reachable state in the CA state transition diagram is defined as the ‘depth’ of the CA. Level: The ‘level of a node’ in a tree is the iiumber of transitions necessary to reach the attractor from the node. Null space: The null space of a matrix M is the set of vectors satisfying the matrix equation M.X = 0. Pseudo-exhaustive pattern set: .A set of n bit patterns is said to be ‘pseudo-exhaustive’ m a m-bit field (m < n) if all possible 2” patterns appear in the field in the given pattern set. In Figs. 1-3 for ihe four cyclic states we have 00, 01, 10, 11 as pseudo-exhaustive bit patterns corresponding to the most significant and least signifi- cant bit positions. Zero tree: The tree rooted at zero attractor is referred to as the zero tree or zero basin. Nonzero tree: The tree rooted at any attractor other than zero is referred to as the nonzero tree or nonzero basin. The tree on nonzero attractor (say i) is referred to as the i-tree. The set of states in the i-tree is also referred to as the i-basin. The terms basin and tree are used interchangeably.

2.1 Some relevant characterisations of ce Ilu la r a u to m a ta The following results related to one-dimensional addi- tive CA have been analytically proved in [6, 7, 211 and are restated without any proof:

Theorem I : If, for a large non-negative integer k, xk divides the minimal polynomial m(x) of the T matrix of CA, then the depth of its state transition diagram is k . Theorem 2: If, for CA of depth d > 0, k is the smallest integer for which Td+k = Td then the CA state transi- tion graph has cycles of lengths which are factors of k. Theovem 3: In n-cell CA with characteristic matrix T the number of attractor states is 2”-‘ where r is the rank of the [T 0 I] matrix. Any attractor state can be repre- sented as a linear combination of (n ~ r ) linearly inde- pendent state vectors. [T 0 I] is the bitwise XOR operation of the T matrix and the identity matrix. Theorem 4: In n-cell multiple attractor CA with 2m attractors there exist m bit positions at which attractors give pseudo-exhaustive (PE) 2’” patterns.

IEE Proc.-Comput. Digit. Tech., Vol. 143, No. 3, Muy 1996 175

Page 3: Cellular automata based scheme for solution of Boolean equations

Theorem 5: Let d be the largest non-negative integer such that xd divides m(x) (the minimal polynomial of the CA). Then, each of the cyclic states in the state transition graph is the root of a tree of depth d and the structure of each such tree is isomorphic with that of the tree rooted at the 0-state. Theorem 6: The sum of two states lying at different lev- els p and q (p > q) of the i-tree is a state at level p of the 0-tree, where the sum refers to bitwise XOR opera- tion.

3 automata (MACA)

The state transition graphs of MACA, as the name indicates, consist o f a number of cyclic states referred to as attractors. Other states form inverted trees rooted at one of the attractors (Figs. 1-3). In the rest of the paper such inverted trees are referred to as trees only. For linear CA employing XOR rules, the 0-state (i.e. all 0 binary patterns, represented as decimal '0') always forms a cycle of leiigtli 1 (i.e. an attractor).

We next introduce a few notations that are used in subsequent discussions.

'The kth state at the jth level of the i-tree is denoted as xijk, where k = 1,2, ... denotes the index for the states in the same level. Lemnio 7: There exists a one-to-one correspondence between the states of the 0-tree and i-tree of MACA. P m o j Let xijk be the kth state at thejth level of the i- tree. According to theorem 6 , .xiiic 0 xioo = scoji, a state at the jth level of the 0-tree with index value 1. Thus, there exists a bijection between the states of the i-tree and the states of the 0-tree. The bijectionj is given by

Characterisation of multiple attractor cellular

.f(&i/<) = XQk @ xioo. Hence, the proof.

Lemma hi: In d-depth MACA, if the levelwise transi- tions from a nonreachable state to its attractor are known, the states in the 0-tree can be enumerated level- wise. Proofi Let xicik be a nonreachable state of i-tree and the levelwise transitions of this state to the attractor be given by <xi&, x~('~-,)[, ..., xilo, xioO>. We can generate the states of the 0-tree inductively as follows:

Basis: For level 1 node of the 0-tree. xolo is given by xilo + xioo (theorem 6).

Induction: Let the state of 0-tree be known up to level m. From lemma 7 the corresponding states of the i-tree up to level FYI are also known.

From theorem 6, x,(,,,+~)~ @ xVk (Vj < V I ) gives the state at the level (m + 1) of the 0-tree..

Hence, the proof. We are now in a position to identify the components

of MACA from their characteristic matrices T. The attractors can be found from the 'null-space' of (T 0 I). (The null-space is defined in the previous Section). The states belonging to the zero tree can be found by cornpiiting the null-space of the matrix T", d being the depth of the CA. Then we can apply lemma 7 to find the states belonging to the other basins. subsequent discussion identifies a Boolean expression to represent a basin.

Let us associate each cell of multiple attractor CA with a Boolean variable. For example, the qth cell of the CA is denoted as the variable xq, where xc, is true if the qth bit of the present CA state is set to 1. Thus,

176

each state of the CA can be viewed as a bit vector X which may represent a minterm of a Boolean expres- sion. By virtue of the fact that the CA is linear, 0 must be an attractor. Thus we define the function for the zero basin. Zero basin function: The Boolean function with the states of the 0-tree as its minterms is defined as the Boolean function for the 0-tree. This is also referred to as the 'zero basin function'.

The Boolean function for a 0-tree can be derived as follows: since each of the minterms X evolves to the 0- attractor after a maximum of d transitions, we have

where d is the depth of the CA. The matrix equation, eqn. 1 , as illustrated below, represents a set of simulta- neous Boolean equations over the cell variables. Euumple I : Let us consider the four-cell MACA shown in Figs. 1-3 with the rule configuration <102, 102, 60, 60>. The depth of the CA is 2. Characteristic matrices T and T2 are given by

r l 1 0 01 r l 0 1 0 1

TdX = 0 (1)

0 0 0 0

0 1 0 1 t o 0 1 11 Lo 1 0 11 Hence from eqn. 1

1 0 1 0 0

[0 0 0 0 0 0 1 *[;;I = [:I 0 1 0 1

==+ .2'1 e23 = 0 2 2 G3 2 4 = 0

The set of simultaneous Boolean equations for this example is composed into a single one by taking a con- junction of each term. Thus we arrive at the Boolean function whose onset corresponds to the zero tree.

The Boolean equation for the 0-tree is given by

( 2 1 @ 2 2 ) . ( 5 3 G? 2 4 ) = 1 Each of the i-trees of MACA is isomorphic with the 0- tree (lemma 7). So we can derive the basin equation for any other basin in MACA. The only difference between a zero basin and a nonzero basin equation is in the right-hand side of the matrix equation (eqn. 1). The right-hand side of the equation is now the nonzero attractor of the MACA. If we write the basin equation for the nonzero attractor Y, we have

E,xample 2: For the same four-cell MACA of Figs. 1 -3 with the rule vector <102, 102, 60, 60>, the equation for the attractor Y = 8 <1, 0, 0, 0> is given by

TdX = Y

1 0 1 0

[o 0 0 0 0 O 0j * [;;I = [;I 0 1 0 1

The set of equations thus obtained would be 5 1 CE 2 3 = 1 5 2 2 4 = 0

Again, a conjunction gives us the basin equation

It may be noticed that the basin equations are in the form of a two-level Boolean expression where the first

(51 @ LGz).(uJ3 @ 2 4 ) = 1

IEE Proc.-Comnput. Dzgif. Tech, Vol. 143, No. 3, May 1996

Page 4: Cellular automata based scheme for solution of Boolean equations

level is an XORENOR function and the second level is a logical AND. For n-cell MACA, a typical basin equation is of the form

where each Pi is an XORIXNOR of some of the cell variables x,, x2, ..., x,. The above discussions are for- malised in the following lemmas.

In the rest of the paper, the following notations have been used:

P,.P,. . . . .Pk = 1

Symbol: Interpretation: 0 XOR

0; * n AND

n,",

V OR 7, NOT

a;

XOR of variables over the index i for l S i S n

AND of variables over the index i for l < i < n

ith bit of the attractor a Lemma 9: The zero basin equation of n-cell MACA with characteristic matrix T and depth d is given by

n n n n [ T W = 1 2 = 1 j=1

where xi is the ith cell of the CA, and [Tq, is the entry in the [Tdj matrix at row i, columnj. Proof The Boolean equation for the zero basin is given by

[Td]X = 0 That is, Vi such that 1 5 i 5 n

n

@[Td]ij.xi = 0 j=1

n n - n U B ( ~ ~ n [TW = 1 i = l j = l

Lemma IO: The equation for the basin with an attrac- tor a(# 0) of n-cell d-depth MACA with characteristic matrix T is given by

n n

n n [TW e a i ) = 1 r=l j=1

where xi is the ith cell of the CA, [Td], is the entry in the [Tq matrix at row i, columnj, and ai is the ith bit of the attractor. Proof The Boolean equation for the basin is given by

[Td]X = [a]

k[Td]ij .xi = ai 3=1

That is, Vi such that 1 5 i 2 n

n

=+((@[T']ij n z r ) @ U , ) = 1 j=1

Hence n n

n [ T ~ I ; ~ ) ) e a i ) = 1 i=l j=1

IEE Proc.-Comput. Digit. Tech., Vol. 143, No. 3, May I996

3.1 Combination of two basins Let a and h be the two attractors of n-bit MACA of depth d and characteristic matrix T, The equation resulting from considering the states of these two basins as minterms can be wril ten as

~~

n n n n n n [TM 0 ((e(Ll n [TW 6 bL? 2 = 1 3=1 2 = 1

For example, in the CA shown in Figs. 1-3, the functions for the O-basin and I-basin are ab 0 bC 0 a d 0 Cd and ab 0 hC 0 ad 0 Cd, respectively. If these two basins are combined, the function for the combina- tion is given by

ab e b~ @ ad @ ~d + (ab bc a ad ~d = % @ E

Now, we have a novel scheme for representation of the basins of MACA. This is put to effective use in finding the solution of a Boolean equation.

4 equations

Thiy Section utilises the Boolean expression based rep- resentation of MACA basins. A scheme for efficient solution of a Boolean equation has been developed based on such characterisation. We first present the scheme for solution of equations in XOR AND for- mat. The corresponding CA characteristic matrix is constructed from the giveii XOR-AND equation. The states in the basins of the CA are the solutions to the given equation. The approach has been generalised subsequently for solving arbitrary equations employing ANDIORIXOR logic.

4. I XOR-AND function: mapping an equation to a basin In the previous Section we have illustrated the tech- nique for constructing the equations corresponding to the basins of MACA. Now we perform the reverse operation. That is. given a function in the XOR-AND format, we construct CA with one of their basins giv- ing a solution to the function. There can be two differ- ent structures of the input function. Case I : All product terms in the XOR-AND form are complemented. In this case the functionfis of the form

where each P, is the XOR of some variabies Case 2: Only some of the product terms are comple- mented.

CA-based scheme for solving Boolean

f = - P I 7 4 . -P,

4. I. I Construction of CA for case I: In this case we construct the CA with the zero tree being the solu- tion set. Each row of the matrix represents one product term. The null space of the [Tcq matrix ('r being the characteristic matrix of the CA and d its depth) gives the solution. The technique is illustrated with the help of the following example: Example 3: Let us consider tlie following equation in the XOR-AND format:

_I___-~________

(ace b).(u G3 b @ C ) . ( C @ d).(u pz b w c c b d ) = 1

Since we have four variables and four conjunctive terms, we form a 4 x 4 matrix representing the Td matrix of CA. The four columns represent a, 6, c, and

177

Page 5: Cellular automata based scheme for solution of Boolean equations

d respectively. Each conjunction forms a row of the matrix. The first row, for example, would be the equation

Hence the row would be [I 1 0 01. Thus we may write an equivalent matrix equation

(a e3 b ) = 0

The null space of the matrix consists of the two states 0 and 12. Thus, the solution set for the equation is

[abcd] = [OOOO, 11001

4.1.2 Construction of CA for case 2: In this case we construct a matrix similar to that in case 1. How- ever, all product terms are not complemented here. Naturally, the matrix equation in this case will be of the form

where the ith row <til, ti2, ..., ti,,> corresponds to the ith product term; ai = ‘0’ if the ith product term is com- plemented and ‘1’ if it is noncomplemented.

Now, eqn. 2 can be rewritten as

space computation technique proposed earlier. Other subfunctions, that is those involving OR/NOT, are solved with the tabular algebraic method proposed in [4]. This has been formalised in the algorithm Find- Solution noted below. Algorithm Find-Solution: Input: A Boolean function in the form of an infix expression or a directed acyclic graph (DAG) Ourpur: A set of canonical disjunctive normal terms giving the solution. Step 1: Parse the function or DAG to identify subtrees in XOR-AND format. Step 2: Solve the tree recursively, using a top down approach (i) If the nodeisubtree is not in XOR-AND format, solve it using the table method and pass up the solu- tion. (ii) If the node is in XOR-AND format, solve the node by identifying the matrix and compute its null space. Step 3: Compose the solution from lower subtrees and forward the solution to the next level. Step 4: Display the solution when the root node is reached. The algorithm is illustrated with the following example. Example 5: Let the Boolean equation be

( a cfi c ) . ( b e ci).(e) + ( a e c) . (b e d) . (e ) + ( u B c).(b ed) . (e ) ~~ ~- ___

i::1

=+ T1 * XI = 0, where X 1 = [z1z2 . . . znlIT Thus, the vectors in the null space of T, for which the value of Xl[n 4 11 = ‘1’ are the solutions to the given equation. Example 4: Let us consider the same equation as in example 3 with the first and third product terms being noncomplemented. Thus the equation f is given by

( a @ b).(a 63 b63 c).(c@ d).(a G? b @ c c d ) = 1 Thus the matrix equation is as follows:

a

The null-space of the matrix is [00000, 01101 10101, llOOO]. Out of these, only the second and third vectors have ‘I’ at the least significant position. Hence these two only will appear in the solution set. Thus the solu- tion is [ O l l O , 10101.

4.2 Solution of generalised equations In this Section we present the scheme for solving the Boolean equations with AND, OR, NOT and XOR operators. To start with, the input function is specifi- cally parsed to identify the subfunctions in XOR-AND format. These subfunctions are solved using the null-

t

The corresponding DAG is shown in Fig. 4. The algo- rithm identifies the subtrees in XOR-AND format for the set of nodes (4, 7, 9, lo), { S , 8, 9, 10) and (3, 6, 9, 10). The three XOR-AND equations are given by

-- (a @ c).(b G? d) . (e ) = 1 for {5,8,9, lo}

(a @ c).(b fE? d).(e) = 1 for {3,6,9,10}

(as noted in Section 4.1, case 2).

( 3 )

(4)

( 5 )

178 IEE Proc.-Comput. Digit. Tech., Vol. 143, No. 3, May 1996

Page 6: Cellular automata based scheme for solution of Boolean equations

The equivalent matrices for these three cases are as

1 0 1 0 0 0 0 1 0 1 0 0 1; : : * 0 0 0 0 0 0

0 U'

= I!] foreqn.3

, L L A

1 0 1 0 0 1 0 1 0 1 0 0 1; :] * 0 0 0 0 0 0

-

-; 0

= foreyn.4

L 4

1 0 1 0 0 0 0 1 0 1 0 1 1: :: : :] * 0 0 0 0 0 0

The solution set for eqn. 6 is [OOOOl, 01011, 10101, 111111, for eqn. 7 is [OOlOO, 01110, 10000, 110101 and for eqn. 8 is [OOOlO, 01000, 101 10, 11 1001.

Since the rest of the DAG nodes are OR of these three trees, the solution set for the whole DAG is the union of these solution sets. Hence the solution is given by [0000l, 01011,10101.11111.00100.01110,10000,11010,

00010,01000,1O110,11100]

- - 0

U

= [ foreqn.5

-

5 Implementation and experimental results

The algorithm Find-Solution has been implemented in C on an HP 9000/807 system operating at 33MHz. The tabular method proposed in [4] has also been imple- mented on the same platform. Both the techniques are capable of accepting input in the infix expression form as well as a directed acyclic graph (DAG).

Table 1: Relative speedup in CA-based approach

CA- based method method Relative Average t ime Average t ime speedup

XOR-AND Tabu'ar

Test proportion examples Yo

S S

1 100 1385.0 132.6 10.44

2

3

4

5

6

7

8

9

10

11

12

13

14

15

100

96

92

86

80

77

72

68

66

60

50

40

20

5

425.4

334.6

1754.2

921.7

568 .O

253.3

820.1

792.3

1211.3

844.6

897.5

309.2

91.7

205.5

39.7

41 .O

230.7

180.2

185.1

92.4

697 .O

776.3

1137.9

850.3

912.9

324.0

99.4

230.5

10.72

8.16

7.60

5.11

3.07

2.74

1 . I 8

1.02

1.06

0.99

0.98

0.95

0.92

0.89

IEE Proc.-Cbn?put. IIiKit. 7 k h , Vol. 143, No. 3, May 1996

Table 2: Relative speedup in CA-based approach for benchmark circuits

Tabu I a r CA-based method t ime method t ime Relative

MCNC bench marks speedup

S

5xp l 2.90 0.66 4.39

9symml 0.27 0.24 1 . I 3

bw 0.30 0.31 0.97

con l 0.67 0.20 3.35

duke 36.73 6.79 5.41

f51 m 4.15 0.43 9.65

misex l 10.4 13.1 0.79

misex2 9.20 9 .oo 1.02

misex3 9.10 90.0 1.01

rd53 0.53 0.30 1.67

rd73 1.49 0.55 2.71

rd84 5.93 1.41 4.21

sa02 0.32 0.21 1.52

z4ml 1 .03 0.48 2.15

afmt 17.5 7 .O 2.5

bmux 18.2 4.70 3.87

cafmt 1 .32 1.55 0.87

calu 2.63 2.41 1 .08

cfeed 35.6 37.8 0.94

To show that the approach proposed in this paper works significantly better than the tabular approach for XOR-dominated functions, we have generated some random sets of equations wiih varying percentage of XORs. These are referred to as 'test examples' in Table 1. A typical equation consists of all different log- ical operators AND, OR, NOT and XOR. The equa- tions are solved by both the schemes and the times required for solution are noted in Table 1. The CA- based scheme is up to ten times faster than the tabular approach for XOR-dominated functions. A graph showing the increase in relative speedup with the increasing XOR percentage is shown in Fig. 5 .

'1. Xs3R Fig. 5 XOR percentage uguittst relutiw speedup

Many real-life circuits (cmployed in the fields of cod- ing theory, telecommunications, linear systems etc.) as well as a large number of combinational benchmarks have XOR dominance. To substantiate our claims, we have experimented with combinational benchmarks from the MCNC library. The benchmark functions are first decomposed into multilevel AND-XOR networks using the AND-XOR minimiser KGPXORMIN [22]. The resulting DAG is next fed to both the solution techniques and their performances are compared (see Table 2). The circuits 5xp1, conl, duke, ,f51nz, rd73,

179

Page 7: Cellular automata based scheme for solution of Boolean equations

rd84, z4m1, hmux as noted in [23] have XOR donii- nance. For such circuits our scheme gives two to nine times speedup over the tabular approach. Whereas. for functions without XOR dominance like misexl , misex2, misex3, bw, 9symm1, cufmt, cjeed, the proposed scheme performs at par with the pure tabular algebraic method.

6 Conclusions

In this paper we have presented a novel technique for solving XOR-dominated functions. The scheme per- forms at par with the tabular algebraic method [4] for functions without XOR dominance. However, for XOR-dominated functions, the scheme gives a two to ten times speed improvement.

7 References

1 RUDEANU, S.: ‘Boolean functions and equations‘ (North- Holland, 1974)

2 PICCHIA, W.: ‘A numerical algorithm for the resolution of Boolean equations’, IEEE Trans., 1974, C-23. pp. 983-986

3 SVOBODA. S.: ‘An algorithm for solving Boolean equations‘. IEEE Trans. Electron. C o n p u . , 1963, pp. 557-559

4 TRABADO, P., LLORIS-RUIZ, A., and ORTEGA-LOPRA. J.: Solution o f switching equations based on a tabular algebra‘.

IEEE Trans., 1993, C-52, pp. 591-596 DAS, A.K.: ’Additive cellular automata : theory and application as a built-in self-test structure’. PhD thesis, IIT; Kharagpur. India, 1990

6 DAS, A.K., and CHAUDHURI, P.P.: ‘Efficient characterization of cellular automata’. IEE Proc. E , 1990, 137, pp. 81-87

7 DAS, A.K., and CHAUDHURI, P.P.. ‘Vector space theoretic analysis of additive cellular automata aud its applications for pseudo-exhaustive test pattern generation’. IEEE Trans.. 1993. C-

8 WOLFRAM. S.: ‘Statistical mechanics of’ cellular automata’. Rev.

5

42, pp. 340-352

Mod Phyr , 1983, 55, pp 601-644 HORTENSIUS, P D , McLEOD. R D , and CARD, H C lular dutomata based sienature analvsis foi built-in self-test

9 Cel-

IEEE Trans., 1990, C-39,pp. 1273-1283

10 MARTIN, O., ODLYZKO, A.M., and WOLFRAM, S.: ‘Alge- braic properties of cellular automata’, Commun. Math. Phys., 1984. 93; pp. 219-258

11 HORTENSIUS, P.D., McLEOD, R.D., and CARD, H.C.: ‘Par- allel pseudo-random numbei- generation for VLSI systems using cellular automata’, IEEE Trans., 1989, C-38, pp. 1466-1473

12 DAS, A.K., and CHAUDHURI, P.P.: ‘An efficient on-chip deterministic test pattern generation scheme’, Micvoprocess. .Microprogi-.. 1989, 26, pp. 195-204

13 NANDI, S.. aiid CHAUDHURI, P.P.: ‘Additive cellular autom- ata as on-chip test pattern generator’. Presented at 2nd Asian test symposium, November 1993

14 NANDI. S.. CHAUDHURI, P.P., ROY, S., and SHARMA, M.: ‘Exhaustive rwo-patten generation with cellular automata’. Pro- ceedings 1st Asian test symposium, November 1992, pp. 230-234

15 DAS, A.K.; SAHA, D., CHOWDHURY, A.R., MISRA, S., and CMAUDHURI, P.P.: ‘Signature analyzer based on additive cellu- lar automata’. Proceedings 20th Fault tolerant computing sys- tems, UK, June 1990, pp. 265-272

16 SERRA, M.. SLATER, T., MUZIO, J.C., and MILLER, D.M.: ’Analysis of one dimensional cellular automata and their aliasing probabilities’. IEEE Trans., 1990, CAD-9, pp. 767-778

17 NANDI. S. , VAMSI, B., CHAKRABORTY, S., ROY, S., and CHAUDHURI, P.P.: ‘Delay fault test generation with cellular automata’. 6th lnternational conference on VLSI design, January 1993. pp. 281-286

18 CHOWDHURY, D.R., GUPTA, IS., and CHAUDHURI, P.P.: .Cellular automata based byte error correcting code’, IEEE Trans Cony~ut . , 1995, 44, pp. 371-382

19 NANDI, S.. KAR, B.K., and CHAUDHURI, P.P.: ‘Theory and application of cellular automata in cryptography’, IEEE Trans Coinput.. 1994, 43, pp, 1346-1357

20 CHOWDHURY, D., CHAKRABORTY, S. , VAMSI, B., and CHAUDHURI, P.: ‘Cellular automata based synthesis of easily and fully testable FSMs’. Proceedings ICCAD ’93, November 1993, pp. 650-653

21 CHATTOPADHYAY, S.: ‘Some studies on theory and applica- tions of additive cellular automata’. PhD thesis, IIT, Kharagpur, India (submitted in April 1995)

22 CHATTOPADHYAY, S., ROY, S., and CHAUDHURI, P.P.: ‘KGPMIN: An efficient multi-level multi-output AND-OR-XOR minimize1-’. IEEE Trans. Cornput.-Aided Des. (to be published)

23 SARABI, A.. and PERKOWSKI, M.: ‘Fast exact and quasi-min- imal minimization of highly testable fixed-polarity AND/XOR canonical networks’. Proceedings of 29th ACM/IEEE Design tiutomition Conference, 1992, pp. 30-35

180 IEE Puoc-Coinput. Digit. Tech., Vol. 143, No. 3, M a y 1996


Recommended