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
    CSI-306
    Progress0 / 47 topics
    Topics
    1. Overview of Binary Numbers2. Boolean Algebra3. Switching Algebra4. Logic Gates5. Karnaugh Map6. Quin-McCluskey Methods7. Simplification of Boolean Functions8. Combinational Design: Two-Level NAND/NOR Implementation9. Tabular Minimization10. Combinational Logic Design: Adders11. Combinational Logic Design: Subtracters12. Combinational Logic Design: Code Converters13. Combinational Logic Design: Parity Checkers14. Multilevel NAND/NOR/XOR Circuits15. MSI Components16. Design and Use of Encoders17. Design and Use of Decoders18. Design and Use of Multiplexers19. BCD Adders20. Comparators21. Latches and Flip-Flops22. Synchronous Sequential Circuit Design and Analysis23. Registers24. Synchronous and Asynchronous Counters25. Memories26. Control Logic Design27. Wired Logic and Characteristics of Logic Gate Families28. ROMs29. PLDs30. PLAs31. State Reduction and Good State Variable Assignments32. Algorithmic State Machine (ASM) Charts33. Asynchronous Circuits34. Memory Systems35. Functional Organization36. Multiprocessor and Alternative Architectures37. Introduction to SIMD38. Introduction to MIMD39. Introduction to VLIW40. Introduction to EPIC41. Systolic Architecture42. Interconnection Networks43. Shared Memory Systems44. Cache Coherence45. Memory Models and Memory Consistency46. Performance Enhancements47. Contemporary Architectures
    CSI-306›Combinational Design: Two-Level NAND/NOR Implementation
    Digital Logic DesignTopic 8 of 47

    Combinational Design: Two-Level NAND/NOR Implementation

    10 minread
    1,675words
    Intermediatelevel

    Combinational Design: Two-Level NAND/NOR Implementation

    In digital design, combinational circuits are those whose outputs depend solely on the current inputs, without any memory or feedback loops. These circuits can be implemented using various types of logic gates, and one of the most efficient implementations for digital systems is using two-level NAND or NOR gates.

    Two-level implementations refer to circuits where the Boolean expression is realized using two levels of gates. These implementations are considered optimal for simplifying logic functions, as NAND and NOR gates are functionally complete, meaning any Boolean function can be implemented using just NAND or just NOR gates.

    This concept involves simplifying Boolean functions using NAND or NOR gates to form minimal expressions with fewer gates, optimizing the circuit in terms of gate count, delay, and complexity.


    1. Two-Level NAND Implementation

    The two-level NAND implementation is a method of designing combinational circuits using only NAND gates. It is achieved by expressing a Boolean function in Sum of Products (SOP) form and then implementing the function using only NAND gates.

    Key Steps for Two-Level NAND Implementation:

    1. Express the Boolean Function in Sum-of-Products (SOP):

      • In SOP form, the Boolean function is written as a sum (OR) of products (ANDs). Each product term is a conjunction of variables or their complements, and these terms are summed (ORed) together.
    2. Use De Morgan’s Laws to Convert to NAND Form:

      • De Morgan’s Law states that:
        • A⋅B=A⋅B‾‾A \cdot B = \overline{\overline{A \cdot B}}A⋅B=A⋅B (AND as a NAND)
        • A+B=A+B‾‾A + B = \overline{\overline{A + B}}A+B=A+B​​ (OR as a NOR)
      • Using De Morgan’s laws, any AND operation can be converted into a NAND gate, and any OR operation can be converted into a NOR gate.
    3. Implement the SOP Expression with NAND Gates:

      • Convert the SOP expression into a NAND implementation by applying the transformations. For example:
        • Each AND term in the SOP expression becomes a NAND gate.
        • The OR operation between these terms is implemented by taking the output of the NAND gates and applying another NAND gate (since NAND is the negation of AND).

    Example:

    Let's simplify and implement the Boolean function F(A,B,C)=AB+C‾F(A, B, C) = AB + \overline{C}F(A,B,C)=AB+C using two-level NAND gates.

    1. Express the function in SOP form:

      F(A,B,C)=AB+C‾F(A, B, C) = AB + \overline{C}F(A,B,C)=AB+C
    2. Convert each part to NAND form:

      • For ABABAB, apply De Morgan's Law:

        AB=A⋅B‾‾(NAND implementation)AB = \overline{\overline{A \cdot B}} \quad \text{(NAND implementation)}AB=A⋅B(NAND implementation)

        So, the AND operation ABABAB becomes a NAND gate with inputs AAA and BBB.

      • For C‾\overline{C}C, we need a NOT operation, which can be implemented using a NAND gate:

        C‾=C⋅C‾(using a NAND gate to invert C)\overline{C} = \overline{C \cdot C} \quad \text{(using a NAND gate to invert C)}C=C⋅C(using a NAND gate to invert C)
    3. Implement the OR operation:

      • The OR operation AB+C‾AB + \overline{C}AB+C can now be written as a NAND operation: AB+C‾=AB‾⋅C‾‾‾AB + \overline{C} = \overline{\overline{AB} \cdot \overline{\overline{C}}}AB+C=AB⋅C This can be implemented using a final NAND gate with inputs from the outputs of the two previous NAND gates.

    NAND Gate Implementation:

    • First NAND gate for ABABAB: A⋅B‾\overline{A \cdot B}A⋅B
    • Second NAND gate for C‾\overline{C}C: C⋅C‾\overline{C \cdot C}C⋅C
    • Final NAND gate for the OR operation: (A⋅B‾)⋅(C⋅C‾)‾\overline{(\overline{A \cdot B}) \cdot (\overline{C \cdot C})}(A⋅B)⋅(C⋅C)​

    Thus, the entire function F(A,B,C)=AB+C‾F(A, B, C) = AB + \overline{C}F(A,B,C)=AB+C can be implemented using just three NAND gates.


    2. Two-Level NOR Implementation

    The two-level NOR implementation is the same concept but using only NOR gates. As with NAND gates, NOR gates are also functionally complete, meaning any Boolean function can be implemented with just NOR gates.

    Key Steps for Two-Level NOR Implementation:

    1. Express the Boolean Function in Product-of-Sums (POS) Form:

      • In POS form, the Boolean function is written as a product (AND) of sums (ORs). Each sum term is a disjunction of variables or their complements, and these terms are then multiplied (ANDed) together.
    2. Use De Morgan’s Laws to Convert to NOR Form:

      • De Morgan’s Law states that:
        • A+B=A+B‾‾A + B = \overline{\overline{A + B}}A+B=A+B​​ (OR as a NOR)
        • A⋅B=A⋅B‾‾A \cdot B = \overline{\overline{A \cdot B}}A⋅B=A⋅B (AND as a NAND)
      • Using these transformations, any OR operation can be converted into a NOR gate, and any AND operation can be converted into a NAND gate.
    3. Implement the POS Expression with NOR Gates:

      • Convert the POS expression into a NOR implementation by applying the transformations. Each OR term in the POS expression becomes a NOR gate, and the AND operation between these terms is implemented by taking the output of the NOR gates and applying another NOR gate.

    Example:

    Let's simplify and implement the Boolean function F(A,B,C)=(A+B)(C‾)F(A, B, C) = (A + B)(\overline{C})F(A,B,C)=(A+B)(C) using two-level NOR gates.

    1. Express the function in POS form:

      F(A,B,C)=(A+B)(C‾)F(A, B, C) = (A + B)(\overline{C})F(A,B,C)=(A+B)(C)
    2. Convert each part to NOR form:

      • For A+BA + BA+B, apply De Morgan’s Law:

        A+B=A+B‾‾(NOR implementation)A + B = \overline{\overline{A + B}} \quad \text{(NOR implementation)}A+B=A+B​​(NOR implementation)

        So, the OR operation A+BA + BA+B becomes a NOR gate.

      • For C‾\overline{C}C, we need a NOT operation, which can be implemented using a NOR gate:

        C‾=C+C‾(using a NOR gate to invert C)\overline{C} = \overline{C + C} \quad \text{(using a NOR gate to invert C)}C=C+C​(using a NOR gate to invert C)
    3. Implement the AND operation:

      • The AND operation (A+B)(C‾)(A + B)(\overline{C})(A+B)(C) can now be written as: (A+B)(C‾)=A+B‾+C‾‾(A + B)(\overline{C}) = \overline{\overline{A + B} + \overline{C}}(A+B)(C)=A+B​+C​ This can be implemented using a final NOR gate with inputs from the two previous NOR gates.

    NOR Gate Implementation:

    • First NOR gate for A+BA + BA+B: A+B‾\overline{A + B}A+B​
    • Second NOR gate for C‾\overline{C}C: C+C‾\overline{C + C}C+C​
    • Final NOR gate for the AND operation: A+B‾+C‾‾\overline{\overline{A + B} + \overline{C}}A+B​+C​

    Thus, the entire function F(A,B,C)=(A+B)(C‾)F(A, B, C) = (A + B)(\overline{C})F(A,B,C)=(A+B)(C) can be implemented using just three NOR gates.


    3. Advantages of Using Two-Level NAND/NOR Implementations

    • Gate Count Reduction: Using two-level NAND or NOR implementations can significantly reduce the total number of gates in a circuit, especially for larger Boolean functions.
    • Speed: NAND and NOR gates are often faster than combinations of AND, OR, and NOT gates because of their simpler structure.
    • Simplified Design: Since NAND and NOR gates are functionally complete, any Boolean function can be implemented using just one type of gate, simplifying the design process.

    4. Applications

    • Digital Circuit Design: Two-level NAND/NOR implementation is widely used in digital systems for efficient combinational logic circuits.
    • Memory and Processor Design: Many memory units and processing components rely on NAND and NOR gates due to their efficient implementation and ease of scaling.

    Conclusion

    The two-level NAND/NOR implementation is a powerful method for simplifying combinational circuit design. By utilizing NAND or NOR gates, which are functionally complete, we can implement any Boolean function with minimal complexity. Whether using Sum-of-Products (SOP) for NAND or Product-of-Sums (POS) for NOR, these techniques help optimize digital circuits by minimizing the number of gates and improving performance.

    Previous topic 7
    Simplification of Boolean Functions
    Next topic 9
    Tabular Minimization

    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 time10 min
      Word count1,675
      Code examples0
      DifficultyIntermediate