0% found this document useful (0 votes)
60 views7 pages

Determining The Possible Minimal Boolean Expressions Via A Newly Developed Procedure and Tool

This document discusses a newly developed procedure and tool for determining possible minimal Boolean expressions. The authors implemented their algorithm in MATLAB and tested its accuracy and efficiency for large input variables of more than 25. Their novel technique is designed to provide all possible optimally minimized Boolean expressions, which addresses a limitation of most existing software tools. The paper aims to simplify Boolean expressions through a new method that exploits relationships between Gray code and decimal numbers.

Uploaded by

John Hallows
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
60 views7 pages

Determining The Possible Minimal Boolean Expressions Via A Newly Developed Procedure and Tool

This document discusses a newly developed procedure and tool for determining possible minimal Boolean expressions. The authors implemented their algorithm in MATLAB and tested its accuracy and efficiency for large input variables of more than 25. Their novel technique is designed to provide all possible optimally minimized Boolean expressions, which addresses a limitation of most existing software tools. The paper aims to simplify Boolean expressions through a new method that exploits relationships between Gray code and decimal numbers.

Uploaded by

John Hallows
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/280240171

Determining the possible minimal Boolean expressions via a newly developed


procedure and tool

Conference Paper · July 2015


DOI: 10.1109/ICCCNT.2015.7395241

CITATION READS
1 5,518

4 authors:

Afaq Ahmad Diede Ruelens


Sultan Qaboos University KU Leuven
305 PUBLICATIONS   1,587 CITATIONS    5 PUBLICATIONS   37 CITATIONS   

SEE PROFILE SEE PROFILE

Saad Ahmad Lavanya Pathuri


University of Texas at Austin Sultan Qaboos University
11 PUBLICATIONS   28 CITATIONS    12 PUBLICATIONS   20 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Fault Tolerant Computing View project

Gray Code Generation View project

All content following this page was uploaded by Afaq Ahmad on 22 July 2015.

The user has requested enhancement of the downloaded file.


IEEE - 35239

DETERMINING THE POSSIBLE MINIMAL BOOLEAN EXPRESSIONS VIA A NEWLY


DEVELOPED PROCEDURE AND TOOL

A. Ahmad 1, D. Ruelens 2, S. Ahmad 3, L. Pathuri 1


1
Department of Electrical and Computer Engineering,
College of Engineering, Sultan Qaboos University, Muscat, Sultanate of Oman
2
Johnson & Johnson, Diestsesteenweg 47, 3540 Herk-de-Stad, Belgium
3
Department of Electrical and Computer Engineering,
Cockrell School of Engineering, University of Texas at Austin, USA

