knowt logo

CLD-Lec6-Adders

Page 1

  • KOREA UNIVERSITY JF Core System

  • Components:

    • Agent & Processor

    • Memory Controller

    • Graphics including Display

    • DML and miscellaneous I/O

  • Course Information:

    • COSE221 Logic Design Lecture 6

    • Instructor: Dr. Ngoc-Son Pham, Computer Science & Engineering, Korea University

Page 2

Introduction

  • Topics Covered:

    • Basic skills in designing combinational and sequential logic using schematic and Verilog-HDL

    • Upcoming Focus Areas:

      • Arithmetic circuits: Adders and Subtractors

      • Counters

      • Shift Registers

      • Representation of floating-point numbers in C: float and double

      • Memory and Logic Arrays

Page 3

Arithmetic Circuits

  • Functions of Computers: Perform arithmetic operations

    • Addition, subtraction, comparison, shift, multiplication, division

  • Core focus:

    • Study of hardware implementations for these operations

  • Emphasis on Addition:

    • Most common operation in computers

Page 4

1-bit Half Adder

  • Implementation of a 1-bit adder:

    • Components:

      • 2 inputs: A and B

      • 2 outputs: S (Sum) and Cout (Carry)

  • Truth Table:

    A

    B

    S (Sum)

    C (Carry)

    0

    0

    0

    0

    0

    1

    1

    0

    1

    0

    1

    0

    1

    1

    0

    1

  • Logical Operations:

    • S = A XOR B

    • Cout = A AND B

Page 5

1-bit Full Adder

  • Enhancement of Half Adder:

    • Full adder has an additional input: Cin

    • Components:

      • 3 inputs: A, B, Cin

      • 2 outputs: S, Cout

  • Truth Table:

    Cin

    A

    B

    S (Sum)

    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

  • Logical Operations:

    • S = A XOR B XOR Cin

    • Cout = A AND B + Cin(A XOR B)

Page 6

1-bit Full Adder Detailed

  • Diagram Representation:

    • Inputs: A, B, Cin

    • Outputs: Sum (S), Carry out (Cout)

  • Relations:

    • S = A XOR B XOR Cin

    • Cout = AB + (Cin(A XOR B))

Page 7

1-bit Full Adder Schematic

  • Block diagram implementation:

    • Involves two half adders and an OR gate

  • Connectivity:

    • Cout is derived from the Carry of Half Adders' outputs

Page 8

Multi-bit Adder

  • Concept of extending 1-bit adders to N-bit adders

  • Definitions:

    • N-bit adder sums two N-bit inputs along with carry-in (Cin)

  • Types of implementations for Carry Propagate Adders (CPAs):

    • Ripple-carry adders (Slow)

    • Carry-lookahead adders (Fast)

    • Prefix adders (Faster)

Page 9

Ripple-Carry Adder

  • Method of chaining 1-bit adders

    • Carry ripples through the entire chain

  • Example:

    • 32-bit Ripple Carry Adder diagram

Page 10

4-bit Ripple-Carry Adder Full Adder Chain

  • Configuration:

    • Series of full adders designed to sum 4 bits each

    • Carry from previous adder to next

  • Relationships:

    • S0: Sum[0], S1: Sum[1], etc.

    • Cout derived as described earlier

Page 11

Delay of Ripple Carry Adder

  • Critical Path Analysis:

    • 1st Stage critical path = 3 gate delays

  • Considerations:

    • Types of gates: XOR, AND, OR

Page 12

Delay Timing Analysis of Ripple Carry Adder

  • 2nd Stage Critical Path = 2 gate delays

  • Implications for performance:

    • Ripple carry causes delays in large bit-size adders

Page 13

Ripple-Carry Adder Critical Path Delay

  • Critical path for 4-bit adder = 9 gate delays

  • General formula for N-bit adder:

    • 2(N-1)+3 = (2N+1) gate delay

Page 14

Ripple-Carry Adder Disadvantages

  • Discussed performance issues:

    • Slow operation for large N (triples delay)

  • Need for alternative faster designs

Page 15

Carry-Lookahead Adder (CLA)

  • Purpose: Overcome slow propagation in ripple carry adders

  • Mechanism:

    • Divides the adder into functional blocks

    • Generates carry-outs quickly using additional circuitry

Page 16

Carry Calculation in CLA

  • For N-bit block, the carry-out (Cout) is computed based on generating and propagating signals

  • Relationships:

    • Gi = Ai AND Bi

    • Pi = Ai OR Bi

    • Carry Generation: Ci = Gi + Pi Ci-1

Page 17

