Introduction to CMOS VLSI Design Lecture 11: Adders David Harris Harvey Mudd College Spring 2004.

Slides:



Advertisements
Similar presentations
Introduction So far, we have studied the basic skills of designing combinational and sequential logic using schematic and Verilog-HDL Now, we are going.
Advertisements

CPE 626 CPU Resources: Adders & Multipliers Aleksandar Milenkovic Web:
Comparator.
Datorteknik ArithmeticCircuits bild 1 Computer arithmetic Somet things you should know about digital arithmetic: Principles Architecture Design.
Introduction to CMOS VLSI Design Lecture 19: Design for Skew David Harris Harvey Mudd College Spring 2004.
Fast Adders See: P&H Chapter 3.1-3, C Goals: serial to parallel conversion time vs. space tradeoffs design choices.
Lecture 17: Adders.
Contemporary Logic Design Multi-Level Logic © R.H. Katz Transparency No Chapter # 3: Multi-Level Combinational Logic 3.3 and Time Response.
EECS Components and Design Techniques for Digital Systems Lec 17 – Addition, Subtraction, and Negative Numbers David Culler Electrical Engineering.
CSE-221 Digital Logic Design (DLD)
Design and Implementation of VLSI Systems (EN1600) Lecture 27: Datapath Subsystems 3/4 Prof. Sherief Reda Division of Engineering, Brown University Spring.
1 CS 140 Lecture 14 Standard Combinational Modules Professor CK Cheng CSE Dept. UC San Diego Some slides from Harris and Harris.
S. Reda EN160 SP’07 Design and Implementation of VLSI Systems (EN0160) Lecture 28: Datapath Subsystems 2/3 Prof. Sherief Reda Division of Engineering,
EE 141 Project 2May 8, Outstanding Features of Design Maximize speed of one 8-bit Division by: i. Observing loop-holes in 8-bit division ii. Taking.
1 Design of a Parallel-Prefix Adder Architecture with Efficient Timing-Area Tradeoff Characteristic Sabyasachi Das University of Colorado, Boulder Sunil.
ECE C03 Lecture 61 Lecture 6 Arithmetic Logic Circuits Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
Introduction to CMOS VLSI Design Lecture 11: Adders
Chapter # 5: Arithmetic Circuits Contemporary Logic Design Randy H
Modern VLSI Design 2e: Chapter 6 Copyright  1998 Prentice Hall PTR Topics n Shifters. n Adders and ALUs.
S. Reda EN1600 SP’08 Design and Implementation of VLSI Systems (EN1600) Lecture 25: Datapath Subsystems 1/4 Prof. Sherief Reda Division of Engineering,
Lecture 8 Arithmetic Logic Circuits
Design and Implementation of VLSI Systems (EN1600) Lecture 26: Datapath Subsystems 2/4 Prof. Sherief Reda Division of Engineering, Brown University Spring.
Fall 2008EE VLSI Design I - © Kia Bazargan 1 EE 5323 – VLSI Design I Kia Bazargan University of Minnesota Adders.
Lecture 17: Adders.
Lecture 12b: Adders. CMOS VLSI DesignCMOS VLSI Design 4th Ed. 17: Adders 2 Generate / Propagate  Equations often factored into G and P  Generate and.
Spring 2002EECS150 - Lec10-cl1 Page 1 EECS150 - Digital Design Lecture 10 - Combinational Logic Circuits Part 1 Feburary 26, 2002 John Wawrzynek.
Chapter 5 Arithmetic Logic Functions. Page 2 This Chapter..  We will be looking at multi-valued arithmetic and logic functions  Bitwise AND, OR, EXOR,
Adders. Full-Adder The Binary Adder Express Sum and Carry as a function of P, G, D Define 3 new variable which ONLY depend on A, B Generate (G) = AB.
Parallel Prefix Adders A Case Study
Bar Ilan University, Engineering Faculty
Lecture 18: Datapath Functional Units
Abdullah Aldahami ( ) Feb26, Introduction 2. Feedback Switch Logic 3. Arithmetic Logic Unit Architecture a.Ripple-Carry Adder b.Kogge-Stone.
ECE2030 Introduction to Computer Engineering Lecture 12: Building Blocks for Combinational Logic (3) Adders/Subtractors, Parity Checkers Prof. Hsien-Hsin.
Chapter # 5: Arithmetic Circuits
Chapter 6-1 ALU, Adder and Subtractor
Introduction to Computer Organization and Architecture Lecture 10 By Juthawut Chantharamalee wut_cha/home.htm.
Arithmetic Building Blocks
5-1 Programmable and Steering Logic Chapter # 5: Arithmetic Circuits.
55:035 Computer Architecture and Organization Lecture 5.
Advanced VLSI Design Unit 05: Datapath Units. Slide 2 Outline  Adders  Comparators  Shifters  Multi-input Adders  Multipliers.
Chapter 14 Arithmetic Circuits (I): Adder Designs Rev /12/2003
Nov 10, 2008ECE 561 Lecture 151 Adders. Nov 10, 2008ECE 561 Lecture 152 Adders Basic Ripple Adders Faster Adders Sequential Adders.
Modern VLSI Design 4e: Chapter 6 Copyright  2008 Wayne Wolf Topics n Shifters. n Adders and ALUs.
Computing Systems Designing a basic ALU.
درس مدارهای منطقی دانشگاه قم مدارهای منطقی محاسباتی تهیه شده توسط حسین امیرخانی مبتنی بر اسلایدهای درس مدارهای منطقی دانشگاه.
Spring C:160/55:132 Page 1 Lecture 19 - Computer Arithmetic March 30, 2004 Sukumar Ghosh.
1 Lecture 12 Time/space trade offs Adders. 2 Time vs. speed: Linear chain 8-input OR function with 2-input gates Gates: 7 Max delay: 7.
Unrolling Carry Recurrence
Building a Faster Adder
EE466: VLSI Design Lecture 13: Adders
1 Carry Lookahead Logic Carry Generate Gi = Ai Bi must generate carry when A = B = 1 Carry Propagate Pi = Ai xor Bi carry in will equal carry out here.
C-H1 Lecture Adders Half adder. C-H2 Full Adder si is the modulo- 2 sum of ci, xi, yi.
Logical Effort of Higher Valency Adders David Harris Harvey Mudd College November 2004.
Lecture #23: Arithmetic Circuits-1 Arithmetic Circuits (Part I) Randy H. Katz University of California, Berkeley Fall 2005.
EE141 Arithmetic Circuits 1 Chapter 14 Arithmetic Circuits Rev /12/2003 Rev /05/2003.
Topic: N-Bit parallel and Serial adder
Introduction to VLSI Design Datapath
EE141 Arithmetic Circuits 1 Chapter 14 Arithmetic Circuits Rev /12/2003.
Somet things you should know about digital arithmetic:
Lecture 12 Logistics Last lecture Today HW4 due today Timing diagrams
Subtitle: How to design the data path of a processor.
Swamynathan.S.M AP/ECE/SNSCT
CSE Winter 2001 – Arithmetic Unit - 1
VLSI Arithmetic Adders & Multipliers
Lecture 14 Logistics Last lecture Today
Arithmetic Circuits (Part I) Randy H
CS 140 Lecture 14 Standard Combinational Modules
CSE 140 Lecture 14 Standard Combinational Modules
Lecture 14 Logistics Last lecture Today
Presentation transcript:

