Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.

Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.

Successfully reported this slideshow.

Like this presentation? Why not share!

4,283 views

Published on

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

Published in:
Technology

No Downloads

Total views

4,283

On SlideShare

0

From Embeds

0

Number of Embeds

4

Shares

0

Downloads

229

Comments

0

Likes

8

No embeds

No notes for slide

- 1. K-MAP TOOL SOLVING EQUATIONS MADE EASY…..
- 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
- 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Any queries…??
- 25. Thank you..

No public clipboards found for this slide

Be the first to comment