ABSTRACT form in turn saves cost, dissipated power and silicon area.
Further, a design of digital logic circuit with simplified
This paper proposes a new idea and implementation tool for Boolean expression adds more attributes to the design like
two level minimization of Boolean expressions. A simpler more reliable, less Mean Time To Repair (MTTR), less
and more versatile method is developed by exploiting the Mean Time To Failure (MTTF), more testable, lighter in
adjacency field relationships between Gray code and weight, faster in speed, more sustainable and enhanced
decimal numbers. Our algorithmic procedures also consider product life [7], [8].
the optimal use of don’t care terms. We implemented our To overcome the difficulties of minimizing Boolean
algorithm in MATLAB and tested accuracy and efficiency expression via Boolean algebra and theorems, Maurice
for large values of input variables (more than 25). This Karnaugh in 1953 [9], presented the Karnaugh map, also
developed novel technique is bound to provide all possible known as the K-map, is a simpler method to simplify
optimally minimized Boolean expressions. Boolean algebraic expressions as a refinement work of
Edward Veitch's, Veitch diagram concept [10] of Boolean
Index Terms— Boolean Expression, minimization, expression minimization.
minterms, Gray code, adjacency The Karnaugh map reduces the need for extensive
calculations by taking advantage of humans' pattern-
1. RELATED WORK ON MINIMIZATION OF recognition capability. It also permits the rapid identification
BOOLEAN FUNCTION and elimination of potential race conditions. About 20 years
after the invention of K-map, McCluskey in 1956 wrote
The mathematics of logical expressions, introduced by another famous paper [11] as part of his doctoral thesis
George Boole [1], [2] during 1847-1854, which is known while at Massachusetts Institute of Technology in the
today as Boolean algebra. Boolean algebra is the first step in electrical engineering field. His paper was related to
design of digital logic circuits. Also, in the same year 1847 simplifying Boolean expressions and he proposed an
De Morgan explained in a letter to George Boole, to develop algorithm which is still the standard for the exact Boolean
"mechanical modes of making transitions” and that is known minimizations. The algorithm is called Quine-McCluskey to
as De Morgan’s Theorem [3], [4]. reflect the previous work of Quine carried out in 1952 and
In 1938, Claude E. Shannon], the American 1955 to obtain a minimum solution [12], [13]. The algorithm
mathematician and electrical engineer whose master’s thesis is capable of simplifying a Boolean logical expression to
work [5], [6] in electrical engineering at the Massachusetts obtain a minimal possible Sum Of Products (SOP).
Institute of Technology played a key role in building the Quine-McCluskey method opened a way for devising
circuitries of computers and subsequently to uncounted other algorithmic way of finding minimal Boolean expressions and
related applications which are embedded in modern since then many computer programs are in existence for the
technology for the benefits of developed society. use of simplification of Boolean expressions. Some of these
By applying the theorems and rules of Boolean algebra are: Espresso was developed at IBM by Robert Brayton.
which are simple and straight-forward, and can be applied to Richard Rudell later published the variant Espresso-MV in
any logical expression for its reduction. Converting a 1986 under the title ‘Multiple-Valued Logic Minimization
complex digital logic expressions into its simplest possible for PLA Synthesis’ [14]. The software Espresso was later

6th ICCCNT - 2015


July 13 - 15, 2015, Denton, U.S.A
IEEE - 35239

modified as ‘Minilog’ and ‘Logic Friday’ [15]. There exists Derivation of Boolean expressions from truth tables can
enormous programming tools in literature, which are used be represented in standard forms as Sum of Products (SOP)
for obtaining minimal Boolean expression. Some of these and Product of Sums (POS) using minterms and maxterms
are worth to name here to provide the sequential knowledge respectively.
to the readers these are: BOOM II [16] and Quantum
Espresso [17], [18]. Definition 3:
In sequence this paper also moves a step forward in the A minterm is represented by the symbol mj, where the
direction of developing software tool to obtain minimal subscript j is the decimal equivalent of the minterm In a truth
Boolean expression. The developed tool is capable of table for a Boolean function, we can write a sum of
providing all possible minimal SOP which is the main minterms expression just by picking out the rows of the table
drawbacks of majority of the available software tools. The where the function output is 1.
developed tool also considers don’t care conditions which We can write the function by symbols of minterms
are not considered by majority of the available software instead of product terms. For example, the function F in the
tools for minimizing Boolean expression. above truth table (Table 1) could be written as:
F(a, b) = a’b + ab’ (1)
2. SOME TERMINOLOGY OF DIGITAL LOGIC
Or, by symbols of minterms as
Digital Logical functions can be expressed in several
F(a, b) = Σ (m1, m2) = Σ (1, 2) (2)
ways:
 Truth table, Definition 3:
 Boolean expressions and A maxterm is represented by the symbol Mk, where the
 Graphical form (Logic Diagram). subscript k is the decimal equivalent of the maxterm. a
A simple and optimal digital logic design process involves: product of maxterms expression by picking out the rows of
 Problem specification, the table where the function output is 0.
 Truth table formation, We can write the function by symbols of maxterms
 Derivation of Boolean expression, instead of product terms. For example, the function F in the
 Simplification of Boolean expression and above truth table (Table 1) could be written as:
 Implementation of simplified Boolean expression F(a, b) = (a + b) (a’ + b’) (3)
