SlideShare a Scribd company logo
K-MAP
TOOL
SOLVING EQUATIONS
MADE EASY…..
SUBMITTED BY
DEEPAK R

-

2SD08EE022
KUMAR PATIL

-

2SD08EE030
NAGAPPA D V
2SD08EE033

-
Problem statement
Development of an application
software called K-Map software tool
which gives the simplified Boolean
equation.
NEED TO SIMPLIFY EQUATIONS..?
prerequisite
• BOOLEAN ALGEBRA-

Boolean algebra is formal

way to express digital

logic equations and to represent a logical design in an
alpha-numeric way. It is a language of 0’s and 1’s.
• A Boolean function is an expression formed with
binary variables which makes use of logic gates based

on Boolean algebra
e.g.F1=xyz’ where F1=1 only if x=1,y=1,z=0
Sum-of-products form
(SOP)
•

– first

the product(AND)
terms are formed then
these are summed(OR)
– e.g.: ABC + DEF + GHI

Product-of-sum form
(POS)
•

– first the sum (OR) terms are formed then
are taken (AND)
– e.g.: (A+B+C) (D+E+F) (G+H+I)

the products

It is possible to convert between these two forms
using Boolean algebra (DeMorgan’s Laws)
•
Minimization by Karnaugh Map
The Karnaugh map is a theoretical method for
the simplification of any Boolean expressions
regardless of its number of variables.
It provides simple straightforward approach for
minimizing Boolean functions.

It either regarded as pictorial form of truth
table or as an extension of the Venn diagram.
Example: Let’s do this in relation to the 3input example
S A B

Y

0

0 0

0

0

0 1

0

0

1 0

1

0

1 1

1

1

0 0

0

1

0 1

1

1

1 0

0

1

1 1

1

result: Y = S.B + S’.A
Architectural design
main ( )
read
input
validate
input

derive
truth
table

generate
k-map

solve kmap

solve for
2 var

solve for
3 var

display
solve for
4 var

2var

quad

octet

1

3var

pair

quad

octet

4var

pair

quad
pair
K map
Algorithm

int read input ()

// Input : No of variable n , Input
// Output : Formation Of Input Truth Table Array
{
step1:

read the no of variables
if it is 2, 3 or 4
go to step 2

step2:

read the type of input

case 1:
if minterm with literals
check validity of input
if valid form the input array
case 2:
if maxterm with literals
check validity of input
if valid form the input array
case 3:

if minterm with truth table values
check validity of input
if valid form the input array

case 4:

if maxterm with truth table values
check validity of input

if valid form the input array
} // end of Read Input
Algorithm

int

formKmap

(int n)

// input : no of variable (n) , Integer array input[2^n ]
//output : two dimensional matrix say
//Forms the k map depending on the type of input
{

k=0;
for (i=0;i < no. of rows ;i++)
for (j=0;j < no. of columns; j++)
{

k mat [ i ][ j ] = min[k];
k++;

}
if n is 3
Swap the columns 3 & 4 in the k mat
if n is 4
Swap the columns 3 & 4 and rows 3 and 4 in the k mat
} // end of form K-map
SolveKmap (k mat [ ][ ],n )
// input : no of variable (n) , k mat
// calls other functions depending on value of n
{

if n is 2
solve2var (k mat [ ][ ])
if n is 3

solve3var (k mat [ ][ ])
if n is 4
solve4var (k mat [ ][ ])
} // end
Algorithm

solve2var(k mat [ ][ ] )

// input : no of variable (n) , k_mat
// solves the given k_mat with n=2 and calls display function

{
check for all ones in k mat
if

True

push 1 to the linked list

else if
the group formed is in pairs then send the
group value to the list
else if

}

only one variable in the matrix is one then send
its group value to the list.

Display();
Algorithm

solve3var (k_mat [ ][ ])

// input : no of variable (n) , k mat
// solves the given k mat with n=2 and calls display function
{
check for all k mat [ i ] [ j ] =1
if true

o list.Push_front (1);
set all flag [ i ] [ j ] =1;
else

Quad;

Pair;
Single;
}

Display ( );
Algorithm

solve4var (k_mat [ ][ ])

// input : no of variable (n) , k_mat
// solves the given k_mat with n=2 and calls display function
{
check for all k mat [ i ] [ j ] =1
if true
o_list.Push_front (1);

set all flag [ i ] [ j ] as 1;
else

Octet;
Quad;

Pair ;
Single ;
Display ( );

} // end
Algorithm

Octet (k_mat , flag)

// input : no of variable (n) , k_mat
// find the respective quad and push its group value to the O_list
{
for (i=0;i < 4 ;i++)
for (j=0;j < 4; j++)
{

if ( k_mat [ i ][ j ] = 1 && flag [ i ] [ j ] =0)
{
search for a octet
if exist
//push the respective group value
outeq ( i, j);

set all positions in the flag matrix as 1
}
}
} // end of octet
Algorithm

