ScholarQuill logoScholarQuillUniversity Notes
My Semester
Explore Notes
Past Papers12 New
Video CoursesNew
Search
Settings
Study Tools
GPA/CGPA Calculator
Schedule & To-Do
Student Portal
Contact
Contact
ScholarQuill logo
My Semester
Explore Notes
Past Papers12 New
Video CoursesNew
Search
Settings
GPA/CGPA Calculator
Schedule & To-Do
Student Portal
Contact
ScholarQuill logoScholarQuillUniversity Notes
Study PortalCSI-306Combinational Logic De…
Ctrl + K
Login
Explore
Search
Semester
Papers
CGPA
    CSI-306

    Digital Logic Design

    Progress0 / 47 done
    Topics47
    1Overview of Binary Numbers2Boolean Algebra3Switching Algebra4Logic Gates5Karnaugh Map6Quin-McCluskey Methods7Simplification of Boolean Functions
    8Two-Level NAND/NOR Implementation9Tabular Minimization
    10Adders11Subtracters12Code Converters13Parity Checkers14Multilevel NAND/NOR/XOR Circuits15MSI Components16Design and Use of Encoders17Design and Use of Decoders18Design and Use of Multiplexers19BCD Adders20Comparators21Latches and Flip-Flops22Synchronous Sequential Circuit Design and Analysis23Registers24Synchronous and Asynchronous Counters25Memories26Control Logic Design27Wired Logic and Characteristics of Logic Gate Families28ROMs29PLDs30PLAs31State Reduction and Good State Variable Assignments32Algorithmic State Machine (ASM) Charts33Asynchronous Circuits34Memory Systems35Functional Organization36Multiprocessor and Alternative Architectures37Introduction to SIMD38Introduction to MIMD39Introduction to VLIW40Introduction to EPIC41Systolic Architecture42Interconnection Networks43Shared Memory Systems44Cache Coherence45Memory Models and Memory Consistency46Performance Enhancements47Contemporary Architectures
    8 min read
    Topic 10 of 47
    Topic Study Note Illustration
    10

    Combinational Logic Design: Adders

    Adders are fundamental components in digital circuits, used to perform binary addition. In digital logic design, combinational circuits are those whose outputs depend only on the current...

    Combinational Logic Design: Adders

    Adders are fundamental components in digital circuits, used to perform binary addition. In digital logic design, combinational circuits are those whose outputs depend only on the current inputs, with no memory or feedback loops. Adders are one of the most common combinational circuits used for arithmetic operations, especially in processors, calculators, and other digital systems.

    1. Basic Types of Adders

    There are primarily two basic types of adders in digital design:

    • Half Adder (HA)
    • Full Adder (FA)

    These adders can be extended to form more complex adders like Ripple Carry Adder (RCA), Carry Lookahead Adder (CLA), and Binary-Decimal Adders.

    2. Half Adder (HA)

    A half adder is the simplest adder circuit, capable of adding two single-bit binary numbers. It takes two binary inputs and provides two outputs: the sum and the carry.

    Truth Table for Half Adder:

    A (Input) B (Input) Sum (S) Carry (C)
    0 0 0 0
    0 1 1 0
    1 0 1 0
    1 1 0 1
    • Sum (S): The sum output is the result of the binary addition of the two inputs. It can be calculated using the XOR operation.
    • Carry (C): The carry output indicates whether there is an overflow (carry out) from the addition of the two bits. It can be calculated using the AND operation.

    Boolean Expressions:

    • Sum (S) = A ⊕ B (XOR operation)
    • Carry (C) = A ⋅ B (AND operation)

    Circuit Diagram for Half Adder:

      A ----|       |--- Sum (S)
            |  XOR  |
      B ----|       |
                    |
                    | 
            |--- Carry (C)
            |  AND  |
      A ----|       |
      B ----|       |
    

    The half adder uses one XOR gate and one AND gate.

    3. Full Adder (FA)

    A full adder is a more complex adder that can add three bits: two significant bits and a carry bit from the previous lower significant addition (i.e., a carry-in). The full adder also produces a sum and a carry-out, which can be passed to the next bit of a multi-bit adder.

    Truth Table for Full Adder:

    A (Input) B (Input) Cin (Carry-In) Sum (S) Carry-Out (Cout)
    0 0 0 0 0
    0 0 1 1 0
    0 1 0 1 0
    0 1 1 0 1
    1 0 0 1 0
    1 0 1 0 1
    1 1 0 0 1
    1 1 1 1 1

    Boolean Expressions:

    • Sum (S) = A ⊕ B ⊕ Cin (XOR operation)
    • Carry-Out (Cout) = (A ⋅ B) + (Cin ⋅ (A ⊕ B)) (OR operation and AND operations)

    Circuit Diagram for Full Adder:

         A ----|       |--- XOR ---- Sum (S)
               |  XOR  |
         B ----|       |
                      |
                Cin --|     
                      |      
             |--- AND |--- OR ---- Carry-Out (Cout)
             |  AND  |   
         A ----|       |
         B ----|       
    

    A full adder uses two XOR gates, two AND gates, and one OR gate to compute the sum and carry-out.

    4. Ripple Carry Adder (RCA)

    A Ripple Carry Adder (RCA) is a multi-bit adder formed by connecting several full adders in a chain. The carry-out of each full adder serves as the carry-in for the next higher-order adder.

    Operation of Ripple Carry Adder:

    • Each full adder computes the sum and carry for a single bit of the binary numbers being added.
    • The carry-out from one full adder is passed to the carry-in of the next full adder.
    • The ripple refers to the propagation delay as the carry-out ripples through each adder in the chain, potentially causing slower performance for large bit-width operations.

    Example of 4-bit Ripple Carry Adder:

    For adding two 4-bit numbers, A=A3A2A1A0A = A_3A_2A_1A_0A=A3​A2​A1​A0​ and B=B3B2B1B0B = B_3B_2B_1B_0B=B3​B2​B1​B0​, the RCA would consist of four full adders connected as:

    • Full Adder 1: Adds A0A_0A0​, B0B_0B0​, and C0C_0C0​ (Carry-in) to produce S0S_0S0​ and C1C_1C1​ (Carry-out).
    • Full Adder 2: Adds A1A_1A1​, B1B_1B1​, and C1C_1C1​ to produce S1S_1S1​ and C2C_2C2​.
    • Full Adder 3: Adds A2A_2A2​, B2B_2B2​, and C2C_2C2​ to produce S2S_2S2​ and C3C_3C3​.
    • Full Adder 4: Adds A3A_3A3​, B3B_3B3​, and C3C_3C3​ to produce S3S_3S3​ and C4C_4C4​.

    The sum is S3S2S1S0S_3S_2S_1S_0S3​S2​S1​S0​ and the final carry-out is C4C_4C4​.

    Ripple Carry Adder Example:

    Let’s add two 4-bit binary numbers:

       A = 1011 (11 in decimal)
       B = 1101 (13 in decimal)
    

    Step-by-step, the full adders compute:

    1. Add bit 0: 1+1+0=101 + 1 + 0 = 101+1+0=10 → Sum = 0, Carry = 1
    2. Add bit 1: 1+0+1=101 + 0 + 1 = 101+0+1=10 → Sum = 0, Carry = 1
    3. Add bit 2: 0+1+1=100 + 1 + 1 = 100+1+1=10 → Sum = 0, Carry = 1
    4. Add bit 3: 1+1+1=111 + 1 + 1 = 111+1+1=11 → Sum = 1, Carry = 1

    Result: Sum = 10000 (which is 24 in decimal), Carry-out = 1.

    5. Carry Lookahead Adder (CLA)

    While the ripple carry adder is simple, it suffers from a performance bottleneck because the carry signal must propagate through each adder sequentially. This delay increases with the number of bits being added.

    A Carry Lookahead Adder (CLA) addresses this by improving the calculation of carries. It generates carry signals for multiple bits at once, reducing the propagation delay and improving the speed of the adder.

    The CLA uses the Generate (G) and Propagate (P) signals:

    • Generate (G): A carry is generated for that bit, regardless of the input carry. Gi=Ai⋅BiG_i = A_i \cdot B_iGi​=Ai​⋅Bi​
    • Propagate (P): The carry propagates through the bit if there is a carry-in. Pi=Ai+BiP_i = A_i + B_iPi​=Ai​+Bi​

    These signals allow the carry signals to be generated in parallel for all bits, improving the performance of multi-bit addition.


    6. Applications of Adders in Digital Systems

    Adders are used extensively in various applications, including:

    • Arithmetic Logic Units (ALU): Adders are a critical part of ALUs, performing binary addition for arithmetic and logical operations.
    • Counters: Used in counting operations, adders help increment values in counters.
    • Multiplication and Division: Adders are key in implementing multiplication and division algorithms, particularly in binary multiplication (shift-and-add method).
    • Memory Address Calculation: Adders help calculate memory addresses in systems like RAM and caches.

    Conclusion

    Adders are crucial components in digital systems for performing arithmetic operations. The half adder is the simplest form of adder, adding two bits and

    ← Previous topic 9
    Tabular Minimization
    Next topic 11 →
    Combinational Logic Design: Subtracters

    Past Papers

    Open this section to view and download past papers

    Click on Show Past Papers to load available exam papers.

    Reading Progress
    0%
    8mremaining
    1.3kwords
    Intermediatelevel
    On This Page

    No headings found

    Study Toolkit

    Subject Portal

    Digital Logic Design