considering the required attributes towards an
optimal solution. Or by symbols of maxterms as:
F(X, Y) = ∏ (M0, M3) = ∏ (0, 3) (4)
2.1. Terminology
Definition 4:
Definition 1: Sum of Products (SOP) is more common form of
An input variable in a Boolean function appears as representing Boolean expression. The expressions are
a literal and is either in its un-complemented form or represented as AND logic (products) feeding a single OR
otherwise complemented form. Thus, for an input variable x, logic (sum).
both x and x’ are literals. We write an AND term for each input combination that
Definition 2: produces a 1 as output. We write the input variable in its un-
A truth table demonstrates the relationships between the complemented form if its value is 1 and complemented form
inputs and outputs of a combinational digital logic circuit. It otherwise. Refer to Equations 1 and 2.
lists the outputs for all possible input combinations. Definition 5:
Remember that the number of combinations for n-variables Product of Sums (POS) is an alternate form of
is 2n. Table 1, demonstrates the truth table for a 2-input representing Boolean expression. The expressions are
XOR gate. represented as OR logic (sums) feeding a single AND logic
TABLE 1
(product).
TRUTH TABLE A 2-INPUT XOR GATE We write an OR term for each input combination that
Inputs Output produces a 0 as output. We write the input variable in its un-
a b F complemented form if its value is 0 and complemented form
0 0 0
otherwise. Refer to Equations 1 and 2.
Definition 6:
0 1 1
A POS form is Dual of the SOP form representation of
1 0 1
a Boolean expression. In Dual operation a 0 changes to 1,
1 1 0
sum changes to product and vice-versa respectively.

6th ICCCNT - 2015


July 13 - 15, 2015, Denton, U.S.A
IEEE - 35239

Definition 7:
A Boolean expression is said to be in canonical or
standard form if each term of the expression contains all
available input variable.
As an example let us consider a Boolean logic function 000 001 011 010 110 111 101 100
(F) with 2-input variables (a, b) defined as 000
0 1 3 2 6 7 5 4
F(a, b) = a (5) 001
8 9 11 10 14 15 13 12
Then its equivalent canonical form is given as below. 011
24 25 27 26 30 31 29 28
F(a, b) = ab' + ab (6) 010
16 17 19 18 22 23 21 20
110
Definition 8: 48 49 51 50 54 55 53 52
111
Prime Implicant is the list of minterm/s which cannot be 56 57 59 58 62 63 61 60
combined with any other list of minterm/s. 101
40 41 43 42 46 47 45 44
100
3. PRELIMINARIES OF OUR APPROACH 32 33 35 34 38 39 37 36
Figure 1: K-map of 6 variables
In our approach for minimizing Boolean expression is in
principle of K-map concept. There are several different
formats that are used to construct K-map for large number of
input variables. The two most commonly used forms are:
 Reflection map and
 Overlay map.
Reflection map that uses Gray code numbering of
Karnaugh Map is easier to transcript in any programming.
Since, the top of the map is numbered in full Gray code
where adjacent addresses have only one bit change between
themselves. Therefore, it is easier to track the adjacency in
the vertical and horizontal directions and members of two
positions can be grouped, if possible, as between them only
one input variable is changing.
In previous research works [19] – [21], algorithmic
ways have been devised to generate efficiently the Gray
code for large orders, special Gray codes and their
properties. The theorem below relates the minterms and
Gray code and provide extensive help in constructing the K- Figure 2: K-map of 8 variables
maps for large number of input variables n. By using this
procedure samples of K-maps for n = 6 and n = 8 are shown
in Figures 1 and Figure 2 respectively.

Theorem 1:
G (n) is a matrix of order 2n x n in binary format of n bit
forming 2n min-terms of n variables. By analyzing the
patterns we reach to the conclusion that G(n) can be
obtained first by writing the min-terms of G(n-1) then
appending the min terms by advancing each of the minterms
starting from the last to the first by a value of 2n-1. Figure 3: F(x,y,z) = ∑(1, 3, 5); d(x,y,z) = ∑(2,4)
In our work [19] we developed an algorithmic
procedures for relating the decimal and Gray coded numbers Based on this approach of field location matching we
in terms of their field locations. How these locations are developed an algorithm to find all possible minimal
appearing when we differentiate between the Gray coded solutions of a given Boolean function. The procedures
locations and decimal locations. Figures 3 and 4 adapted in the developed algorithm is enumerated in ensuing
demonstrates the field locations for n = 3 and n = 4 section.
respectively.