Quad (k_mat , flag)

// input : K_mat , flag
// find the respective quad and push its group value to the O_list
{
for (i=0;i < 4 ;i++)
for (j=0;j < 4; j++)
{

if ( k_mat [ i ][ j ] = 1 && flag [ i ] [ j ] =0)
{
search for a Quad
if exist
push the respective group value

set all positions in the flag matrix as 1
}
}
} // end of Quad
Algorithm

Pair (k_mat , flag)

// input : K_mat , flag
// find the respective Pair and push its group value to the O_list
{
for (i=0;i < 4;i++)
for (j=0;j < 4; j++)
{

if ( k_mat[ i][ j ] = 1 && flag [ i ] [ j ] =0)
{
find a adjacent one
push the respective group value
set all positions in the flag matrix as 1

}
}
} // end of Pair
application
Tool can be a part of sequential circuit designing software.
Aids to practical method of designing sequential circuits with
multi input.
It can be included in systems which involve in process of
simplifying expressions frequently.
The tool can be incorporated in educational fields as in by
the text book designers, staff and students themselves to
verify their answers.
conclusion
 K-Tool can be used for reducing Boolean expressions.
 User specified Boolean expression is converted
to is simpler form through various stages.
 User is able to get output for 2,3,4 variable
CONCLUSION
equations
 Input is processed in various different forms of
input to achieve simplicity

 Its a tool for deductive reasoning in designing
logic circuits and machines

digital
FUTURE SCOPE
 Tool can be extended to handle more number of
variables.
 Tool can be modified to handle DON’T CARE
conditions.
 Can be enhanced to obtain possible alternate
solutions.
 The gate implementation of the input and output
equations can be shown for comparison.
REFERENCES
Books:
Digital Fundamentals -Thomas L. Floyd
Digital Principles and Applications -Albert Paul Malvino and
Donald P. Leach

Digital Logic and Computer Design -M. Morris Mano

Website:

http://en.wikipedia.org/wiki/Karnaugh_map
Any queries…??
Thank
you..

More Related Content

PPTX
K - Map
PPT
Assembly language programming_fundamentals 8086
PPTX
Flip flops, counters &amp; registers
PDF
Karnaugh Map (K-map)
PPT
Unit 1(stld)
PPT
Introduction state machine
PPTX
variable entered map digital electronics
PPTX
K - Map
Assembly language programming_fundamentals 8086
Flip flops, counters &amp; registers
Karnaugh Map (K-map)
Unit 1(stld)
Introduction state machine
variable entered map digital electronics

What's hot (20)

PPTX
LINUX:Control statements in shell programming
PPTX
What are Flip Flops and Its types.
PPTX
SOP POS, Minterm and Maxterm
PPTX
PPT
Decimation in time and frequency
PPTX
Chapter 3: Simplification of Boolean Function
PPT
Structure of a C program
PPTX
PPT
binary number system
PPT
boolean algebra and logic simplification
PDF
Kmap..(karnaugh map)
PPT
Digital Logic & Design
PPTX
Chapter 4: Combinational Logic
PPTX
Chapter 5: Cominational Logic with MSI and LSI
PPTX
1s and 2s complement
PPTX
COUNTERS(Synchronous & Asynchronous)
PPTX
Boolean Function Forms
PPTX
Sequential circuits
PPT
Karnaugh map
PDF
Signed Binary Numbers
LINUX:Control statements in shell programming
What are Flip Flops and Its types.
SOP POS, Minterm and Maxterm
Decimation in time and frequency
Chapter 3: Simplification of Boolean Function
Structure of a C program
binary number system
boolean algebra and logic simplification
Kmap..(karnaugh map)
Digital Logic & Design
Chapter 4: Combinational Logic
Chapter 5: Cominational Logic with MSI and LSI
1s and 2s complement
COUNTERS(Synchronous & Asynchronous)
Boolean Function Forms
Sequential circuits
Karnaugh map
Signed Binary Numbers
Ad

Viewers also liked (20)

PPTX
Karnaugh Mapping Explained
PPT
KARNAUGH MAP(K-MAP)
PPTX
Karnaugh Maps
PPTX
Basics of K map
PPS
Kmap Slideshare
PPT
KMAP
PPTX
K-map method
PPT
Karnaugh Map
PPTX
Presentation on Karnaugh Map
PPT
Karnaugh maps
PPTX
K-Map Solver Circuit
PPT
KARNAUGH MAP using OpenGL (KMAP)
PPT
The Karnaugh Map
PPT
K Map Simplification
PPTX
SEQUENTIAL AND COMBINATIONAL CIRCUITS,DIGITAL LOGIC DESIGN
PDF
Sequential circuits in digital logic design
PPTX
Boolean algebra
PPTX
Seminar on polymorphism
PDF
CBSE XII Boolean Algebra
Karnaugh Mapping Explained
KARNAUGH MAP(K-MAP)
Karnaugh Maps
Basics of K map
Kmap Slideshare
KMAP
K-map method
Karnaugh Map
Presentation on Karnaugh Map
Karnaugh maps
K-Map Solver Circuit
KARNAUGH MAP using OpenGL (KMAP)
The Karnaugh Map
K Map Simplification
SEQUENTIAL AND COMBINATIONAL CIRCUITS,DIGITAL LOGIC DESIGN
Sequential circuits in digital logic design
Boolean algebra
Seminar on polymorphism
CBSE XII Boolean Algebra
Ad

Similar to K map (20)

PPT
Python High Level Functions_Ch 11.ppt
PDF
The concept of stack is extremely important in computer science and .pdf
PPTX
A brief introduction to apply functions
PPT
chapter1.ppt
PPT
Chap05alg
PPT
Chap05alg
PDF
Introduction to Data Science With R Lab Record
PDF
The what over the how (another way on android development with kotlin)
DOCX
Array
PDF
Computer Science CS Project Matrix CBSE Class 12th XII .pdf
PDF
Functional Programming You Already Know - Kevlin Henney - Codemotion Rome 2015
PPT
14-sorting.ppt
PPT
14-sorting (3).ppt
PPT
14-sorting.ppt
PPT
14-sorting.ppt
PPT
Matlab1
PPT
Programming
DOC
algorithm Unit 3
PDF
introduction to python programming course 2
Python High Level Functions_Ch 11.ppt
The concept of stack is extremely important in computer science and .pdf
A brief introduction to apply functions
chapter1.ppt
Chap05alg
Chap05alg
Introduction to Data Science With R Lab Record
The what over the how (another way on android development with kotlin)
Array
Computer Science CS Project Matrix CBSE Class 12th XII .pdf
Functional Programming You Already Know - Kevlin Henney - Codemotion Rome 2015
14-sorting.ppt
14-sorting (3).ppt
14-sorting.ppt
14-sorting.ppt
Matlab1
Programming
algorithm Unit 3
introduction to python programming course 2

Recently uploaded (20)

PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
MYSQL Presentation for SQL database connectivity
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Approach and Philosophy of On baking technology
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
cuic standard and advanced reporting.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
The AUB Centre for AI in Media Proposal.docx
Review of recent advances in non-invasive hemoglobin estimation
Diabetes mellitus diagnosis method based random forest with bat algorithm
Chapter 3 Spatial Domain Image Processing.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
NewMind AI Weekly Chronicles - August'25 Week I
MYSQL Presentation for SQL database connectivity
NewMind AI Monthly Chronicles - July 2025
The Rise and Fall of 3GPP – Time for a Sabbatical?
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
20250228 LYD VKU AI Blended-Learning.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Approach and Philosophy of On baking technology
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Empathic Computing: Creating Shared Understanding
Digital-Transformation-Roadmap-for-Companies.pptx
cuic standard and advanced reporting.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows

K map

  • 2. SUBMITTED BY DEEPAK R - 2SD08EE022 KUMAR PATIL - 2SD08EE030 NAGAPPA D V 2SD08EE033 -
  • 3. Problem statement Development of an application software called K-Map software tool which gives the simplified Boolean equation.
  • 4. NEED TO SIMPLIFY EQUATIONS..?
  • 5. prerequisite • BOOLEAN ALGEBRA- Boolean algebra is formal way to express digital logic equations and to represent a logical design in an alpha-numeric way. It is a language of 0’s and 1’s. • A Boolean function is an expression formed with binary variables which makes use of logic gates based on Boolean algebra e.g.F1=xyz’ where F1=1 only if x=1,y=1,z=0
  • 6. Sum-of-products form (SOP) • – first the product(AND) terms are formed then these are summed(OR) – e.g.: ABC + DEF + GHI Product-of-sum form (POS) • – first the sum (OR) terms are formed then are taken (AND) – e.g.: (A+B+C) (D+E+F) (G+H+I) the products It is possible to convert between these two forms using Boolean algebra (DeMorgan’s Laws) •
  • 7. Minimization by Karnaugh Map The Karnaugh map is a theoretical method for the simplification of any Boolean expressions regardless of its number of variables. It provides simple straightforward approach for minimizing Boolean functions. It either regarded as pictorial form of truth table or as an extension of the Venn diagram.
  • 8. Example: Let’s do this in relation to the 3input example S A B Y 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 1 result: Y = S.B + S’.A
  • 9. Architectural design main ( ) read input validate input derive truth table generate k-map solve kmap solve for 2 var solve for 3 var display solve for 4 var 2var quad octet 1 3var pair quad octet 4var pair quad pair
  • 11. Algorithm int read input () // Input : No of variable n , Input // Output : Formation Of Input Truth Table Array { step1: read the no of variables if it is 2, 3 or 4 go to step 2 step2: read the type of input case 1: if minterm with literals check validity of input if valid form the input array case 2: if maxterm with literals check validity of input if valid form the input array
  • 12. case 3: if minterm with truth table values check validity of input if valid form the input array case 4: if maxterm with truth table values check validity of input if valid form the input array } // end of Read Input
  • 13. Algorithm int formKmap (int n) // input : no of variable (n) , Integer array input[2^n ] //output : two dimensional matrix say //Forms the k map depending on the type of input { k=0; for (i=0;i < no. of rows ;i++) for (j=0;j < no. of columns; j++) { k mat [ i ][ j ] = min[k]; k++; } if n is 3 Swap the columns 3 & 4 in the k mat if n is 4 Swap the columns 3 & 4 and rows 3 and 4 in the k mat } // end of form K-map
  • 14. SolveKmap (k mat [ ][ ],n ) // input : no of variable (n) , k mat // calls other functions depending on value of n { if n is 2 solve2var (k mat [ ][ ]) if n is 3 solve3var (k mat [ ][ ]) if n is 4 solve4var (k mat [ ][ ]) } // end
  • 15. Algorithm solve2var(k mat [ ][ ] ) // input : no of variable (n) , k_mat // solves the given k_mat with n=2 and calls display function { check for all ones in k mat if True push 1 to the linked list else if the group formed is in pairs then send the group value to the list else if } only one variable in the matrix is one then send its group value to the list. Display();
  • 16. Algorithm solve3var (k_mat [ ][ ]) // input : no of variable (n) , k mat // solves the given k mat with n=2 and calls display function { check for all k mat [ i ] [ j ] =1 if true o list.Push_front (1); set all flag [ i ] [ j ] =1; else Quad; Pair; Single; } Display ( );
  • 17. Algorithm solve4var (k_mat [ ][ ]) // input : no of variable (n) , k_mat // solves the given k_mat with n=2 and calls display function { check for all k mat [ i ] [ j ] =1 if true o_list.Push_front (1); set all flag [ i ] [ j ] as 1; else Octet; Quad; Pair ; Single ; Display ( ); } // end
  • 18. Algorithm Octet (k_mat , flag) // input : no of variable (n) , k_mat // find the respective quad and push its group value to the O_list { for (i=0;i < 4 ;i++) for (j=0;j < 4; j++) { if ( k_mat [ i ][ j ] = 1 && flag [ i ] [ j ] =0) { search for a octet if exist //push the respective group value outeq ( i, j); set all positions in the flag matrix as 1 } } } // end of octet
  • 19. Algorithm Quad (k_mat , flag) // input : K_mat , flag // find the respective quad and push its group value to the O_list { for (i=0;i < 4 ;i++) for (j=0;j < 4; j++) { if ( k_mat [ i ][ j ] = 1 && flag [ i ] [ j ] =0) { search for a Quad if exist push the respective group value set all positions in the flag matrix as 1 } } } // end of Quad
  • 20. Algorithm Pair (k_mat , flag) // input : K_mat , flag // find the respective Pair and push its group value to the O_list { for (i=0;i < 4;i++) for (j=0;j < 4; j++) { if ( k_mat[ i][ j ] = 1 && flag [ i ] [ j ] =0) { find a adjacent one push the respective group value set all positions in the flag matrix as 1 } } } // end of Pair
  • 21. application Tool can be a part of sequential circuit designing software. Aids to practical method of designing sequential circuits with multi input. It can be included in systems which involve in process of simplifying expressions frequently. The tool can be incorporated in educational fields as in by the text book designers, staff and students themselves to verify their answers.
  • 22. conclusion  K-Tool can be used for reducing Boolean expressions.  User specified Boolean expression is converted to is simpler form through various stages.  User is able to get output for 2,3,4 variable CONCLUSION equations  Input is processed in various different forms of input to achieve simplicity  Its a tool for deductive reasoning in designing logic circuits and machines digital
  • 23. FUTURE SCOPE  Tool can be extended to handle more number of variables.  Tool can be modified to handle DON’T CARE conditions.  Can be enhanced to obtain possible alternate solutions.  The gate implementation of the input and output equations can be shown for comparison.
  • 24. REFERENCES Books: Digital Fundamentals -Thomas L. Floyd Digital Principles and Applications -Albert Paul Malvino and Donald P. Leach Digital Logic and Computer Design -M. Morris Mano Website: http://en.wikipedia.org/wiki/Karnaugh_map