CS2100 Computer Organisation Combinational Circuits (AY2014/5 Semester 2)

Slides:



Advertisements
Similar presentations
Kuliah Rangkaian Digital Kuliah 7: Unit Aritmatika
Advertisements

Combinational Circuits. Analysis Diagram Designing Combinational Circuits In general we have to do following steps: 1. Problem description 2. Input/output.
التصميم المنطقي Second Course
DPSD This PPT Credits to : Ms. Elakya - AP / ECE.
Henry Hexmoor1 Chapter 5 Arithmetic Functions Arithmetic functions –Operate on binary vectors –Use the same subfunction in each bit position Can design.
Chapter # 5: Arithmetic Circuits Contemporary Logic Design Randy H
Design of Arithmetic Circuits – Adders, Subtractors, BCD adders
Combinational Logic Chapter 4.
Chapter 5 Arithmetic Logic Functions. Page 2 This Chapter..  We will be looking at multi-valued arithmetic and logic functions  Bitwise AND, OR, EXOR,
CS1104: Computer Organisation Lecture 6: Combinational Circuits Design Methods/Arithmetic Circuits
CS 105 Digital Logic Design
Combinational Circuits
Combinational Circuits
Introduction to Digital Logic Design Appendix A of CO&A Dr. Farag
Morgan Kaufmann Publishers
Combinational Logic Design
Logic Design CS221 1 st Term combinational circuits Cairo University Faculty of Computers and Information.
Combinational Logic Chapter 4.
Outline Analysis of Combinational Circuits Signed Number Arithmetic
Combinational and Sequential Logic Circuits.
Combinational Logic Chapter 4. Digital Circuits Combinational Circuits Logic circuits for digital system Combinational circuits the outputs are.
1 COMBINATIONAL LOGIC One or more digital signal inputs One or more digital signal outputs Outputs are only functions of current input values (ideal) plus.
Logical Circuit Design Week 8: Arithmetic Circuits Mentor Hamiti, MSc Office ,
Dr. Ahmed El-Bialy, Dr. Sahar Fawzy Combinational Circuits Dr. Ahmed El-Bialy Dr. Sahar Fawzy.
+ CS 325: CS Hardware and Software Organization and Architecture Combinational Circuits 1.
Chapter 3 Combinational Design Digital Logic Design III
Combinational Circuits
CS2100 Computer Organisation MSI Components (AY2015/6 Semester 1)
IKI a-Combinatorial Components Bobby Nazief Semester-I The materials on these slides are adopted from those in CS231’s Lecture Notes.
Chapter # 5: Arithmetic Circuits
Chapter 6-1 ALU, Adder and Subtractor
1 © 2015 B. Wilkinson Modification date: January 1, 2015 Designing combinational circuits Logic circuits whose outputs are dependent upon the values placed.
1 Lecture #7 EGR 277 – Digital Logic Reading Assignment: Chapter 4 in Digital Design, 3 rd Edition by Mano Chapter 4 – Combinational Logic Circuits A)
CS2100 Computer Organisation
CHAPTER 4 Combinational Logic
Circuit Delays. Outline  Calculation of Circuit Delays  Faster Circuits  Look-Ahead Carry Adder.
Logic Gates Logic gates are electronic digital circuit perform logic functions. Commonly expected logic functions are already having the corresponding.
CHAPTER 4 Combinational Logic Design- Arithmetic Operation (Section 4.6&4.9)
COE 202: Digital Logic Design Combinational Circuits Part 2 KFUPM Courtesy of Dr. Ahmad Almulhem.
Digital Logic. 2 Abstractions in CS (gates) Basic Gate: Inverter IO IO GNDI O Vcc Resister (limits conductivity) Truth Table.
Morgan Kaufmann Publishers
1 CS 151: Digital Design Chapter 4: Arithmetic Functions and Circuits 4-1,2: Iterative Combinational Circuits and Binary Adders.
Sneha.  A combinational circuit that performs the addition of two bits is called a half adder.  It has two inputs.  It has two outputs.
CS221: Digital Logic Design Combinational Circuits
Chapter Four Combinational Logic 1. C OMBINATIONAL C IRCUITS It consists of input variables, logic gates and output variables. Output is function of input.
CS 105 DIGITAL LOGIC DESIGN Chapter 4 Combinational Logic 1.
1 Logic Gates and Circuits  Logic Gates Logic Gates  The Inverter The Inverter  The AND Gate The AND Gate  The OR Gate The OR Gate  The NAND Gate.
1 Chapter 4 Combinational Logic Logic circuits for digital systems may be combinational or sequential. A combinational circuit consists of input variables,
Logic Design CS221 1 st Term combinational circuits Cairo University Faculty of Computers and Information.
Combinational Logic Design
Digital Electronics Tutorial: Number System & Arithmetic Circuits Solutions.
CHAPTER 2 Digital Combinational Logic/Arithmetic Circuits
Chapter Four Combinational Logic 1. C OMBINATIONAL C IRCUITS It consists of input variables, logic gates and output variables. Output is function of input.
Digital Logic Design Basics Combinational Circuits Sequential Circuits Pu-Jen Cheng Adapted from the slides prepared by S. Dandamudi for the book, Fundamentals.
Addition and multiplication Arithmetic is the most basic thing you can do with a computer, but it’s not as easy as you might expect! These next few lectures.
Lecture #23: Arithmetic Circuits-1 Arithmetic Circuits (Part I) Randy H. Katz University of California, Berkeley Fall 2005.
CS151 Introduction to Digital Design Chapter 4: Arithmetic Functions and HDLs 4-1: Iterative Combinational Circuits 4-2: Binary Adders 1Created by: Ms.Amany.
LOGIC CIRCUITLOGIC CIRCUIT. Goal To understand how digital a computer can work, at the lowest level. To understand what is possible and the limitations.
UNIT 8 COMBINATIONAL CIRCUIT DESIGN AND SIMULATION USING GATES
Addition and multiplication1 Arithmetic is the most basic thing you can do with a computer, but it’s not as easy as you might expect! These next few lectures.
Chapter 4 Combinational Logic. 4.1 Introduction   Logic circuits for digital systems may be combinational or sequential. A combinational circuit consists.
Gunjeet Kaur Dronacharya Group of Institutions. Binary Adder-Subtractor A combinational circuit that performs the addition of two bits is called a half.
CS2100 Computer Organisation
CS2100 Computer Organisation
CS2100 Computer Organisation
Combinational Logic Logic circuits for digital systems may be combinational or sequential. A combinational circuit consists of input variables, logic gates,
Computer Architecture CST 250
Basics Combinational Circuits Sequential Circuits
Adders and Subtractors
XOR, XNOR, and Binary Adders
Presentation transcript:

CS2100 Computer Organisation Combinational Circuits (AY2014/5 Semester 2)

CS2100 Combinational Circuits 2 WHERE ARE WE NOW? Number systems and codes Boolean algebra Logic gates and circuits Simplification Combinational circuits Sequential circuits Performance Assembly language The processor: Datapath and control Pipelining Memory hierarchy: Cache Input/output Preparation: 2 weeks Logic Design: 3 weeks Computer organisation

CS2100 Combinational Circuits 3 COMBINATIONAL CIRCUITS Introduction Analysis Procedure Design Methods Gate-level (SSI) Design Block-Level Design Arithmetic Circuits Circuit Delays Look-Ahead Carry Adder

CS2100 Combinational Circuits 4 INTRODUCTION Two classes of logic circuits  Combinational  Sequential Combinational Circuit  Each output depends entirely on the immediate (present) inputs. Combinational Logic : inputsoutputs: Sequential Circuit  Each output depends on both present inputs and state. Memory Combinational Logic : inputsoutputs:

CS2100 Combinational Circuits 5 ANALYSIS PROCEDURE Given a combinational circuit, how do you analyze its function?  Steps: 1. Label the inputs and outputs. ABAB F1 F2 A+B A'+B' = (A+B).(A'+B') = (A'+B')' = A  B 2. Obtain the functions of intermediate points and the outputs. 3. Draw the truth table. 4. Deduce the functionality of the circuit  AB(A+B)(A'+B')F1F 

CS2100 Combinational Circuits 6 DESIGN METHODS Different combinational circuit design methods:  Gate-level design method (with logic gates)  Block-level design method (with functional blocks) Design methods make use of logic gates and useful function blocks  These are available as Integrated Circuit (IC) chips.  Types of IC chips (based on packing density): SSI, MSI, LSI, VLSI, ULSI. Main objectives of circuit design:  Reduce cost (number of gates for small circuits; number of IC packages for complex circuits)  Increase speed  Design simplicity (re-use blocks where possible)

CS2100 Combinational Circuits 7 GATE-LEVEL (SSI) DESIGN: HALF ADDER (1/2) Design procedure: 1.State problem Example: Build a Half Adder. 2.Determine and label the inputs and outputs of circuit. Example: Two inputs and two outputs labelled, as shown below. Half Adder XYXY SCSC (X + Y) 3.Draw the truth table. XYCS

CS2100 Combinational Circuits 8 GATE-LEVEL (SSI) DESIGN: HALF ADDER (2/2) 4.Obtain simplified Boolean functions. Example: C = X  Y S = X'  Y + X  Y' = X  Y 5. Draw logic diagram. XYCS XYXY S C Half Adder

CS2100 Combinational Circuits 9 GATE-LEVEL (SSI) DESIGN: FULL ADDER (1/5) Half adder adds up only two bits. To add two binary numbers, we need to add 3 bits (including the carry).  Example: Need Full Adder (so called as it can be made from two half adders). Full Adder XYZXYZ SCSC (X + Y + Z)

CS2100 Combinational Circuits 10 GATE-LEVEL (SSI) DESIGN: FULL ADDER (2/5) Truth table: Using K-map, simplified SOP form: C = ? S = ? Note: Z - carry in (to the current position) C - carry out (to the next position) X YZ C X YZ S  XYZCS

CS2100 Combinational Circuits 11 GATE-LEVEL (SSI) DESIGN: FULL ADDER (3/5) Alternative formulae using algebraic manipulation: C= X  Y + X  Z + Y  Z = X  Y + (X + Y)  Z = X  Y + ( (X  Y) + X  Y )  Z = X  Y + (X  Y)  Z + X  Y  Z = X  Y + (X  Y)  Z S= X'  Y'  Z + X'  Y  Z' + X  Y'  Z' + X  Y  Z = X'  (Y'  Z + Y  Z') + X  (Y'  Z' + Y  Z) = X'  (Y  Z) + X  (Y  Z)' = X  (Y  Z)

CS2100 Combinational Circuits 12 GATE-LEVEL (SSI) DESIGN: FULL ADDER (4/5) Circuit for above formulae: C= X  Y + (X  Y)  Z S= X  (Y  Z) = (X  Y)  Z (XOR is associative) Full Adder made from two Half-Adders (+ an OR gate). (X  Y) XYXY S C Z (X  Y)

CS2100 Combinational Circuits 13 GATE-LEVEL (SSI) DESIGN: FULL ADDER (5/5) Circuit for above formulae: C= X  Y + (X  Y)  Z S= X  (Y  Z) Full Adder made from two Half-Adders (+ an OR gate). (X  Y) XYXY S C Z (X  Y) Half Adder Half Adder XYXY XYXY Sum Carry Sum Carry Block diagrams.

CS2100 Combinational Circuits 14 CODE CONVERTERS Code converter – takes an input code, translates to its equivalent output code. Code converter Input code Output code Example: BCD to Excess-3 code converter.  Input: BCD code  Output: Excess-3 code

CS2100 Combinational Circuits 15 BCD-TO-EXCESS-3 CONVERTER (1/2) Truth table: BCDExcess-3 ABCDWXYZ XXXX XXXX XXXX XXXX XXXX XXXX K-maps: 1 A C D AB CD B XXXX XX A C D AB CD B XXXX XX A C D AB CD B XXXX XX A C D AB CD B XXXX XX W X YZ

CS2100 Combinational Circuits 16 BCD-TO-EXCESS-3 CONVERTER (2/2) 1 A C D AB CD B XXXX XX Z A C D AB CD B XXXX XX W A C D AB CD B XXXX XX X A C D AB CD B XXXX XX Y W = ? X = ? Y = ? Z = ? 

CS2100 Combinational Circuits 17 BLOCK-LEVEL DESIGN More complex circuits can also be built using block-level method. In general, block-level design method (as opposed to gate-level design) relies on algorithms or formulae of the circuit, which are obtained by decomposing the main problem to sub-problems recursively (until small enough to be directly solved by blocks of circuits). Simple examples using 4-bit parallel adder as building blocks: 1.BCD-to-Excess-3 Code Converter 2.16-bit Parallel Adder 3.Adder cum Subtractor

CS2100 Combinational Circuits 18 4-BIT PARALLEL ADDER (1/4) Consider a circuit to add two 4-bit numbers together and a carry-in, to produce a 5-bit result. 4-bit Parallel Adder C5C5 C1C1 X2X2 X1X1 Y4Y4 Y3Y3 S4S4 S3S3 S2S2 S1S1 Y2Y2 Y1Y1 X4X4 X3X3 Black-box view of 4-bit parallel adder 5-bit result is sufficient because the largest result is: =

CS2100 Combinational Circuits 19 4-BIT PARALLEL ADDER (2/4) SSI design technique should not be used here. Truth table for 9 inputs is too big: 2 9 = 512 rows! Simplification becomes too complicated! X4X3X2X1X4X3X2X1 Y4Y3Y2Y1Y4Y3Y2Y1 C1C1 C5C5 S4S3S2S1S4S3S2S …………… ……………

CS2100 Combinational Circuits 20 4-BIT PARALLEL ADDER (3/4) Alternative design possible. Addition formula for each pair of bits (with carry in), C i+1 S i = X i + Y i + C i has the same function as a full adder: C i+1 = X i  Y i + (X i  Y i )  C i S i = X i  Y i  C i C = X = 1010 Y = 1111 X + Y =

CS2100 Combinational Circuits 21 4-BIT PARALLEL ADDER (4/4) Cascading 4 full adders via their carries, we get: C1C1 Y 1 X 1 S1S1 FA C2C2 C5C5 Y 2 X 2 S2S2 FA C3C3 Y 3 X 3 S3S3 FA C4C4 Y 4 X 4 S4S4 FA Output Input

CS2100 Combinational Circuits 22 PARALLEL ADDERS Note that carry is propagated by cascading the carry from one full adder to the next. Called Parallel Adder because inputs are presented simultaneously (in parallel). Also called Ripple-Carry Adder.

CS2100 Combinational Circuits 23 BCD-TO-EXCESS-3 CONVERTER (1/2) Excess-3 code can be converted from BCD code using truth table: BCDExcess-3 ABCDWXYZ XXXX XXXX XXXX XXXX XXXX XXXX Gate-level design can be used since only 4 inputs. However, alternative design is possible. Use problem-specific formula: Excess-3 code = BCD Code

CS2100 Combinational Circuits 24 BCD-TO-EXCESS-3 CONVERTER (2/2) Block-level circuit: 4-bit Parallel Adder X4X3X2X1X4X3X2X1 Y4Y3Y2Y1Y4Y3Y2Y S4S3S2S1S4S3S2S1 BCD code Excess-3 code unused 0 Cin Cout A BCD-to-Excess-3 Code Converter

CS2100 Combinational Circuits BIT PARALLEL ADDER Larger parallel adders can be built from smaller ones. Example: A 16-bit parallel adder can be constructed from four 4-bit parallel adders: 4-bit // adder X 4..X 1 Y 4..Y 1 C1C1 S 4..S 1 4-bit // adder X 8..X 5 Y 8..Y 5 C5C5 S 8..S 5 4-bit // adder X 12..X 9 Y 12..Y 9 C9C9 S 12..S 9 4-bit // adder X 16..X 13 Y 16..Y 13 C 13 S 16..S 13 C A 16-bit parallel adder 4 S 4..S 1 S4S3S2S1S4S3S2S1 =

CS2100 Combinational Circuits 26 4-BIT ADDER CUM SUBTRACTOR (1/3) Recall: Subtraction can be done via addition with 2s- complement numbers. Hence, we can design a circuit to perform both addition and subtraction, using a parallel adder and some gates. 4-bit adder cum subtractor S: control signal for add/subtract X2X2 X1X1 Y4Y4 Y3Y3 Result: either X+Y or X-Y Y2Y2 Y1Y1 X4X4 X3X3 S=0 means Add S=1 means Subtract

CS2100 Combinational Circuits 27 4-BIT ADDER CUM SUBTRACTOR (2/3) Recall: X – Y = X + (-Y) = X + (2s complement of Y) = X + (1s complement of Y) + 1 Design requires: (1) XOR gates, and (2) S connected to carry-in. 

CS2100 Combinational Circuits 28 4-BIT ADDER CUM SUBTRACTOR (3/3) 4-bit adder-cum-subtractor circuit: 4-bit parallel adder X2X2 X1X1 Y4Y4 Y3Y3 Y2Y2 Y1Y1 X4X4 X3X3 S2S2 S1S1 S4S4 S3S3 C S Cin Cout 

CS2100 Combinational Circuits 29 REVISION: HALF ADDER Half adder X Y  Cout  Sum Carry Input bits Output bits x y' S = xy' + x'y x' y xyxy C xyxy S = (x+y)(x'+y') x' y' xyxy C x' y' S = (C+x'y')' xyxy C xyxy C S = x  y

CS2100 Combinational Circuits 30 REVISION: FULL ADDER Full adder Sum Carry Input bits Output bits A B  Cout  Cin x yz C = xy + xz + yz S = x'y'z + x'yz' + xy'z' + xyz x yz xyxy S = (x  y)  z C = x  y + (x  y)  z z xyxy xyxy X' y' z S x' y z' x y' z' xyzxyz C xzxz yzyz xyxy

CS2100 Combinational Circuits 31 REVISION: PARALLEL ADDER 4-bit parallel adder 2 ways: u Serial (one FA) u Parallel (n FAs for n bits) C1C1 Y 1 X 1 S1S1 C2C2 C5C5 Y 2 X 2 S2S2 C3C3 Y 3 X 3 S3S3 C4C4 Y 4 X 4 S4S4 FA X Y  Cout S CinInput carry Binary no. B Binary no. A Output carry 4-bit sum

CS2100 Combinational Circuits 32 REVISION: CASCADING ADDERS Cascading 4 full adders (FAs) gives a 4-bit parallel adder.  Classical method: 9 input variables  2 9 = 512 rows in truth table! Cascading method can be extended to larger adders.  Example: 16-bit parallel adder. 4-bit // adder X 4..X 1 Y 4..Y 1 C1C1 S 4..S 1 4-bit // adder X 8..X 5 Y 8..Y 5 C5C5 S 8..S 5 4-bit // adder X 12..X 9 Y 12..Y 9 C9C9 S 12..S 9 4-bit // adder X 16..X 13 Y 16..Y 13 C 13 S 16..S 13 C

CS2100 Combinational Circuits 33 EXAMPLE Application: 6-person voting system.  Use FAs and a 4-bit parallel adder.  Each FA can sum up to 3 votes. Voter 1 3-bit Output A B  Cout  Cin Voter 2 Voter 3 Voter 4 A B  Cout  Cin Voter 5 Voter 6 Full-adder 1 Full-adder 2  Cout Cin A B S Parallel adder 

CS2100 Combinational Circuits 34 MAGNITUDE COMPARATOR (1/4) Magnitude comparator: compares 2 values A and B, to check if A>B, A=B, or A<B. To design an n-bit magnitude comparator using classical method, it would require 2 2n rows in truth table! We shall exploit regularity in our design. Question: How do we compare two 4-bit values A (a 3 a 2 a 1 a 0 ) and B (b 3 b 2 b 1 b 0 )? 

CS2100 Combinational Circuits 35 MAGNITUDE COMPARATOR (2/4) Let A = A 3 A 2 A 1 A 0, B = B 3 B 2 B 1 B 0 ; x i = A i  B i + A i '  B i ' 

CS2100 Combinational Circuits 36 MAGNITUDE COMPARATOR (3/4) Block diagram of a 4-bit magnitude comparator  A3A2A1A0A3A2A1A0 4-bit Comp (A < B) (A > B) (A = B) B3B2B1B0B3B2B1B ??????

CS2100 Combinational Circuits 37 MAGNITUDE COMPARATOR (4/4) A function F accepts a 4-bit binary value ABCD, and returns 1 if 3  ABCD  12, or 0 otherwise. How would you implement F using magnitude comparators and a suitable logic gate?  A3A2A1A0A3A2A1A0 4-bit Comp (A < B) (A > B) (A = B) B3B2B1B0B3B2B1B0 A3A2A1A0A3A2A1A0 4-bit Comp (A < B) (A > B) (A = B) B3B2B1B0B3B2B1B0

CS2100 Combinational Circuits 38 CIRCUIT DELAYS (1/5) Given a logic gate with delay t. If inputs are stable at times t 1, t 2, …, t n, then the earliest time in which the output will be stable is: max( t 1, t 2, …, t n ) + t t1t1 Logic Gate t2t2 tntn :: max (t 1, t 2,..., t n ) + t To calculate the delays of all outputs of a combinational circuit, repeat above rule for all gates.

CS2100 Combinational Circuits 39 CIRCUIT DELAYS (2/5) As a simple example, consider the full adder circuit where all inputs are available at time 0. Assume each gate has delay t. XYXY S C Z 

CS2100 Combinational Circuits 40 CIRCUIT DELAYS (3/5) More complex example: 4-bit parallel adder. C1C1 Y 1 X 1 S1S1 FA C2C2 C5C5 Y 2 X 2 S2S2 FA C3C3 Y 3 X 3 S3S3 FA C4C4 Y 4 X 4 S4S4 FA

CS2100 Combinational Circuits 41 CIRCUIT DELAYS (4/5) Analyse the delay for the repeated block. where X i, Y i are stable at 0t, while C i is assumed to be stable at mt. Full Adder XiYiCiXiYiCi S i C i mt Performing the delay calculation: XiYiXiYi SiSi C i+1 CiCi max(0,0)+t = t t 0 0 mt max(t,mt)+t max(t,mt)+2t max(t,mt)+t

CS2100 Combinational Circuits 42 CIRCUIT DELAYS (5/5) Calculating: When i=1, m=0; S 1 = 2t and C 2 = 3t When i=2, m=3; S 2 = 4t and C 3 = 5t When i=3, m=5; S 3 = 6t and C 4 = 7t When i=4, m=7; S 4 = 8t and C 5 = 9t In general, an n-bit ripple-carry parallel adder will experience the following delay times: S n = ? C n+1 = ? Propagation delay of ripple-carry parallel adders is proportional to the number of bits it handles. Maximum delay: ? 

CS2100 Combinational Circuits 43 FASTER CIRCUITS Three ways of improving the speed of circuits:  Use better technology (eg. ECL faster than TTL gates) BUT Faster technology is more expensive, needs more power, lower-level of integrations Physical limits (eg. speed of light, size of atom)  Use gate-level designs to two-level circuits! (use sum- of-products/product-of-sums) BUT Complicated designs for large circuits Product/sum terms need MANY inputs!  Use clever look-ahead techniques BUT There are additional costs (hopefully reasonable).

CS2100 Combinational Circuits 44 LOOK-AHEAD CARRY ADDER (1/6) Consider the FA, where intermediate signals are labelled as P i and G i : P i = X i  Y i G i = X i ∙Y i XiYiXiYi SiSi C i+1 CiCi PiPi GiGi The outputs C i+1, S i, in terms of P i, G i, C i are: S i = P i  C i … (1) C i+1 = G i + P i ∙C i … (2) Looking at equation (2): G i = X i ∙Y i is a carry generate signal, and P i = X i  Y i is a carry propagate signal.

CS2100 Combinational Circuits 45 LOOK-AHEAD CARRY ADDER (2/6) For 4-bit ripple-carry adder, the equations for the four carry signals are: C i+1 = G i + P i ∙C i C i+2 = G i+1 + P i+1 ∙C i+1 C i+3 = G i+2 + P i+2 ∙C i+2 C i+4 = G i+3 + P i+3 ∙C i+3 These formulae are deeply nested, as shown here for C i+2 : CiPiCiPi C i+1 GiGi P i+1 G i+1 C i+2 4-level circuit for C i+2 = G i+1 + P i+1.C i+1

CS2100 Combinational Circuits 46 LOOK-AHEAD CARRY ADDER (3/6) Nested formulae/gates cause more propagation delay. Reduce delay by expanding and flattening the formulae for carries. Example, for C i+2 : C i+2 = G i+1 + P i+1 ∙C i+1 = G i+1 + P i+1 ∙(G i + P i ∙C i ) = G i+1 + P i+1 ∙G i + P i+1 ∙P i ∙C i New faster circuit for C i+2 : C i P i P i+1 GiGi G i+1 C i+2

CS2100 Combinational Circuits 47 LOOK-AHEAD CARRY ADDER (4/6) Other carry signals can be similarly flattened: C i+3 = G i+2 + P i+2 ∙C i+2 = G i+2 + P i+2 ∙(G i+1 + P i+1 ∙G i + P i+1 ∙P i ∙C i ) = G i+2 + P i+2 ∙G i+1 + P i+2 ∙P i+1 ∙G i + P i+2 ∙P i+1 ∙P i ∙C i C i+4 = G i+3 + P i+3 ∙C i+3 = G i+3 + P i+3 ∙(G i+2 + P i+2 ∙G i+1 + P i+2 ∙P i+1 ∙G i + P i+2 ∙P i+1 ∙P i ∙C i ) = G i+3 + P i+3 ∙G i+2 + P i+3 ∙P i+2 ∙G i+1 + P i+3 ∙P i+2 ∙P i+1 ∙G i + P i+3 ∙P i+2 ∙P i+1 ∙P i ∙C i Note that formulae gets longer with higher carries. Also, all carries are two-level sum-of-products expressions, in terms of the generate signals Gs, the propagate signals Ps, and the first carry-in C i.

CS2100 Combinational Circuits 48 LOOK-AHEAD CARRY ADDER (5/6) We employ look- ahead formula in this lookahead-carry adder circuit:

CS2100 Combinational Circuits 49 LOOK-AHEAD CARRY ADDER (6/6) The IC chip allows faster lookahead adder to be built. Assuming gate delay is t, maximum propagation delay for circuit is hence 4t  t to get generate and propagate signals  2t to get the carries  t for the sum signals

CS2100 Combinational Circuits 50 QUICK REVIEW QUESTIONS DLD pages Questions 6-1 to 6-4.

CS2100 Combinational Circuits 51 END