6th ICCCNT - 2015


July 13 - 15, 2015, Denton, U.S.A
IEEE - 35239

Example 1:
Figure 5 demonstrates the results of each steps of our
developed program for a Boolean expression as:
F(a,b,c,d) = ∑1,3,7,11,15; D(a,b,c,d) = ∑0,2,5

Figure 4: F(x,y,z) = ∑(1,3,7,11,15); d(x,y,z)= ∑(0,2,5)

4. MINIMIZATION PROCEDURE AND


SIMULATION RUNS

Input:
Minterms, don’t cares and the number of input variables.
Step 1:
Decode the Gray code array of values of minterms and don’t
cares values.
Step 2:
Arrange the elements of the decoded array in ascending
order.
Step 3:
Count the number of elements in the array.
Step 4:
Find fields (adjacent minterms)
a. Check for duplets in vertical adjacency for the minterms
b. Check for horizontal adjacency
c. Add third dimension to the minterms matrix to keep
track of which minterms already belong to a larger field. Figure 5: Stepwise simulation run results
Step 5:
Purge the list of minterms from minterms that already belong We verified our simulation runs for the large number
to a larger. Boolean functions which are available in the literature.
Step 6: Figure 6 depicts the results of the simulation runs
Find SOP expression for the fields.
Step 7:
Find SOP expression for the fields.
Step 8:
Find all possible Boolean equations that are equivalent to
the sum of the minterms.
Step 9:
Find the minterms covered in each combination, if a
combination covers all minterms it is a solution.
Step 10:
Purge solutions that cover more fields than necessary
Step 11:
Display the possible solutions in form of SOP

We translated the above algorithmic procedure in


MATLAB language. To elaborate the procedure we present
the stepwise simulation result as an example.
Figure 6: Verified simulation run results

6th ICCCNT - 2015


July 13 - 15, 2015, Denton, U.S.A
IEEE - 35239

5. CONCLUSION This tool is added in suits of our developed teaching


