SlideShare a Scribd company logo
International Journal of VLSI design & Communication Systems (VLSICS) Vol.4, No.4, August 2013
DOI : 10.5121/vlsic.2013.4401 1
EXTENDED K-MAP FOR MINIMIZING
MULTIPLE OUTPUT LOGIC CIRCUITS
Palash Das1
, Bikromadittya Mondal2
1
Department of Computer Science and Technology, Bengal Engineering and Science
University, Shibpur, Howrah, India.
2
Department of Computer Science and Engineering, B P Poddar Institute of Management
and Technology, Kolkata, India.
ABSTRACT
Minimization of multiple output functions of a digital logic circuit is a classic research problem. Minimal
circuit is obtained by using multiple Karnaugh Maps (K-map), one for each function. In this paper we
propose a novel technique that uses a single Karnaugh Map for minimizing multiple outputs of a single
circuit. The algorithm basically accumulates multiple K-Maps into a single K-Map. Finding minimal
numbers of minterms are easier using our proposed clustering technique. Experimental results show that
minimization of digital circuits where more than one output functions are involved, our extended K-Map
approach is more efficient as compare to multiple K-Map approach.
KEYWORDS
Boolean Algebra, Karnaugh Map, Digital Logic Circuit, Clustering.
1. INTRODUCTION
Simplification of logic function actually reduces the number of digital logic gates required to
implement digital circuits. This results the reduction of the size of the circuit. The cost of the
circuit will also be reduced. There are a number of techniques proposed to minimize logic
functions. The Boolean algebra was proposed by Boole [1]. Then C.E. Shannon [2] showed the
design of digital circuits using Boolean algebra. Karnaugh [3] proposed a new technique for
simplifying Boolean expressions using a map. Quine and McCluskey [4][5] proposed an
algorithmic based technique for simplifying Boolean logic functions. S. K. Petrick [6] also did
significant work on Boolean function minimization. Heuristic based techniques [9][10] were
proposed for fast minimization of Boolean functions.
Generally Boolean functions are expressed in terms of two standard forms: the sum–of–products
and the product–of–sums. Each combination of variables in a sum-of-products function is called a
minterm; in the product-of-sums form, they are called maxterms. This paper presents the use of
minterms to create Extended Karnaugh Map (K-map), although the same technique can also be
used for creating Extended K-map for Boolean functions by maxterm expressions. This Extended
K-map can accommodate more than one output functions at a time and helps to design the entire
minimized circuit at a time. It is obvious that the number of variables of all the functions will be
same as this new technique of Extended K-map has been developed to design specific circuits of
a particular instance of time. If there are m number of n variable output functions then this
Extended K-map will have 2n
cells which will accommodate all m functions and will produce
International Journal of VLSI design & Communication Systems (VLSICS) Vol.4, No.4, August 2013
2
minimized Boolean expressions for designing the entire circuit. Figure 1 shows the block diagram
of the system. It is efficient as it reduces the design complexity significantly in case of multi-
output circuits.
Figure 1: Block diagram of an Extended K-map
2. PROPOSED WORK
This work is actually the extended version of K-map which is based on basic K-map principle but
with some additional features. The Extended K-map algorithm is presented in section 2.1. The
cluster generation and selection algorithm is given in section 2.2. The illustration of our proposed
algorithm is given in section 2.3.
2.1 The Extended K-map Algorithm
Input: k number of n variable Boolean functions.
Output: k number of minimized Boolean expressions for designing the circuit.
Step 1: Draw a map (matrix) of 2n
cells; where n is the number of variables of all functions
Step 2:
Step 2.1: Initialize all variables
Step 2.2: Set array_functions = all output functions to be minimized,
NO_OF_FUNCTIONS = length of the array_functions
Step 3: REPEAT the following steps till NO_OF_FUNCTIONS! = 0
Step 3.1: generate_cluster will return the clusters one by one of the function passed as
parameter.
Step 3.2: All the returned clusters will in taken into a stack. And later they will be taken
out in last in first out (LIFO) basis for getting the minimized outputs
Step 3.3: NO_OF_FUNCTIONS; (decrementing the number of remaining functions to be
minimized)
Step 4: END OF LOOP
Step 5:
Step 5.1: REPEAT until the stack is empty
Step 5.2: Now pop the first cluster
Step 5.3: Find the elements (groups) of the cluster and form the minimize Boolean
expressions(in SOP or POS form) using basic K-Map principle to design the
minimized circuit
International Journal of VLSI design & Communication Systems (VLSICS) Vol.4, No.4, August 2013
3
2.2 The Clustering Algorithm
This algorithm actually describes the process of making cluster of the corresponding output
functions that has been passed as parameter. It returns all the clusters one by one and stores in to
the stack. The array_functions is basically a pointer to an array which holds all the minterm or
maxterm values of the corresponding functions passed as argument to the process. We are
considering SOP forms for this process assuming the POS form of the algorithm can be easily
changed as like our basic K-map principle.
Step 1: In the first iteration initialize the empty cell by putting 1’s on top in the cell for the
corresponding minterms of the first function.
Step 1.1: Make initial groups of those 1’s using basic K-map principle
Step 1.2: Assign a name to each group (e.g. X1, X2 etc.)
Step 1.3: Take all those groups of the first function into a cluster (e.g. C1={X1, X2})
Step 2: In the other iteration put 1’s directly on the cells if the cells are still empty after putting
the value of previous functions
Step 3: If the cell is not empty; check the previous symbol
Step 3.1: If the previous symbol of the cell is ‘1’, make it don’t care by putting ‘X’ just below
the ‘1’
Step 3.2: If the previous symbol of the cell is ‘X’, make it don’t care by putting ‘1’ just below
the ‘1’
Step 3.3: Make groups using basic K-map principle of the uncovered 1’s and the value of the
cell just changed from ‘1’ to ‘X’ or ‘X’ to ‘1’
Step 3.4: Assign a name to each of those groups (e.g. X3, X4 etc.)
Step 3.5: Take all those groups of each function into a cluster (e.g. C2={X1, X3, X4})
Step 4: Return the clusters one by one to the top of the stack
2.3 Example
Let us consider the following four 4-variable functions for minimization.
F1 = A’B’CD + A’BCD + ABCD + AB’CD + ABC’D’ + ABC’D + ABCD’
F2 = A’B’C’D’ + A’B’CD’ + AB’C’D’ + ABCD
F3 = A’B’C’D’ + A’B’CD’ + AB’C’D’ + AB’CD’
F4 = A’B’C’D’ + A’B’C’D + A’B’CD + A’B’CD’ + AB’C’D’ + AB’C’D + AB’CD +
AB’CD’
International Journal of VLSI design & Communication Systems (VLSICS) Vol.4, No.4, August 2013
4
Figure 2 shows the Extended K-map that holds all the four functions. The grouping is done based
on our Extended k-map algorithm.
Figure 3: Stack of clusters
International Journal of VLSI design & Communication Systems (VLSICS) Vol.4, No.4, August 2013
5
From the stack we will get clusters one by one which are nothing but the minimized forms of the
corresponding functions.
C1= {X1, X2} NO_OF_FUNCTIONS -- OUT1 = AB + CD
C2= {X5, X6, X7} NO_OF_FUNCTIONS --OUT2 = B’
C3= {X3} NO_OF_FUNCTIONS --OUT3 = B’C’D’ + A’B’D’ +ABCD
C4= {X4} NO_OF_FUNCTIONS --OUT4 = B’D’
3. EXPERIMENTAL RESULTS AND SIMULATIONS
Table 1 shows the experimental results of our proposed technique for different circuits.
Table 1: Experimental results
Number of
variables
Functions under experiment
Minimized output using
Extended K-Map
Reference
Extended K-
Map
2 1. F1(A,B) = E (1, 2)
2. F2(A,B) = E (1, 3)
1. K1 = B’
2. K2 = A’
Figure 4
3 1. F1 = E1 (0, 1, 2, 3, 4, 6)
2. F2 = E2 (3, 5, 6, 7)
3. F3 = E3 (0, 2, 4, 6)
1. K1 = A’ + C’
2. K2 = AB+BC+CA
3. K3 = C’
Figure 5
4
1. F1 = E1 (3, 7, 11, 12, 13, 14,
15)
2. F2 = E2 (0, 2, 8, 15)
3. F3 = E3 (0, 2, 8, 10)
4. F4 = E4 (0, 1, 2, 3, 8, 9, 10,
11)
1. K1 = AB + CD
2. K2 = B’C’D’+
A’B’D’ +ABCD
3. K3 = B’D’
4. K4 = B’
Figure 6
5
1. F1 = E1 (1, 2, 3, 5, 7,11, 13,
17, 19, 23, 29, 31)
2. F2 = E2 (8,9,13,12)
3. F3 = E3 (0, 1, 5, 4)
4. F4 = E4 (8,12)
5. F5 = E5 (24, 25, 27, 26, 30,
31, 29, 28)
1. K1 = A’B’E + B’C’E
+ A’B’C’ D
+AB’DE +A’CD’E+
ABCE+A’C’DE
2. K2 = A’B'D’
3. K3 = A’B’D’
4. K4 = A’BD’E
5. K5 = AB
Figure 7
International Journal of VLSI design & Communication Systems (VLSICS) Vol.4, No.4, August 2013
6
Figure 4, Figure 5, Figure 6 and Figure 7 show the minimization process of different multiple output
circuits using the Extended K-map.
4. COMPLEXITY ANALYSIS
Generally in case of basic K-Map [3] for n-variable function it needs 2n
spaces for a single
function to be solved. So for k numbers of functions total number of spaces are k*2n
. So space
complexity function will be
Fk = k * 2n
which is O (2n
).
But in case of our Extended K-Map algorithm for n-variable function it needs 2n
spaces for all k
function with an additional stack which has again k spaces for k number of functions. So space
complexity function will be
Fk = k + 2n
which is O (2n
).
So our algorithm is more space efficient as compared with previous one. Table 2 and Figure 8
show the complexity of our Extended K-map method compared with the complexity of basic K-
map method.
International Journal of VLSI design & Communication Systems (VLSICS) Vol.4, No.4, August 2013
7
Table 2: Complexity comparison
Figure 8: Graphical representation of complexity comparison
International Journal of VLSI design & Communication Systems (VLSICS) Vol.4, No.4, August 2013
8
5. CONCLUSIONS
In this paper, we have proposed a new K-map which is more space efficient with increasing
number of functions. Any number of functions can be minimized using this new technique.
Future work may be done to extend this technique for minimizing large circuits.
REFERENCES
[1] Boole G. (1954): An Investigation of the Laws of Thought. — New York: Dover Publications.
[2] Shannon C.E. (1938): A symbolic analysis of relay and switching circuits. —Trans. AIEE, Vol. 57,
No. 6, pp. 713–723.
[3] Karnaugh M. (1953): The map method for synthesis of combinatorial logic circuits. — Trans. AIEE
Comm. Electron.,Vol. 72, No. 4, pp. 593–598.
[4] McCluskey E. J. (1956), “Minimization of Boolean functions”, Bell System Tech. J., Vol. 35, No. 5,
pp. 1417–1444.
[5] Quine W. V. (1952), “The problem of simplifying truth tables”, Amer. Math. Month., Vol. 59, No. 8,
pp. 521–531.
[6] Petrick S. K. (1959), “On the minimization of Boolean functions”, Proc. Int. Conf. Information
Processing, Paris: Unesco, pp. 422–423.
[7] McCluskey E. J. (1965), “Introduction to the Theory of Switching Circuits”, New York, McGraw-
Hill.
[8] Biswas N. N. (1971), “Minimization of Boolean Functions”, IEEE Trans. on Computers, Vol. C-20,
pp. 925-929.
[9] Hong S. J., Cain R. G., Ostapko D. L. (1974), “MINI: A Heuristic Approach for Logic
Minimization”, IBM Journal of Research and Development, Vol. 18, pp. 443-458.
[10] Rhyne V. T., Noe P. S., McKinney M. H., and Pooch U.W. (1977) “A New Technique for the Fast
Minimization of Switching Functions”, IEEE Trans. on Computers, Vol. C-26, pp. 757-764.