Introduction to CMOS VLSI Design Lecture 11: Adders David Harris Harvey Mudd College Spring 2004

CMOS VLSI Design11: AddersSlide 2 Outline  Single-bit Addition  Carry-Ripple Adder  Carry-Skip Adder  Carry-Lookahead Adder  Carry-Select Adder  Carry-Increment Adder  Tree Adder

CMOS VLSI Design11: AddersSlide 3 Single-Bit Addition Half Adder Full Adder ABC out S ABC S

CMOS VLSI Design11: AddersSlide 4 Single-Bit Addition Half Adder Full Adder ABC out S ABC S

CMOS VLSI Design11: AddersSlide 5 PGK  For a full adder, define what happens to carries –Generate: C out = 1 independent of C G = –Propagate: C out = C P = –Kill: C out = 0 independent of C K =

CMOS VLSI Design11: AddersSlide 6 PGK  For a full adder, define what happens to carries –Generate: C out = 1 independent of C G = A B –Propagate: C out = C P = A  B –Kill: C out = 0 independent of C K = ~A ~B

CMOS VLSI Design11: AddersSlide 7 Full Adder Design I  Brute force implementation from eqns

CMOS VLSI Design11: AddersSlide 8 Full Adder Design II  Factor S in terms of C out S = ABC + (A + B + C)(~C out )  Critical path is usually C to C out in ripple adder