and research tools like the mentioned in the papers [22] -
For obtaining minimal Boolean expressions, search of [33].
logical adjacencies is the basis of any proposed powerful
methods. However, in general the available procedures 6. ACKNOWLEDGEMENT
minimizing Boolean expression are silent on either don’t
care considerations or obtaining the all possible minimal The authors would like to express their great
solutions. Here in our approach we consider both, the don’t appreciations and gratitude to Sultan Qaboos University,
care conditions and obtaining all possible solutions. Sultanate of Oman for providing research facilities, technical
We have run the tool for Boolean expressions contain large supports and research environment.
number of input variables (n) up to 28 on our personal
computer (Intel® Core™, i7-477; CPU@3.40GHz with 7. REFERENCES
installed memory of 8 GB RAM. The MATLAB R2014a
student version is used for running the written MATLAB [1] Boole, G., Mathematical Analysis of Logic, MacMillan,
codes for the algorithm. For each of the values of n = [10, Barclay & MacMillan, Cambridge, 1847. Reprint Open Court, La
Salle, 1952.
15, 20, 21, 22, 23, 24, 25, 26, 27] the respective elapsed
[2] Boole, G., An Investigation of the Laws of Thought on which
program execution time (t) is recorded as t = [0.143473, are Founded the Mathematical Theories of Logic and
0.170081, 0.391752, 6.127743, 12.484156, 23.874971] in Probabilities, Walton and Maberly, London, 1854. Reprint Dover
seconds. The plot of the data set is shown in Figure 7. For n Publications, New York, 1958.
= 28 the elapsed program execution time is recorded as [3] De Morgan, A., Formal Logic: or, the Calculus of Inference,
6.657213 minutes. Necessary and Probable, Taylor and Walton, London, 1847.
Beyond n = 28 the message “Out of memory. Type HELP [4] Merrill, D., Augustus De Morgan and the Logic of
MEMORY for your options” is observed. With this message Relations, Kluwer, Dordrecht, 1990.
we are confident to get solutions for larger values of n (n > [5] Shannon, C. E., A Symbolic Analysis of Relay and Switching
Circuits, American Institute of Electrical Engineers Transactions,
28) by running our program on professional (Research and
vol. 57, 1938, pp. 713-723. Reprinted in Claude Elwood Shannon:
commercial purposes) MATLAB platform. The institution Collected Papers, N. J. A. Sloane and A. D. Wyner (editors), IEEE
has the licences for the professional version of MATLAB to Press, New York, 1993, 471-495.
acquire and run the MATLAB codes we have to apply to our [6] Shannon, C.E., A symbolic analysis of relay and switching
institution, the process takes some time. circuits. Massachusetts Institute of Technology, Master Thesis,
Further, by partitioning the matrices involved in the program Dept. of Electrical Engineering, 1938. http://theses.mit.edu;
codes, we are sure that our algorithm can tackle the memory Retrieval: October 2005.
issues while handling the Boolean expression minimization [7] Ahmad A., Testing of complex integrated circuits (ICs) – The
for very large input variables. bottlenecks and solutions, Asian Journal of Information
Technology, vol. 4, no. 9, pp. 816 – 822, 2005.
[8] A. Ahmad, M. A. K. Rizvi, A. Al-Lawati, A. S. Malik and I.
Mohammed, Graph Theoretic Incidence Matrix Approach for
Evaluating Reliability of Mechatronics Systems via a MATLAB
based Developed Tool, 8th IEEE GCC conference held in Oman,
Feb. 2015.
[9] Karnaugh, Maurice, The Map Method for Synthesis of
Combinational Logic Circuits, Transactions of the American
Institute of Electrical Engineers part I, vol. 72, no. 9, pp. 593–599,
1953. doi:10.1109/TCE.1953.6371932
[10] Vetch, Edward W., A Chart Method for Simplifying Truth
Functions, ACM Annual Conference/Annual Meeting:
Proceedings of the 1952 ACM Annual Meeting (Pittsburg) (ACM,
NY): pp. 127–133, 1952. doi:10.1145/609784.609801
[11] McCluskey, E.J., Minimization of Boolean Functions. The
Bell System Technical Journal, 1956, Issue: November pp. 1413-
1444.
[12] Quine W. V., The Problem of Simplifying Truth Functions,
The American Mathematical Monthly, vol. 69, Issue: October, pp.
521-531, 1952.
[13] Quine W. V., A Way to Simplify Truth Functions, The
American Mathematical Monthly, vol. 62, Issue: November, pp.
627-631, 1955.
[14] Brayton Robert King, Hachtel Gary D., McMullen, Curtis T.,
Figure 7: The elapsed program execution time Sangiovanni-Vincentelli and Alberto L., Logic Minimization

6th ICCCNT - 2015


July 13 - 15, 2015, Denton, U.S.A
IEEE - 35239

Algorithms for VLSI Synthesis, Kluwer Academic Publishers, [30] Ahmad, A., Dawood Al-Abri, Design of an Optimal Test
1984. Simulator for Built-In Self-Test Environment, Journal of
[15] Espresso heuristic logic minimizer, Engineering Research, vol. 7, no. 2, pp. 69 – 79, 2010.
http://en.wikipedia.org/wiki/Espresso_heuristic_logic_minimizer: [31] Ali Al-Lawati and Ahmad, A., Realization of a simplified
Retrieved on March 27, 2015. controllability computation procedure – A MATLAB-SIMULINK
[16] Fiser, P. Kubatova, H., Flexible Two-Level Boolean based tool, Sultan Qaboos University Journal for Scientific
Minimizer BOOM-II and Its Applications, 9th IEEE- Research - Science and Technology, Oman, vol. 8, pp. 131 – 143,
EUROMICRO 2006 Conference on Digital System Design: 2004.
Architectures, Methods and Tools, DSD 2006, Aug. 30 Sept. 1, [32] Ahmad A., Al-Lawati, A. M. J. and Ahmed M. Al-Naamany,
2006, pp. 369-376. Identification of test point insertion location via comprehensive
[17] Paolo Giannozzi, Stefano Baroni, Nicola Bonini and et. al., knowledge of digital system’s nodal controllability through a
Quantum ESPRESSO: a modular and open-source software project simulated tool, Asian Journal of Information Technology (AJIT),
for quantum simulations of materials, Journal of Physics: vol. 3, no. 3, pp. 142 – 147, 2004.
Condensed Matter, vol. 21, no, 39, pp. 395502-395521, 2009. [33] Ahmad A., Al-Musharafi, M. J., and Al-Busaidi, S., Study and
[18] Quantum ESPRESSO version 5.1.2, March 9, 2015. implementation of properties of m-sequences in MATLAB-
http://www.quantum-espresso.org/ SIMULINK – A pass / fail test tool for designs of random
[19] Ahmad, A., and Bait-Shiginah, F., A Nonconventional generators, Journal of Scientific Research – Science and
Approach to Generating Efficient Binary Gray Code Sequences, Technology, vol. 7, part 1, pp. 147 – 156, 2002.
IEEE Potentials, vol. 31, no. 3, pp. 16-19, 2012.
[20] Ahmad, A., Another Perspective in Generation and using of
Gray Code-words, Journal of Electrical Engineering, IEEE
Malaysia, (ELEKTRIKA), vol. 9, no. 2, pp. 49 – 55, 2007.
[21] Ahmad, A., and Mohammed M. Bait Suwailam, A Less
Complex Algorithmic Procedure for Computing Gray Codes, The
Journal of Engineering Research, vol. 6, no. 2, , pp. 12 -19,2009.
[22] Ahmad, A., Rizvi, M. A. K., Al-Lawati, A., Al-Abri, D. and
Awadalla, M., Design of a Probabilistic Based Software Tool for
evaluating Controllability, Observability and Testability Models of
Digital Systems, Indian Journal of Science and Technology (IJST),
vol. 7, no. 10, pp. 1525- 1537, 2014.
[23] Ahmad, A., Ahmad, S., Al-Habsi, A. and Al-Hinai, M.,
Understanding Universal Product Code – A Study and Simulation
Experiments, Indian Journal of Industrial and Applied
Mathematics (Taylor & Francis) (IJIAM), vol. 5, no. 1, pp. 25 –
34, 2014.
[24] Ahmad, A. and Ruelens, D. and S. Ahmad, Development of
verification tool for minimal Boolean equation, IEEE Technology
and Engineering Education (ITEE), vol. 8, no. 4, pp. 1-6, 2013.
[25] Afaq Ahmad, Sayyid Samir Al-Busaidi, Mufeed Juma Al-
Musharafi, On Properties of PN Sequences generated by LFSR – a
Generalized Study and Simulation Modeling, Indian Journal of
Science and Technology (IJST), vol. 6, no. 10, pp. 5351-5358,
2013.
[26] Ahmad, A. and Ruelens, D., Development of digital logic
design teaching tool using MATLAB & SIMULINK, IEEE
Technology and Engineering Education (ITEE), vol. 8, no. 1, pp.
7-11, 2013.
[27] Ahmad, A., Al-Abri, D. and Al-Busaidi. S. S., Adding
Pseudo-Random Test Sequence Generator in the Test Simulator for
DFT Approach, Computer Technology and Applications, vol. 3,
no. 7, pp. 463-470, 2012.
[28] Ahmad, A. and Al-Abri, D., Design of a Pseudo-Random
Binary Code Generator via a Developed Simulation Model,
International Journal on Information Technology (ACEEE -
Journal), vol. 2, no. 1(March Issue), pp. 33-36, 2012.
[29] Ahmad, A., A Simulation Experiment on a Built-In Self-Test
Equipped with Pseudorandom Test Pattern Generator and Multi-
Input Shift Register (MISR), International Journal of VLSI Design
& Communication Systems, vol. 1, no. 4, pp. 1-12, 2010.

6th ICCCNT - 2015


July 13 - 15, 2015, Denton, U.S.A
View publication stats

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy