Documente Academic
Documente Profesional
Documente Cultură
LITERATURE SURVEY
fifty years. Early investigations in this area were made specifically for synthesis of
switching networks used at telephone control rooms and to some extent in digital
computers. With the evolution of digital logic circuits the emphasis on investigations was
shifted towards minimization of Boolean functions for the synthesis of digital electronic
circuits of small sizes. Last few decades have witnessed a phenomenal advancement in the
digital circuits which subsequently caused numerous research efforts towards development
Arrays (PLAs), Programmable Array logic (PAL) and Field Programmable Gate Arrays
(FPGA) based digital circuits. Now-a-days, with availability of huge computing power on
of fast and efficient CAD tools of logic synthesis which comprises of many more features
like design entry and !i.mctional simulation, etc., for implementation technology dependent
digital circuits. Currently, investigations are on to carry out logic synthesis using
complex steps of minimintion. The proposed work is an attempt to dcYelop a new method
2- I
of two-level Boolean function minimization which could be implemented on parallel
computers.
processes involved in logical thought and reasoning. Huntington [2] in 1904 provided a set
of postulates further aU!,'menting this scheme to what is known today as Boolean algebra. It
was almost a century later that found its application in the field of engineering when
Claude Shannon [3] in 1938 showed that Boolean algebra provided an effective means of
describing circuits built with switches and effectively used it in the synthesis [4]. A
minimization chart method was developed in 1951 by staff [5] of Harvard Computational
Laboratory. Veitch [6] modified the number of entries in this chart [5] and developed
another chart method for minimization of Boolean function. In 1953 Kamaugh [7)
Boolean functions with possibility of directly writing alternate minimal forms for functions
logic adjacency theorem (A B +A B =A) was developed by Quine [8, 9] in 1952 and 1955,
respectively. Prime implicant formulation was. carried out by Nelson [1 OJ in 1955 in a very
Boolean function represented in conjunctive fom1. In 1956 McCluskey [ 11] extending the
Quine's method developed a tabular method to formulate minimal set of prime implicants
2-2
necessary to cover all the minterms of the Boolean function under consideration. The
appear in the minimal solution. Various investigations took place towards prime implicant
algorithms first then the attempts to obtain minimal set of prime implicants are briefly
listed.
fonnulation are briefly enumerated. Some of the methods described in this section have
been extended to obtain the minimal cover as well. Their methods (algorithms) to obtain
Quine [8, 9] as already described in the section 2.1 gave a method of generating all
the prime implicants of a Boolean function expressed in disjunctive form. In late 1950s
algebraic topological methods were suggested by Roth [12, 13], Ghazala [14] and Patrick
[ 15] for prime implicant generation using algebraic operations instead of repeated
application oflogic adjacency theorem. In 1960 Molt [16] applied consensus theory [17] to
algebraic topological methods to produce prime implicants. Hall [18] developed a prime
of sifting out I 's !rom any binary column of a set of min terms. Scheiman [ 19] developed a
tabular method where all the prime implicants may not be generated sometimes, though
2-3
prime implicants necessary for minimal solution arc always obtained. Das and Chaudhary
[20] gave a simple iterative technique for determination of all the prime implicants giving
decimal numbers to the max terms present in the Boolean function in contrast to the method
of Nelson. In 1967 Tison [21] extended the consensus theory to formulate all prime
implicants of a given Boolean function in a more general form than that of Quine's.
Svoboda [22] presented an algorithm to generate prime implicants defining relation among
the integer representation (in 8-4-2-1 code) of given minterms. A recursive formula to
obtain all the prime implicants was developed by Morreale [23] in 1970. Slagle, Chang and
Lee [24] developed a semantic tree based algorithm which generated all the prime
implicants without any repetition saving time and memory when implemented on a digital
computer. Das and Khabra [25] developed a method making a clause-column table which
had as many columns as the number of product or sum terms in SOP or POS form,
respectively, of the Boolean function. Every column of the clause-column table contained a
clause determining the product or sum term. This algorithm was subsequently extended to
find minimal cover and for multiple output Boolean functions [26]. In 1975 Reusch [27]
gave an algorithm to generate all the prime implicants of a given Boolean function from its
subfunctions, however, the working of the algorithm was similar to that of Slagle et a!. A
similar algorithm to that of Nelson was developed by Hulme and Worrell [28] using
factoring to reduce formation of null and redundant prime implicants due to multiplication.
These methods of prime implicant formulation are being used with or without
modifications in present day computer aided tools for Boolean function minimization. The
investigations carried out for f01mulation of minimal set of essential prime implicants arc
2-4
2.3 Formulation of Minimal Set of Essential Prime Implicants
Once all the prime implicants have been f01mulated, a minimum number of these
are to be selected such that all the given min terms of the Boolean function are covered at
least once. The formulation of such a minimum set is called solution of the covering
extensively investigated as the quality of the final expression heavily depends upon this.
implicants and to eliminate those prime implicants which have become redundant as a
result of selection of an irredundant one. However, this method becomes tedious for cyclic
prime implicant tables. Ghazala [14] formulated a presence function for every prime
an algorithm where prime implicant table was used but redundant prime implicants were
partially reduced at the PI formulation step itself, thus reducing the labour to solve
covering problem. Gimpel [29] gave an auxiliary technique to reduce a cyclic prime
implicant table given by McCluskey [I I] into smaller once which were not cyclic and
obtaining minimal set of prime implicants for covering. However, the technique was
limited to problems having at least one column covered by exactly two rows. The reduction
technique of Gimpel was modified by Lucio [30] and applied for every type of prime
implicant table successfully. Chang and Matt [3 I J showed that presence relation for prime
implicants whose disjunction was 'f need be multiplied in order to get the essential prime
implicants. Chaudhary and Oas [32] gave a method similar in principle to that of Change
and Matt. In 1967 Tison [21] gcneralit.cd the consensus theory in order to obtain minimum
2-S
cover m addition to J(l!mulation of all pnme implicants of the Boolean functions. The
covcnng obtained by Tison's method was shown to be non-minimal for some Boolean
functions by Cutler and Muroga [33] in 1979. Robinson and House [34] generalized the
reduction technique of Gimpel adding a cost factor to every row of the prime implicant
table, thereby reducing the labour of making many tables. MmTeale [35-37] developed
partitioned list algorithm which generated prime implicants only once and provided better
results than the consensus method. Markowitz and Shub (38] used an extension of K-map
identifiers to the obvious prime implicants and then collecting other not so obvious ones.
This method was not suitable for computer implementation being a graphical one.
However, Das [39] extended the idea of Markowitz and Shub to generate minimal and non-
minimal irredundant solution using a cover table where the minimal cover was formulated
using an elimination process. This method too was suitable only for moderate sized
Boolean function as the overhead for calculation of eliminability used to become excessive.
Slagle et a!. [24] first fom1u!ated prime implicants without repetition and also found the
minimal cover using heuristic reduction method with the help of a semantic tree of prime
implicants. Biswas [40] gave an algorithm where instead of a prime implicant table cover
tables were used. By the cover table only those prime implicants which were necessary to
formulate minimal cover were generated and the final minimal cover was obtained by
chaining of selective prime implicants (SPI). This method was perhaps the first method to
combine the two different steps of McCluskey's procedure into one. Bubenik [41]
as C, ~ m, In,, where m, is the number of literals in a prime implicant and n, is the number
2-6
of mintcrms covered by that prime implicant. This method was shown to be lacking in
generality by Noe et al. [42] in 1974. Hwa [43] gave a tabular method where the table used
had fixed number of columns in contrast to McCluskey's procedure. This method used a
subsume operation to generate the irrcdundant prime implicant cover in the single table
itself. In !975 Reusch [27] gave an algorithm to formulate prime implicants from
subfunctions and a unified approach to get minimal cover on the lines similar to Tison's
work. Surcschander [44] gave a faster method of prime implicant formulation and
dete1mining minimal cover combining the two steps of McCluskey's method. Curtis [45]
gave a tabular method in 1977 in which the table was based on bitwise adjacency of the
given minte1ms and all the prime implicants were generated from this table only. This
method made use of Patrick's approach [15] as a final step to obtain the minimal set of
prime implicants. In 1970s heuristic methods were in use as the exact covering problem
solution which themselves were highly computationally complex. Some heuristic methods
[24, 27] have been already enumerated above and other important methods are as follow.
Wong and Ismail [46] developed a heuristic algorithm to obtain minimal cover giving a
modified bounding operation to obtain a smaller lower bound. In 1989 Mathony [47]
developed a method which was based on Thelen's search tree algorithm and formulated
prune the search tree. Coudert [ 48, 49] developed many heuristic algorithms like
contribution based selection and contribution based removal similar to weighed set
covering problems of Servit [50] and Rudell [51] for quick detem1ination of the minimal
cover. Later on, Coude11 [52, 53] developed faster algorithms based on tree pruning to
obtain minimal cover which also gave better lower bound heuristics.
2-7
Some unconventional methods of Boolean function minimization and other
investigations pertaining to logic minimization of other than strict two-level single output
determining one set of covers associated with the paths of a directed rooted tree that
contains at least a minimal cover. In 1983 Blesslich [55] developed a method for the
generation and processing of dyadic indexed data and successfully applied it for generating
prime implicants and formulation of minimal cover. In 1995 Dasigi [56] attempted the
implementation of Boolean function minimization in abductive frame work but this method
did not present any betterment over the existing ones. Damrala et a!. [57] presented an
algorithm defining a CTERM to obtain prime imp\icants in terms of product terms as well
as in terms of Ex-OR/NOR forms. Mischenko and Sasao [58] suggested that very large
SOP problems could be solved in faster manner by detecting decomposition and observing
functional properties of the Boolean function as a preprocessing step before carrying out
exact or heuristic two-level minimization and obtained results in less time. Average values
of number of prime and essential implicants have been studied by Mileto and Putzolu [59]
and computational complexity issues for two-level Boolean function minimization have
also been investigated by Brietbrat and Vairavan [60], MmTeale [61], McMullen and
Shearer [62] and Wegener [63]. Many direct cover Boolean function minimization
algorithms [64-67] have also been developed which try to ascertain if a newly fom1ulated
prime implicant is an csscntwl one or not without f1rst generating the necessary prime
2-8
1mplicants then obtaining minimal cover. Many algorithms [68-71] for fast but approximate
solution of covering problem have been putforth for formulating near minimal solutions.
The exact minimization algorithms have been extended to minimization of multiple output
[72-75] Boolean functions since early 1960s. In the recent year simplification of Boolean
functions in terms of Ex-OR/NOR and AND- Ex-OR/NOR gates have become an area of
interest for the simple reasons that logic functions for some digital circuits like adders,
Fronek [76] extended K-map to obtain simplification in terms of Ex-OR/NOR and AND-
Ex-OR/NOR gates directly from the map by visual inspection. Turton [77] extended
investigations have been made to develop canonical form ESOP [78, 79] for this type of
With the advancement in digital computer technology and its subsequent easier
availability many attempts [12, 13, 21, 23] have already been made to computerize the
development of computer programs and CAD tools is presented in the following section.
mid 1960s with the limited storage and speed of computers available at that period oftime.
Many investigations [12, 13, 21, 23] had been reported to suitably modify Quine-
McCluskcy's [II] procedure to formulate minimal set of prime implicants with minimum
memory and time. Ishikawa ct a! [83] developed a program on the lines of Tison's method
2-9
121 J to generate exact minimal cover but reported failure for problems having more than I 0
variables due to excessive CPU time and memory requirements. On the other hand many
heuristic procedures had been developed and obtained good results producing near minimal
solutions. Some of the CAD tools based on heuristic methods are described as under.
The Jirst very commonly used CAD tool for Boolean function minimization was
MINI developed by Hong et al. [84] in 1974. Biswas [85] developed an algorithm for two-
level Boolean function minimization based on his earlier work [40] and called it Computer
Atded Minimization Procedure (CAMP). In its first phase it selected all the essential prime
cubes, whereas, in its second phase it attempted to choose a minimum cover from the
selective prime cubes. Sometimes it failed to do so as the algorithm could not sense the
1990 giving major modifications of his earlier algorithm [85] which removed the earlier
deficiency, and so improved algorithm was named as CAMP-II always obtaining the
minimum cover including all the uncovered minterms, both adjacent and distant ones, in
the normal mode. In 1996, Biswas et al [87] further gave another algorithm QCAMP which
did not generate all the prime implicants to save time. In mid 1980s the algorithms
PRESTO [88] and PRESTOL [89] were developed for two level minimization of single
output and PLA implementation, respectively. A class of well known heuristic two-level
single and multiple output minimizing tool ESPRESSO [90, 91 J was also developed during
the same period which too combined the two steps of McCluskey's procedure to generate
approximate (near minimal) solution in shorter time than [88, 89] and reported successful
results up to about I 0 to 15 variable Boolean functions. In the year 1986 McBOOLE [92]
11·as developed to produce exact solution f(Jr minimization of Boolean function and
2- I 0
obtained better results and timings than [90, 91). It used graph and partitioning techniques
to produce exact solutions for even 20 variable Boolean timetions. In 1987 Nguyen et al
(931 gave an algorithm for two-level single output Boolean function minimization
converting the NP liard covering problem into a graph colouring problem and obtained a
faster approximate solution. This program was capable of minimizing Boolean functions up
to 60 variables and GO product te1ms on personal computers. In the mean time a variant of
multi-valued minimization suitable for !'LAs. Another variant of [90] was developed for
multi-level logic minimization by Bartlett et al. [95] and was termed as ESPRESSO-MLD.
Rudell et al. [96] developed ESPRESSO-EXACT giving an exact solution in 1993 and in
McGeer ct a!. [97] giving an improvement in runtime by an average factor of 1.78 over
[96]. Recently, another heuristic algorithm BOOM has been developed by Fiser and
Hlavicka [98-l 02] having a different approach towards minimization than that of [90, 91,
96, 97]. The main differences between the two algorithm BOOM and ESPRESSO are (i)
the way they work with the on-set received as function definition and (ii) top-down
hypercube until it no longer intersects the off-set whereas in ESPRESSO source cube is
expanded to obtain the better coverage. Better results in terms of CPU time and number of
literals in the final minimiLed expression are reported [103). BOOM algorithm was
modified as BOOM-II in 2004 by Fiser and Kubatova (104) to produce good results for
multi-output Boolean functions as well combining the features of BOOM "ith another
2 - II
As the proposed work attempts to l<>rmulate all prime implicants on the parallel
basis. some parallel Boolean timction minimi~.ation methods arc hrietly d.:scribed in the
l\1llowing sc<:tion.
Though the design requirements in the present day VLSl d<:sign area have some
rcpmtctl investigations [106, 107] for carrying out some of the VLSI design steps on
parallel basis, butthcrc is only one reported attempt [108, 109] of two-level single output
Boolean function minimization. Barbour [I 09] has used a hypercube for representation of a
Boolean function and showed that K-map method is a special case of planer representation
distribution algorithm to distribute minterms of the Boolean function over different nodes
The present work by the author develops parallel algorithms for two-level single
parallel algorithms first a novel minterm numbering scheme based on Gray code [110- 117]
has been developed and subsequently a paper-and-pencil method [ 118, 119] has been
developed by the author. The paper-and-pencil method has been applied for simplification
in terms of Ex-OR/NOR gates [120] and K-map has been shown as its special case [121,
multiplexers, a real life problem of managing the keys in secure Internet multicast [123]
2- 12
und also to ellcctively m1mm1ze Boolean functions having a few sparsely occurring
minterms using VEG technique [124, 125]. The properties of Gray code exploited to
develop the adjuccncy rules of paper-and-pencil method have been shown to be equally
effective in developing the parallel algorithms [ 126-130) of the present work. The parallel
algorithms arc developed based on Single Program Multiple Data paradigm [131] and are
simulated using time driven simulation strategy [132] with assumption of suitable
-oOo-
2- 13