CMOS VLSI Design11: AddersSlide 9 Layout  Clever layout circumvents usual line of diffusion –Use wide transistors on critical path –Eliminate output inverters

CMOS VLSI Design11: AddersSlide 10 Full Adder Design III  Complementary Pass Transistor Logic (CPL) –Slightly faster, but more area

CMOS VLSI Design11: AddersSlide 11 Full Adder Design IV  Dual-rail domino –Very fast, but large and power hungry –Used in very fast multipliers

CMOS VLSI Design11: AddersSlide 12 Carry Propagate Adders  N-bit adder called CPA –Each sum bit depends on all previous carries –How do we compute all these carries quickly?

CMOS VLSI Design11: AddersSlide 13 Carry-Ripple Adder  Simplest design: cascade full adders –Critical path goes from Cin to Cout –Design full adder to have fast carry delay

CMOS VLSI Design11: AddersSlide 14 Inversions  Critical path passes through majority gate –Built from minority + inverter –Eliminate inverter and use inverting full adder

CMOS VLSI Design11: AddersSlide 15 Generate / Propagate  Equations often factored into G and P  Generate and propagate for groups spanning i:j  Base case  Sum:

CMOS VLSI Design11: AddersSlide 16 Generate / Propagate  Equations often factored into G and P  Generate and propagate for groups spanning i:j  Base case  Sum: Gi-1:0 is simply the carry-in of this stage, ie., Ci Si = Pi xor Ci = (Ai xor Bi) xor Ci Valency-2 equation; uses P/G of two smaller groups

CMOS VLSI Design11: AddersSlide 17 PG Logic C4 = G4 + P4 G3:0

CMOS VLSI Design11: AddersSlide 18 Carry-Ripple Revisited Note: Carry propagates through And/or network instead of MAJ gate network

CMOS VLSI Design11: AddersSlide 19 Carry-Ripple PG Diagram

CMOS VLSI Design11: AddersSlide 20 Carry-Ripple PG Diagram 1-bit prop/gen cell delay of And/OR in grey cell Final SUM bit xor

CMOS VLSI Design11: AddersSlide 21 PG Diagram Notation Generate only Both Gen/Prop

CMOS VLSI Design11: AddersSlide 22 Carry-Skip Adder  Carry-ripple is slow through all N stages  Carry-skip allows carry to skip over groups of n bits –Decision based on n-bit propagate signal Critical path: Generate carry in first bit, then ripple thru next three bits. Then skip next two four-bit stages, then ripple through last stage.

CMOS VLSI Design11: AddersSlide 23 Carry-Skip PG Diagram For k n-bit groups (N = nk)

CMOS VLSI Design11: AddersSlide 24 Carry-Skip PG Diagram For k n-bit groups (N = nk) First, last group ripple skip thru muxes