More Related Content

What's hot (20)

PDF
Idea for ineractive programming language
Lincoln Hannah
 
PDF
Reduction of multiple subsystem [compatibility mode]
azroyyazid
 
PDF
SOLUTION MANUAL OF COMPUTER ORGANIZATION BY CARL HAMACHER, ZVONKO VRANESIC & ...
vtunotesbysree
 
PPTX
Electrical Engineering Assignment Help
Matlab Assignment Experts
 
PDF
Encryption Quality Analysis and Security Evaluation of CAST-128 Algorithm and...
IJNSA Journal
 
PDF
Implementation performance analysis of cordic
iaemedu
 
PPTX
Fuzzy c means manual work
Dr.E.N.Sathishkumar
 
PDF
Lec 9 05_sept [compatibility mode]
Palak Sanghani
 
PDF
Matlab booklet
Sourabh Bhattacharya
 
PDF
211 738-1-pb
ishwari85
 
PDF
2015 16combinepdf
madhesi
 
PPTX
Fast Single-pass K-means Clusterting at Oxford
MapR Technologies
 
PDF
Digital signal and image processing FAQ
Mukesh Tekwani
 
PDF
Gate Computer Science Solved Paper 2007
Rohit Garg
 
PDF
Deep Learning for Computer Vision: Memory usage and computational considerati...
Universitat Politècnica de Catalunya
 