Carry Generation & Propagation

  • Description of the propagation of carries through different bits

  • Computation of final carry-out from chained generate/propagate signals

Page 18

4-bit CLA Block

  • Understanding the operation of a 4-bit block in CLA

  • Building up carry-out from the generate/propagate calculations

Page 19

CLA Logic Implementation

  • Overview of CLA components:

    • Integrating carry lookahead logic with other operations

Page 20

CLA Implementation Detail

  • Description of a CLA circuit with logic gates

  • Time complexity reduced due to fewer gate delays compared to ripple carry

Page 21

32-bit CLA with 4-bit Blocks

  • Diagrammatic representation of a CLA design

  • Structure exemplifies block-wise addition leading to speed enhancement

Page 22

CLA Delay Analysis

  • Formula for estimating delay in CLA circuits based on various gates' properties

Page 23

Adder Delay Comparisons

  • Comparative delay analysis for ripple-carry vs. CLA

  • Example delays based on assumed gate timing

Page 24

Verilog-HDL Representation

  • Example code defining an adder in Verilog-HDL:

module adder #(parameter N = 8) (input [N-1:0] a, b, input cin, output [N-1:0] s, output cout);
assign {cout, s} = a + b + cin;
endmodule

Page 25

When to Use What?

  • Overview of different types of adders:

    • Ripple-carry adder

    • Carry-lookahead adder

    • Prefix adder

  • Trade-offs:

    • Speed vs. Hardware complexity and cost

Page 26

Backup Slides

  • Additional, detail-oriented slides

Page 27

Implementation of Carry Lookahead Logic

  • Detailed example of CLA

  • Explanation of carry delay calculations based on gate propagation

Page 28

Prefix Adder

  • Mechanism of calculating generate and propagate signals

  • Descriptive walkthrough of how the prefix structure operates

Page 29

Prefix Adder Continuing Theory

  • Further detailing of carry calculations for prefix adder

Page 30

Prefix Adder Signal Computation

  • Generation and propagation signals for addition

Page 31

4-bit Prefix Adder

  • Design example showcasing add operation using prefix logic

Page 32

16-bit Prefix Adder Structure

  • Breakdown of prefix adder with detailed connections and relationships between signals

Page 33

Prefix Adder Delay Analysis

  • Final calculations for prefix adder delay based on architectural layout and gate delays

AF

CLD-Lec6-Adders

Page 1

  • KOREA UNIVERSITY JF Core System

  • Components:

    • Agent & Processor

    • Memory Controller

    • Graphics including Display

    • DML and miscellaneous I/O

  • Course Information:

    • COSE221 Logic Design Lecture 6

    • Instructor: Dr. Ngoc-Son Pham, Computer Science & Engineering, Korea University

Page 2

Introduction

  • Topics Covered:

    • Basic skills in designing combinational and sequential logic using schematic and Verilog-HDL

    • Upcoming Focus Areas:

      • Arithmetic circuits: Adders and Subtractors

      • Counters

      • Shift Registers

      • Representation of floating-point numbers in C: float and double

      • Memory and Logic Arrays

Page 3

Arithmetic Circuits

  • Functions of Computers: Perform arithmetic operations

    • Addition, subtraction, comparison, shift, multiplication, division

  • Core focus:

    • Study of hardware implementations for these operations

  • Emphasis on Addition:

    • Most common operation in computers

Page 4

1-bit Half Adder

  • Implementation of a 1-bit adder:

    • Components:

      • 2 inputs: A and B

      • 2 outputs: S (Sum) and Cout (Carry)

  • Truth Table:

    A

    B

    S (Sum)

    C (Carry)

    0

    0

    0

    0

    0

    1

    1

    0

    1

    0

    1

    0

    1

    1

    0

    1

  • Logical Operations:

    • S = A XOR B

    • Cout = A AND B

Page 5

1-bit Full Adder

  • Enhancement of Half Adder:

    • Full adder has an additional input: Cin

    • Components:

      • 3 inputs: A, B, Cin

      • 2 outputs: S, Cout

  • Truth Table:

    Cin

    A

    B

    S (Sum)

    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

  • Logical Operations:

    • S = A XOR B XOR Cin

    • Cout = A AND B + Cin(A XOR B)

Page 6

1-bit Full Adder Detailed

  • Diagram Representation:

    • Inputs: A, B, Cin

    • Outputs: Sum (S), Carry out (Cout)

  • Relations:

    • S = A XOR B XOR Cin

    • Cout = AB + (Cin(A XOR B))

Page 7

1-bit Full Adder Schematic

  • Block diagram implementation:

    • Involves two half adders and an OR gate

  • Connectivity:

    • Cout is derived from the Carry of Half Adders' outputs