CMOS VLSI Design11: AddersSlide 25 Variable Group Size Delay grows as O(sqrt(N)) Smaller groups at first/last

CMOS VLSI Design11: AddersSlide 26 Carry-Lookahead Adder  Carry-lookahead adder computes G i:0 for many bits in parallel.  Uses higher-valency cells with more than two inputs.

CMOS VLSI Design11: AddersSlide 27 CLA PG Diagram Collecting Generate/Propagate over many cells

CMOS VLSI Design11: AddersSlide 28 Higher-Valency Cells Just the recursive definition of Generate

CMOS VLSI Design11: AddersSlide 29 Carry-Select Adder  Trick for critical paths dependent on late input X –Precompute two possible outputs for X = 0, 1 –Select proper output when X arrives  Carry-select adder precomputes n-bit sums –For both possible carries into n-bit group

CMOS VLSI Design11: AddersSlide 30 Carry Select Critical Path T select = T pg + [N+(K-2)]T AO + T mux N = adder size in each group, K groups Slightly faster than Carry-skip. For optimal delay, do not want each group to have the same size, want each group to grow in order to match mux select arrival time with carry generation time.

CMOS VLSI Design11: AddersSlide 31 Carry-Increment Adder  Factor initial PG and final XOR out of carry-select

CMOS VLSI Design11: AddersSlide 32 Carry-Increment Adder  Factor initial PG and final XOR out of carry-select Adders in Carry- select have redundant logic, factor this out, reduces logic size, delay essentially the same.

CMOS VLSI Design11: AddersSlide 33 Variable Group Size  Also buffer noncritical signals Observe that buffer is added so that buffer delay is not on critical path!

CMOS VLSI Design11: AddersSlide 34 Tree Adder  If lookahead is good, lookahead across lookahead! –Recursive lookahead gives O(log N) delay  Many variations on tree adders

CMOS VLSI Design11: AddersSlide 35 Brent-Kung Lots of logic levels! Buffers not really necessary

CMOS VLSI Design11: AddersSlide 36 Sklansky High Fanout

CMOS VLSI Design11: AddersSlide 37 Kogge-Stone Lots-o-wires

CMOS VLSI Design11: AddersSlide 38 Tree Adder Taxonomy  Ideal N-bit tree adder would have –L = log N logic levels –Fanout never exceeding 2 –No more than one wiring track between levels  Describe adder with 3-D taxonomy (l, f, t) –Logic levels:L + l –Fanout:2 f + 1 –Wiring tracks:2 t  Known tree adders sit on plane defined by l + f + t = L-1

CMOS VLSI Design11: AddersSlide 39 Tree Adder Taxonomy

CMOS VLSI Design11: AddersSlide 40 Tree Adder Taxonomy Logic levels Wire tracks Fanout

CMOS VLSI Design11: AddersSlide 41 Han-Carlson

CMOS VLSI Design11: AddersSlide 42 Knowles [2, 1, 1, 1] Half the wires at last stage than Kogge-Stone, but double the loading.

CMOS VLSI Design11: AddersSlide 43 Ladner-Fischer

CMOS VLSI Design11: AddersSlide 44 Taxonomy Revisited

CMOS VLSI Design11: AddersSlide 45 Hybrid Tree/Carry Select  Hybrid adders use tree-logic to compute the carries, but also use short ripple chains to reduce the number of gates  Fig of the book shows a good example of a sparse tree adder

CMOS VLSI Design11: AddersSlide 46 Summary ArchitectureClassificationLogic Levels Max Fanout TracksCells Carry-RippleN-111N Carry-Skip n=4N/ N Carry-Inc. n=4N/ N Brent-Kung(L-1, 0, 0)2log 2 N – 1212N Sklansky(0, L-1, 0)log 2 NN/ Nlog 2 N Kogge-Stone(0, 0, L-1)log 2 N2N/2Nlog 2 N Adder architectures offer area / power / delay tradeoffs. Choose the best one for your application.