PDF
GATE Computer Science Solved Paper 2004
Rohit Garg
 
PPTX
An optimal and progressive algorithm for skyline queries slide
WooSung Choi
 
PDF
G029037043
researchinventy
 
PPTX
Image recogonization
SANTOSH RATH
 
PPTX
Week 15 state space rep may 25 2016 final
Charlton Inao
 
Idea for ineractive programming language
Lincoln Hannah
 
Reduction of multiple subsystem [compatibility mode]
azroyyazid
 
SOLUTION MANUAL OF COMPUTER ORGANIZATION BY CARL HAMACHER, ZVONKO VRANESIC & ...
vtunotesbysree
 
Electrical Engineering Assignment Help
Matlab Assignment Experts
 
Encryption Quality Analysis and Security Evaluation of CAST-128 Algorithm and...
IJNSA Journal
 
Implementation performance analysis of cordic
iaemedu
 
Fuzzy c means manual work
Dr.E.N.Sathishkumar
 
Lec 9 05_sept [compatibility mode]
Palak Sanghani
 
Matlab booklet
Sourabh Bhattacharya
 
211 738-1-pb
ishwari85
 
2015 16combinepdf
madhesi
 
Fast Single-pass K-means Clusterting at Oxford
MapR Technologies
 
Digital signal and image processing FAQ
Mukesh Tekwani
 
