ScholarQuill logoScholarQuillUniversity Notes
  • Notes
  • Past Papers
  • Blogs
  • Todo
Login
ScholarQuill logoScholarQuillUniversity Notes
Login
NotesPast PapersBlogsTodo
More
SubjectsDiscussionCGPA CalculatorGPA CalculatorStudent PortalCourse Outline
About
About usPrivacy PolicyReportContact
Notes
Past Papers
Blogs
Todo
Analytics
    Current Subject
    🧩
    Digital Logic Design
    CC-110
    Progress0 / 63 topics
    Topics
    1. Introduction to Digital Systems2. Number Systems3. Introduction to Boolean Algebra4. Basic theorems and properties of Boolean Algebra5. Boolean Functions6. Logic Gates7. NAND and NOR Implementation8. Representation of Function in Sum of Minterms or Product of Maxterms9. Simplification of Boolean function using Karnaugh Map10. Don't care Conditions11. The Tabulation Method12. Introduction to Combinational Logic13. Design of Adders14. Design of Subtractors15. Code Convertors16. Analysis Procedure of Combinational Circuits17. Binary Parallel Adders18. Decimal Adders19. Magnitude Comparator20. Decoders and its applications21. Multiplexers22. Demultiplexers23. Encoders24. ROM25. Programmable Logic Array (PLA)26. Introduction to Sequential Circuits27. Basic Flip Flop28. Clocked RS Flip Flop29. Clocked D Flip Flop30. Clocked JK Flip Flop31. Clocked T Flip Flop32. Analysis of Clocked Sequential Circuits33. State Reduction and Assignment34. Flip Flop Excitation tables35. Design Procedure36. Design of Counters37. Design with State Equations38. Introduction to Registers39. Shift Registers40. Ripple Counters41. Synchronous Counters42. Timing Sequences43. Memory Unit44. Random Access Memory45. Introduction to Programmable Logic Devices (CPLD, FPGA)46. Lab Assignments using tools such as Verilog HDL/VHDL, MultiSim47. Familiarization with Digital Electronic Trainer48. Logic gates operations49. Half Adder Operation50. Full Adder Operation51. Half Subtractor Operation52. Full Subtractor Operation53. 7-Segment Display Operation54. Decoder Operation55. BCD To 7-Segment Display56. Multiplexer Operation57. Using Multiplexer and Demultiplexer/Decoder58. Multiplexing 7-Segment Displays59. Comparator Operations60. D Latch and Flip-Flop Operation61. Latching BCD Data for Displaying On 7-Segment Display62. JK Flip-Flop Operation63. Random Access Memories
    CC-110›Simplification of Boolean function using Karnaugh Map
    Digital Logic DesignTopic 9 of 63

    Simplification of Boolean function using Karnaugh Map

    7 minread
    1,164words
    Intermediatelevel

    Simplification of Boolean Functions Using Karnaugh Map (K-map)

    The Karnaugh Map (K-map) is a graphical method used for simplifying Boolean functions. It is an efficient tool to minimize expressions without using complex algebraic manipulations. The K-map helps to visually group terms, which can then be simplified into a more compact Boolean expression. This method is particularly useful for functions with two to six variables.

    Steps to Simplify Boolean Functions Using K-map

    1. Construct the K-map:

      • The first step is to construct a Karnaugh map for the given Boolean function. A K-map is a grid where each cell corresponds to a possible minterm of the Boolean function.
      • The number of cells in the K-map depends on the number of variables. A K-map with nnn variables will have 2n2^n2n cells.
      • The rows and columns are labeled based on the binary representation of the minterms. The labels must follow Gray Code, which ensures that only one variable changes between adjacent cells.
    2. Fill the K-map:

      • For each minterm in the Boolean expression, place a 1 in the corresponding cell.
      • If the Boolean function is given in Sum of Minterms (SOM), you place a 1 in the cells corresponding to the minterms.
      • If the Boolean function is given in Product of Maxterms (POM), place 0 in the corresponding cells (because maxterms represent the "false" combinations).
    3. Group the 1s:

      • Next, group adjacent 1s in the K-map. The group sizes must be powers of 2 (1, 2, 4, 8, etc.).
      • Each group of 1s represents a simplified product term in the Boolean expression.
      • Groups should be as large as possible. Larger groups lead to simpler expressions.
    4. Write the simplified expression:

      • For each group of 1s, write down the corresponding Boolean product term.
      • If a variable appears the same way in all cells of the group (either true or complemented), that variable is part of the simplified term.
      • Variables that change between cells in the group are eliminated from the term.
    5. Combine the terms:

      • After writing the simplified terms for all the groups, combine them using the OR operation to obtain the final simplified Boolean expression.

    Example: Simplifying a Boolean Function Using K-map

    Let's simplify a Boolean function using the K-map.

    Given Function:

    F(A,B,C)=A′B′C+A′BC′+AB′C′+ABCF(A, B, C) = A'B'C + A'BC' + AB'C' + ABCF(A,B,C)=A′B′C+A′BC′+AB′C′+ABC

    This function has three variables: AAA, BBB, and CCC.

    Step 1: Construct the K-map

    For three variables, we will use a K-map with 8 cells (since 23=82^3 = 823=8).

    The K-map will look like this:

    AB \ C 0 1
    00 M0 M1
    01 M2 M3
    11 M4 M5
    10 M6 M7

    Where the minterms correspond to the binary values of the variables A,B,CA, B, CA,B,C. For example, M0M0M0 corresponds to A′B′C′A'B'C'A′B′C′, M1M1M1 corresponds to A′B′CA'B'CA′B′C, etc.

    Step 2: Fill the K-map

    Now, we fill in the K-map with the minterms of the function.

    The minterms for the given function are:

    • A′B′CA'B'CA′B′C corresponds to minterm M1M1M1.
    • A′BC′A'BC'A′BC′ corresponds to minterm M2M2M2.
    • AB′C′AB'C'AB′C′ corresponds to minterm M6M6M6.
    • ABCABCABC corresponds to minterm M5M5M5.

    So, the K-map looks like this:

    AB \ C 0 1
    00 0 1
    01 1 0
    11 1 1
    10 1 0

    Step 3: Group the 1s

    Now, we group the adjacent 1s in the K-map. Remember that the groups must be powers of 2 (1, 2, 4, 8, etc.), and we aim to create the largest possible groups.

    • We can group the 1s in minterms M1M1M1 and M3M3M3 (adjacent horizontally).
    • We can also group the 1s in minterms M5M5M5 and M7M7M7 (adjacent horizontally).
    • Lastly, we have a group of M2M2M2 and M6M6M6, which are adjacent vertically.

    Step 4: Write the simplified expression

    Now, for each group, we write the corresponding simplified Boolean term:

    • The first group of 1s (M1 and M3) corresponds to A′BA'BA′B. In this group, AAA is always 0, and CCC changes between 0 and 1, so it is eliminated.
    • The second group of 1s (M5 and M7) corresponds to ABABAB. In this group, AAA and BBB are always 1, and CCC changes.
    • The third group of 1s (M2 and M6) corresponds to B′C′B'C'B′C′. In this group, BBB and CCC are always 0, and AAA changes.

    Thus, the simplified Boolean expression is:

    F(A,B,C)=A′B∨AB∨B′C′F(A, B, C) = A'B \lor AB \lor B'C'F(A,B,C)=A′B∨AB∨B′C′

    Step 5: Final Simplified Expression

    The simplified Boolean function after applying the K-map is:

    F(A,B,C)=A′B∨AB∨B′C′F(A, B, C) = A'B \lor AB \lor B'C'F(A,B,C)=A′B∨AB∨B′C′

    Key Points to Remember:

    • Gray Code: Label the rows and columns of the K-map using Gray Code to ensure only one variable changes at a time between adjacent cells.
    • Grouping: Always group the 1s in the largest possible groups. A larger group leads to a simpler Boolean expression.
    • Minimizing: Each group represents a product term, and variables that change within a group are eliminated.
    • Simplicity: The K-map provides a visual and intuitive way to simplify Boolean functions, especially for up to 4 variables.

    K-maps are a powerful tool in digital logic design and are widely used to minimize expressions for efficient circuit implementation.

    Previous topic 8
    Representation of Function in Sum of Minterms or Product of Maxterms
    Next topic 10
    Don't care Conditions

    Past Papers

    Open this section to load past papers

    Click on Show Past Papers to see past papers.
    On This Page
      Reading Stats
      Est. reading time7 min
      Word count1,164
      Code examples0
      DifficultyIntermediate