Page 8

Multi-bit Adder

  • Concept of extending 1-bit adders to N-bit adders

  • Definitions:

    • N-bit adder sums two N-bit inputs along with carry-in (Cin)

  • Types of implementations for Carry Propagate Adders (CPAs):

    • Ripple-carry adders (Slow)

    • Carry-lookahead adders (Fast)

    • Prefix adders (Faster)

Page 9

Ripple-Carry Adder

  • Method of chaining 1-bit adders

    • Carry ripples through the entire chain

  • Example:

    • 32-bit Ripple Carry Adder diagram

Page 10

4-bit Ripple-Carry Adder Full Adder Chain

  • Configuration:

    • Series of full adders designed to sum 4 bits each

    • Carry from previous adder to next

  • Relationships:

    • S0: Sum[0], S1: Sum[1], etc.

    • Cout derived as described earlier

Page 11

Delay of Ripple Carry Adder

  • Critical Path Analysis:

    • 1st Stage critical path = 3 gate delays

  • Considerations:

    • Types of gates: XOR, AND, OR

Page 12

Delay Timing Analysis of Ripple Carry Adder

  • 2nd Stage Critical Path = 2 gate delays

  • Implications for performance:

    • Ripple carry causes delays in large bit-size adders

Page 13

Ripple-Carry Adder Critical Path Delay

  • Critical path for 4-bit adder = 9 gate delays

  • General formula for N-bit adder:

    • 2(N-1)+3 = (2N+1) gate delay

Page 14

Ripple-Carry Adder Disadvantages

  • Discussed performance issues:

    • Slow operation for large N (triples delay)

  • Need for alternative faster designs

Page 15

Carry-Lookahead Adder (CLA)

  • Purpose: Overcome slow propagation in ripple carry adders

  • Mechanism:

    • Divides the adder into functional blocks

    • Generates carry-outs quickly using additional circuitry

Page 16

Carry Calculation in CLA

  • For N-bit block, the carry-out (Cout) is computed based on generating and propagating signals

  • Relationships:

    • Gi = Ai AND Bi

    • Pi = Ai OR Bi

    • Carry Generation: Ci = Gi + Pi Ci-1

Page 17

Carry Generation & Propagation

  • Description of the propagation of carries through different bits

  • Computation of final carry-out from chained generate/propagate signals

Page 18

4-bit CLA Block

  • Understanding the operation of a 4-bit block in CLA

  • Building up carry-out from the generate/propagate calculations

Page 19

CLA Logic Implementation

  • Overview of CLA components:

    • Integrating carry lookahead logic with other operations

Page 20

CLA Implementation Detail

  • Description of a CLA circuit with logic gates

  • Time complexity reduced due to fewer gate delays compared to ripple carry

Page 21

32-bit CLA with 4-bit Blocks

  • Diagrammatic representation of a CLA design

  • Structure exemplifies block-wise addition leading to speed enhancement

Page 22

CLA Delay Analysis

  • Formula for estimating delay in CLA circuits based on various gates' properties

Page 23

Adder Delay Comparisons

  • Comparative delay analysis for ripple-carry vs. CLA

  • Example delays based on assumed gate timing

Page 24

Verilog-HDL Representation

  • Example code defining an adder in Verilog-HDL:

module adder #(parameter N = 8) (input [N-1:0] a, b, input cin, output [N-1:0] s, output cout);
assign {cout, s} = a + b + cin;
endmodule

Page 25

When to Use What?

  • Overview of different types of adders:

    • Ripple-carry adder

    • Carry-lookahead adder

    • Prefix adder

  • Trade-offs:

    • Speed vs. Hardware complexity and cost

Page 26

Backup Slides

  • Additional, detail-oriented slides

Page 27

Implementation of Carry Lookahead Logic

  • Detailed example of CLA

  • Explanation of carry delay calculations based on gate propagation

Page 28

Prefix Adder

  • Mechanism of calculating generate and propagate signals

  • Descriptive walkthrough of how the prefix structure operates

Page 29

Prefix Adder Continuing Theory

  • Further detailing of carry calculations for prefix adder

Page 30

Prefix Adder Signal Computation

  • Generation and propagation signals for addition

Page 31

4-bit Prefix Adder

  • Design example showcasing add operation using prefix logic

Page 32

16-bit Prefix Adder Structure

  • Breakdown of prefix adder with detailed connections and relationships between signals

Page 33

Prefix Adder Delay Analysis

  • Final calculations for prefix adder delay based on architectural layout and gate delays

robot