Gate Computer Science Solved Paper 2007
Rohit Garg
 
Deep Learning for Computer Vision: Memory usage and computational considerati...
Universitat Politècnica de Catalunya
 
GATE Computer Science Solved Paper 2004
Rohit Garg
 
An optimal and progressive algorithm for skyline queries slide
WooSung Choi
 
G029037043
researchinventy
 
Image recogonization
SANTOSH RATH
 
Week 15 state space rep may 25 2016 final
Charlton Inao
 

Similar to EXTENDED K-MAP FOR MINIMIZING MULTIPLE OUTPUT LOGIC CIRCUITS (20)

PPT
LCDF3_Chap_02_P2.ppt Digital Login Design
fliipfloop001
 
PPTX
Boolean Algebra
SwathiSundari
 
PPTX
K - Map
Abhishek Choksi
 
PDF
Digital electronics k map comparators and their function
kumarankit06875
 
PDF
Lecture08_Karnaug_hmaps_introduction.pdf
sonakshipuriji
 
PDF
Chapter 2
EasyStudy3
 
PDF
FYBSC IT Digital Electronics Unit II Chapter II Minterm, Maxterm and Karnaugh...
Arti Parab Academics
 
PPT
Chapter-3.ppt
TANJILURRAHMAN190901
 
PDF
Adaptive Map for Simplifying Boolean Expressions
IJCSES Journal
 
PDF
ADAPTIVE MAP FOR SIMPLIFYING BOOLEAN EXPRESSIONS
ijcses
 
PDF
Module 2 logic gates
Deepak John
 
PPTX
kmaps
Unsa Shakir
 
PPTX
DLD Presentation – K-Map (2 & 3 Variable).pptx
Masi Karimi
 
PDF
Chapter-3.pdf
ssuserf7cd2b
 
PDF
Chapter-3.pdf
kndnewguade
 
DOCX
cs 3351 dpco
udhayaveenaa
 
PPTX
DCF - K map
vinothinisureshbabu
 
PPT
ECE 3rd_Unit No. 1_K-Map_DSD.ppt
sonusreekumar
 
PPTX
Karnaugh k map Maps electronics engineers.pptx
MrDoctor24
 
LCDF3_Chap_02_P2.ppt Digital Login Design
fliipfloop001
 
Boolean Algebra
SwathiSundari
 
K - Map
Abhishek Choksi
 
Digital electronics k map comparators and their function
kumarankit06875
 
