K map

1,937 views
1,699 views

Published on

Software to convert a given input equation to its simplified form using K-map using C++

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,937
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
141
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

K map

  1. 1. K-MAP TOOL SOLVING EQUATIONS MADE EASY…..
  2. 2. SUBMITTED BY DEEPAK R - 2SD08EE022 KUMAR PATIL - 2SD08EE030 NAGAPPA D V 2SD08EE033 -
  3. 3. Problem statement Development of an application software called K-Map software tool which gives the simplified Boolean equation.
  4. 4. NEED TO SIMPLIFY EQUATIONS..?
  5. 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. 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. 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. 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. 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
  10. 10. 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
  11. 11. 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
  12. 12. 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
  13. 13. 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
  14. 14. 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();
  15. 15. 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 ( );
  16. 16. 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
  17. 17. 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
  18. 18. 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
  19. 19. 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
  20. 20. 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.
  21. 21. 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
  22. 22. 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.
  23. 23. 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
  24. 24. Any queries…??
  25. 25. Thank you..

×