Lecture08_Karnaug_hmaps_introduction.pdf
sonakshipuriji
 
Chapter 2
EasyStudy3
 
FYBSC IT Digital Electronics Unit II Chapter II Minterm, Maxterm and Karnaugh...
Arti Parab Academics
 
Chapter-3.ppt
TANJILURRAHMAN190901
 
Adaptive Map for Simplifying Boolean Expressions
IJCSES Journal
 
ADAPTIVE MAP FOR SIMPLIFYING BOOLEAN EXPRESSIONS
ijcses
 
Module 2 logic gates
Deepak John
 
kmaps
Unsa Shakir
 
DLD Presentation – K-Map (2 & 3 Variable).pptx
Masi Karimi
 
Chapter-3.pdf
ssuserf7cd2b
 
Chapter-3.pdf
kndnewguade
 
cs 3351 dpco
udhayaveenaa
 
DCF - K map
vinothinisureshbabu
 
ECE 3rd_Unit No. 1_K-Map_DSD.ppt
sonusreekumar
 
Karnaugh k map Maps electronics engineers.pptx
MrDoctor24
 
Ad

Recently uploaded (20)

PPTX
Paycifi - Programmable Trust_Breakfast_PPTXT
FinTech Belgium
 
PDF
How to Visualize the ​Spatio-Temporal Data Using CesiumJS​
SANGHEE SHIN
 
PDF
How to Comply With Saudi Arabia’s National Cybersecurity Regulations.pdf
Bluechip Advanced Technologies
 
PDF
Understanding The True Cost of DynamoDB Webinar
ScyllaDB
 
PDF
Enhancing Environmental Monitoring with Real-Time Data Integration: Leveragin...
Safe Software
 
PPTX
Mastering Authorization: Integrating Authentication and Authorization Data in...
Hitachi, Ltd. OSS Solution Center.
 
PDF
LLM Search Readiness Audit - Dentsu x SEO Square - June 2025.pdf
Nick Samuel
 
PDF
Kubernetes - Architecture & Components.pdf
geethak285
 
PDF
Bridging CAD, IBM TRIRIGA & GIS with FME: The Portland Public Schools Case
Safe Software
 
PDF
Simplify Your FME Flow Setup: Fault-Tolerant Deployment Made Easy with Packer...
Safe Software
 
PPTX
MARTSIA: A Tool for Confidential Data Exchange via Public Blockchain - Pitch ...
Michele Kryston
 
PDF
Java 25 and Beyond - A Roadmap of Innovations
Ana-Maria Mihalceanu
 
PDF
Automating the Geo-Referencing of Historic Aerial Photography in Flanders
Safe Software
 
PPTX
Smarter Governance with AI: What Every Board Needs to Know
OnBoard
 
PPTX
01_Approach Cyber- DORA Incident Management.pptx
FinTech Belgium
 
PDF
5 Things to Consider When Deploying AI in Your Enterprise
Safe Software
 
PDF
Understanding AI Optimization AIO, LLMO, and GEO
CoDigital
 
PPTX
2025 HackRedCon Cyber Career Paths.pptx Scott Stanton
Scott Stanton
 
DOCX
Daily Lesson Log MATATAG ICT TEchnology 8
LOIDAALMAZAN3
 
PDF
The Future of Product Management in AI ERA.pdf
Alyona Owens
 
Paycifi - Programmable Trust_Breakfast_PPTXT
FinTech Belgium
 
How to Visualize the ​Spatio-Temporal Data Using CesiumJS​
SANGHEE SHIN
 
How to Comply With Saudi Arabia’s National Cybersecurity Regulations.pdf
Bluechip Advanced Technologies
 
Understanding The True Cost of DynamoDB Webinar
ScyllaDB
 
Enhancing Environmental Monitoring with Real-Time Data Integration: Leveragin...
Safe Software
 
Mastering Authorization: Integrating Authentication and Authorization Data in...
Hitachi, Ltd. OSS Solution Center.
 
LLM Search Readiness Audit - Dentsu x SEO Square - June 2025.pdf
Nick Samuel
 
Kubernetes - Architecture & Components.pdf
geethak285
 
Bridging CAD, IBM TRIRIGA & GIS with FME: The Portland Public Schools Case
Safe Software
 
Simplify Your FME Flow Setup: Fault-Tolerant Deployment Made Easy with Packer...
Safe Software
 
MARTSIA: A Tool for Confidential Data Exchange via Public Blockchain - Pitch ...
Michele Kryston
 
Java 25 and Beyond - A Roadmap of Innovations
Ana-Maria Mihalceanu
 
Automating the Geo-Referencing of Historic Aerial Photography in Flanders
Safe Software
 
Smarter Governance with AI: What Every Board Needs to Know
OnBoard
 
01_Approach Cyber- DORA Incident Management.pptx
FinTech Belgium
 
5 Things to Consider When Deploying AI in Your Enterprise
Safe Software
 
Understanding AI Optimization AIO, LLMO, and GEO
CoDigital
 
2025 HackRedCon Cyber Career Paths.pptx Scott Stanton
Scott Stanton
 
Daily Lesson Log MATATAG ICT TEchnology 8
LOIDAALMAZAN3
 
The Future of Product Management in AI ERA.pdf
Alyona Owens
 
Ad

EXTENDED K-MAP FOR MINIMIZING MULTIPLE OUTPUT LOGIC CIRCUITS

  • 1. International Journal of VLSI design & Communication Systems (VLSICS) Vol.4, No.4, August 2013 DOI : 10.5121/vlsic.2013.4401 1 EXTENDED K-MAP FOR MINIMIZING MULTIPLE OUTPUT LOGIC CIRCUITS Palash Das1 , Bikromadittya Mondal2 1 Department of Computer Science and Technology, Bengal Engineering and Science University, Shibpur, Howrah, India. 2 Department of Computer Science and Engineering, B P Poddar Institute of Management and Technology, Kolkata, India. ABSTRACT Minimization of multiple output functions of a digital logic circuit is a classic research problem. Minimal circuit is obtained by using multiple Karnaugh Maps (K-map), one for each function. In this paper we propose a novel technique that uses a single Karnaugh Map for minimizing multiple outputs of a single circuit. The algorithm basically accumulates multiple K-Maps into a single K-Map. Finding minimal numbers of minterms are easier using our proposed clustering technique. Experimental results show that minimization of digital circuits where more than one output functions are involved, our extended K-Map approach is more efficient as compare to multiple K-Map approach. KEYWORDS Boolean Algebra, Karnaugh Map, Digital Logic Circuit, Clustering. 1. INTRODUCTION Simplification of logic function actually reduces the number of digital logic gates required to implement digital circuits. This results the reduction of the size of the circuit. The cost of the circuit will also be reduced. There are a number of techniques proposed to minimize logic functions. The Boolean algebra was proposed by Boole [1]. Then C.E. Shannon [2] showed the design of digital circuits using Boolean algebra. Karnaugh [3] proposed a new technique for simplifying Boolean expressions using a map. Quine and McCluskey [4][5] proposed an algorithmic based technique for simplifying Boolean logic functions. S. K. Petrick [6] also did significant work on Boolean function minimization. Heuristic based techniques [9][10] were proposed for fast minimization of Boolean functions. Generally Boolean functions are expressed in terms of two standard forms: the sum–of–products and the product–of–sums. Each combination of variables in a sum-of-products function is called a minterm; in the product-of-sums form, they are called maxterms. This paper presents the use of minterms to create Extended Karnaugh Map (K-map), although the same technique can also be used for creating Extended K-map for Boolean functions by maxterm expressions. This Extended K-map can accommodate more than one output functions at a time and helps to design the entire minimized circuit at a time. It is obvious that the number of variables of all the functions will be same as this new technique of Extended K-map has been developed to design specific circuits of a particular instance of time. If there are m number of n variable output functions then this Extended K-map will have 2n cells which will accommodate all m functions and will produce
  • 2. International Journal of VLSI design & Communication Systems (VLSICS) Vol.4, No.4, August 2013 2 minimized Boolean expressions for designing the entire circuit. Figure 1 shows the block diagram of the system. It is efficient as it reduces the design complexity significantly in case of multi- output circuits. Figure 1: Block diagram of an Extended K-map 2. PROPOSED WORK This work is actually the extended version of K-map which is based on basic K-map principle but with some additional features. The Extended K-map algorithm is presented in section 2.1. The cluster generation and selection algorithm is given in section 2.2. The illustration of our proposed algorithm is given in section 2.3. 2.1 The Extended K-map Algorithm Input: k number of n variable Boolean functions. Output: k number of minimized Boolean expressions for designing the circuit. Step 1: Draw a map (matrix) of 2n cells; where n is the number of variables of all functions Step 2: Step 2.1: Initialize all variables Step 2.2: Set array_functions = all output functions to be minimized, NO_OF_FUNCTIONS = length of the array_functions Step 3: REPEAT the following steps till NO_OF_FUNCTIONS! = 0 Step 3.1: generate_cluster will return the clusters one by one of the function passed as parameter. Step 3.2: All the returned clusters will in taken into a stack. And later they will be taken out in last in first out (LIFO) basis for getting the minimized outputs Step 3.3: NO_OF_FUNCTIONS; (decrementing the number of remaining functions to be minimized) Step 4: END OF LOOP Step 5: Step 5.1: REPEAT until the stack is empty Step 5.2: Now pop the first cluster Step 5.3: Find the elements (groups) of the cluster and form the minimize Boolean expressions(in SOP or POS form) using basic K-Map principle to design the minimized circuit
  • 3. International Journal of VLSI design & Communication Systems (VLSICS) Vol.4, No.4, August 2013 3 2.2 The Clustering Algorithm This algorithm actually describes the process of making cluster of the corresponding output functions that has been passed as parameter. It returns all the clusters one by one and stores in to the stack. The array_functions is basically a pointer to an array which holds all the minterm or maxterm values of the corresponding functions passed as argument to the process. We are considering SOP forms for this process assuming the POS form of the algorithm can be easily changed as like our basic K-map principle. Step 1: In the first iteration initialize the empty cell by putting 1’s on top in the cell for the corresponding minterms of the first function. Step 1.1: Make initial groups of those 1’s using basic K-map principle Step 1.2: Assign a name to each group (e.g. X1, X2 etc.) Step 1.3: Take all those groups of the first function into a cluster (e.g. C1={X1, X2}) Step 2: In the other iteration put 1’s directly on the cells if the cells are still empty after putting the value of previous functions Step 3: If the cell is not empty; check the previous symbol Step 3.1: If the previous symbol of the cell is ‘1’, make it don’t care by putting ‘X’ just below the ‘1’ Step 3.2: If the previous symbol of the cell is ‘X’, make it don’t care by putting ‘1’ just below the ‘1’ Step 3.3: Make groups using basic K-map principle of the uncovered 1’s and the value of the cell just changed from ‘1’ to ‘X’ or ‘X’ to ‘1’ Step 3.4: Assign a name to each of those groups (e.g. X3, X4 etc.) Step 3.5: Take all those groups of each function into a cluster (e.g. C2={X1, X3, X4}) Step 4: Return the clusters one by one to the top of the stack 2.3 Example Let us consider the following four 4-variable functions for minimization. F1 = A’B’CD + A’BCD + ABCD + AB’CD + ABC’D’ + ABC’D + ABCD’ F2 = A’B’C’D’ + A’B’CD’ + AB’C’D’ + ABCD F3 = A’B’C’D’ + A’B’CD’ + AB’C’D’ + AB’CD’ F4 = A’B’C’D’ + A’B’C’D + A’B’CD + A’B’CD’ + AB’C’D’ + AB’C’D + AB’CD + AB’CD’
  • 4. International Journal of VLSI design & Communication Systems (VLSICS) Vol.4, No.4, August 2013 4 Figure 2 shows the Extended K-map that holds all the four functions. The grouping is done based on our Extended k-map algorithm. Figure 3: Stack of clusters
  • 5. International Journal of VLSI design & Communication Systems (VLSICS) Vol.4, No.4, August 2013 5 From the stack we will get clusters one by one which are nothing but the minimized forms of the corresponding functions. C1= {X1, X2} NO_OF_FUNCTIONS -- OUT1 = AB + CD C2= {X5, X6, X7} NO_OF_FUNCTIONS --OUT2 = B’ C3= {X3} NO_OF_FUNCTIONS --OUT3 = B’C’D’ + A’B’D’ +ABCD C4= {X4} NO_OF_FUNCTIONS --OUT4 = B’D’ 3. EXPERIMENTAL RESULTS AND SIMULATIONS Table 1 shows the experimental results of our proposed technique for different circuits. Table 1: Experimental results Number of variables Functions under experiment Minimized output using Extended K-Map Reference Extended K- Map 2 1. F1(A,B) = E (1, 2) 2. F2(A,B) = E (1, 3) 1. K1 = B’ 2. K2 = A’ Figure 4 3 1. F1 = E1 (0, 1, 2, 3, 4, 6) 2. F2 = E2 (3, 5, 6, 7) 3. F3 = E3 (0, 2, 4, 6) 1. K1 = A’ + C’ 2. K2 = AB+BC+CA 3. K3 = C’ Figure 5 4 1. F1 = E1 (3, 7, 11, 12, 13, 14, 15) 2. F2 = E2 (0, 2, 8, 15) 3. F3 = E3 (0, 2, 8, 10) 4. F4 = E4 (0, 1, 2, 3, 8, 9, 10, 11) 1. K1 = AB + CD 2. K2 = B’C’D’+ A’B’D’ +ABCD 3. K3 = B’D’ 4. K4 = B’ Figure 6 5 1. F1 = E1 (1, 2, 3, 5, 7,11, 13, 17, 19, 23, 29, 31) 2. F2 = E2 (8,9,13,12) 3. F3 = E3 (0, 1, 5, 4) 4. F4 = E4 (8,12) 5. F5 = E5 (24, 25, 27, 26, 30, 31, 29, 28) 1. K1 = A’B’E + B’C’E + A’B’C’ D +AB’DE +A’CD’E+ ABCE+A’C’DE 2. K2 = A’B'D’ 3. K3 = A’B’D’ 4. K4 = A’BD’E 5. K5 = AB Figure 7
  • 6. International Journal of VLSI design & Communication Systems (VLSICS) Vol.4, No.4, August 2013 6 Figure 4, Figure 5, Figure 6 and Figure 7 show the minimization process of different multiple output circuits using the Extended K-map. 4. COMPLEXITY ANALYSIS Generally in case of basic K-Map [3] for n-variable function it needs 2n spaces for a single function to be solved. So for k numbers of functions total number of spaces are k*2n . So space complexity function will be Fk = k * 2n which is O (2n ). But in case of our Extended K-Map algorithm for n-variable function it needs 2n spaces for all k function with an additional stack which has again k spaces for k number of functions. So space complexity function will be Fk = k + 2n which is O (2n ). So our algorithm is more space efficient as compared with previous one. Table 2 and Figure 8 show the complexity of our Extended K-map method compared with the complexity of basic K- map method.
  • 7. International Journal of VLSI design & Communication Systems (VLSICS) Vol.4, No.4, August 2013 7 Table 2: Complexity comparison Figure 8: Graphical representation of complexity comparison
  • 8. International Journal of VLSI design & Communication Systems (VLSICS) Vol.4, No.4, August 2013 8 5. CONCLUSIONS In this paper, we have proposed a new K-map which is more space efficient with increasing number of functions. Any number of functions can be minimized using this new technique. Future work may be done to extend this technique for minimizing large circuits. REFERENCES [1] Boole G. (1954): An Investigation of the Laws of Thought. — New York: Dover Publications. [2] Shannon C.E. (1938): A symbolic analysis of relay and switching circuits. —Trans. AIEE, Vol. 57, No. 6, pp. 713–723. [3] Karnaugh M. (1953): The map method for synthesis of combinatorial logic circuits. — Trans. AIEE Comm. Electron.,Vol. 72, No. 4, pp. 593–598. [4] McCluskey E. J. (1956), “Minimization of Boolean functions”, Bell System Tech. J., Vol. 35, No. 5, pp. 1417–1444. [5] Quine W. V. (1952), “The problem of simplifying truth tables”, Amer. Math. Month., Vol. 59, No. 8, pp. 521–531. [6] Petrick S. K. (1959), “On the minimization of Boolean functions”, Proc. Int. Conf. Information Processing, Paris: Unesco, pp. 422–423. [7] McCluskey E. J. (1965), “Introduction to the Theory of Switching Circuits”, New York, McGraw- Hill. [8] Biswas N. N. (1971), “Minimization of Boolean Functions”, IEEE Trans. on Computers, Vol. C-20, pp. 925-929. [9] Hong S. J., Cain R. G., Ostapko D. L. (1974), “MINI: A Heuristic Approach for Logic Minimization”, IBM Journal of Research and Development, Vol. 18, pp. 443-458. [10] Rhyne V. T., Noe P. S., McKinney M. H., and Pooch U.W. (1977) “A New Technique for the Fast Minimization of Switching Functions”, IEEE Trans. on Computers, Vol. C-26, pp. 757-764.