Fall 2008EE 5323 - VLSI Design I - © Kia Bazargan 1 EE 5323 – VLSI Design I Kia Bazargan University of Minnesota Adders.

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

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 1 Digital Integrated Circuits A Design Perspective Arithmetic Circuits Jan M. Rabaey Anantha.
EE141 Adder Circuits S. Sundar Kumar Iyer.
Mohamed Younis CMCS 411, Computer Architecture 1 CMCS Computer Architecture Lecture 7 Arithmetic Logic Unit February 19,
Fast Adders See: P&H Chapter 3.1-3, C Goals: serial to parallel conversion time vs. space tradeoffs design choices.

ECE 331 – Digital System Design
EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 1 [Adapted from Rabaey’s Digital Integrated Circuits, ©2002, J. Rabaey et al.]
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,
VLSI Arithmetic Adders Prof. Vojin G. Oklobdzija University of California
Introduction to CMOS VLSI Design Lecture 11: Adders
Lecture 8 Arithmetic Logic Circuits
Spring 2006EE VLSI Design II - © Kia Bazargan 187 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part IV: Control Path and Busses.
1 COMP541 Arithmetic Circuits Montek Singh Mar 20, 2007.
Arithmetic-Logic Units CPSC 321 Computer Architecture Andreas Klappenecker.
Digital Integrated Circuits© Prentice Hall 1995 Arithmetic Arithmetic Building Blocks.
Spring 2006EE VLSI Design II - © Kia Bazargan 68 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part II: Adders.
Lecture 17: Adders.
ECE 301 – Digital Electronics
ECE 301 – Digital Electronics
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.
Copyright 2008 Koren ECE666/Koren Part.5a.1 Israel Koren Spring 2008 UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering Digital Computer.
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.
Lec 17 : ADDERS ece407/507.
Parallel Prefix Adders A Case Study
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 4 – Arithmetic Functions Logic and Computer.
Introduction to CMOS VLSI Design Lecture 11: Adders David Harris Harvey Mudd College Spring 2004.
Bar Ilan University, Engineering Faculty
1. Copyright  2005 by Oxford University Press, Inc. Computer Architecture Parhami2 Figure 10.1 Truth table and schematic diagram for a binary half-adder.
ECE2030 Introduction to Computer Engineering Lecture 12: Building Blocks for Combinational Logic (3) Adders/Subtractors, Parity Checkers Prof. Hsien-Hsin.
Chapter 6-1 ALU, Adder and Subtractor
Arithmetic Building Blocks
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
Basic Addition Review Basic Adders and the Carry Problem
Nov 10, 2008ECE 561 Lecture 151 Adders. Nov 10, 2008ECE 561 Lecture 152 Adders Basic Ripple Adders Faster Adders Sequential Adders.
Computing Systems Designing a basic ALU.
درس مدارهای منطقی دانشگاه قم مدارهای منطقی محاسباتی تهیه شده توسط حسین امیرخانی مبتنی بر اسلایدهای درس مدارهای منطقی دانشگاه.
How does CLA (carry look- ahead adder) work? Wei-jen Hsu TA for EE457 at USC, fall 2004 Modified fall 2005.
Spring C:160/55:132 Page 1 Lecture 19 - Computer Arithmetic March 30, 2004 Sukumar Ghosh.
CDA 3101 Fall 2013 Introduction to Computer Organization The Arithmetic Logic Unit (ALU) and MIPS ALU Support 20 September 2013.
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.
EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 1 Digital Integrated Circuits A Design Perspective Arithmetic Circuits Jan M. Rabaey Anantha.
Logic and computers 2/6/12. Binary Arithmetic /6/ Only two digits: the bits 0 and 1 (Think: 0 = F, 1.
COMP541 Arithmetic Circuits
Unrolling Carry Recurrence
Digital Integrated Circuits© Prentice Hall 1995 Arithmetic Arithmetic Building Blocks.
Building a Faster Adder
COMP541 Arithmetic Circuits
Computer Science 101 More Devices: Arithmetic. From 1-Bit Equality to N-Bit Equality = A B A = B Two bit strings.
EE466: VLSI Design Lecture 13: Adders
Computer Architecture
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.
CPEN Digital System Design
Addition, Subtraction, Logic Operations and ALU Design
1 Lecture 11: Hardware for Arithmetic Today’s topics:  Logic for common operations  Designing an ALU  Carry-lookahead adder.
EE141 Arithmetic Circuits 1 Chapter 14 Arithmetic Circuits Rev /12/2003 Rev /05/2003.
Topic: N-Bit parallel and Serial adder
ETE 204 – Digital Electronics Combinational Logic Design Single-bit and Multiple-bit Adder Circuits [Lecture: 9] Instructor: Sajib Roy Lecturer, ETE,ULAB.
EE141 Arithmetic Circuits 1 Chapter 14 Arithmetic Circuits Rev /12/2003.
Combinational Circuits
Unit5 Combinational circuit and instrumentation system.
ECE 331 – Digital System Design
CSE Winter 2001 – Arithmetic Unit - 1
Combinational Circuits
Presentation transcript:

Fall 2008EE VLSI Design I - © Kia Bazargan 1 EE 5323 – VLSI Design I Kia Bazargan University of Minnesota Adders

Fall 2008EE VLSI Design I - © Kia Bazargan 2 References and Copyright Textbooks referenced  [WE92] N. H. E. Weste, K. Eshraghian “Principles of CMOS VLSI Design: A System Perspective ” Addison-Wesley, 2 nd Ed.,  [Rab96] J. M. Rabaey “Digital Integrated Circuits: A Design Perspective ” Prentice Hall,  [Par00] B. Parhami “Computer Arithmetic: Algorithms and Hardware Designs ” Oxford University Press, 2000.

Fall 2008EE VLSI Design I - © Kia Bazargan 3 References and Copyright (cont.) Slides used  [©Hauck] © Scott A. Hauck, ; G. Borriello, C. Ebeling, S. Burns, 1995, University of Washington  [©Prentice Hall] © Prentice Hall 1995, © UCB 1996 Slides for [Rab96]  [ ©Oxford U Press] © Oxford University Press, New York, 2000 Slides for [Par00] With permission from the author

Fall 2008EE VLSI Design I - © Kia Bazargan 4 Why Adders? Addition: a fundamental operation  Basic block of most arithmetic operations  Address calculation Faster, faster and faster How?  Architectural level optimization  Gate-level optimization  Speed/area trade-off

Fall 2008EE VLSI Design I - © Kia Bazargan 5 Outline One-bit adder, basic ripple-carry adder Carry-Lookahead adders (CLA) Brent-Kung adder

Fall 2008EE VLSI Design I - © Kia Bazargan 6 One-bit Half Adder: One-bit Full Adder: Adding Two One-bit Operands Sum = A  B  Cin Cout = A.B + B.Cin + A.Cin FA AB C in C out Sum Sum = A  B Cout = A.B HA AB C out Sum A B Sum Cout C in A B Sum Cout

Fall 2008EE VLSI Design I - © Kia Bazargan 7 N-Bit Ripple-Carry Adder: Series of FA Cells To add two n-bit numbers C0C0 FA A0A0 S0S0 B0B0 A1A1 S1S1 B1B1 A2A2 S2S2 B2B2 A n-1 S n-1 B n-1 CnCn... Note: adder delay = Tc * n Tc = (C in :C out delay) FA AB CinCin C ou t Sum

Fall 2008EE VLSI Design I - © Kia Bazargan 8 4-bit Ripple Carry Addition: Example C0C0 FA A0A0 S0S0 B0B0 A1A1 S1S1 B1B1 A2A2 S2S2 B2B2 A3A3 S3S3 B3B3 C4C4 C1C1 C2C2 C3C3 T= T=0 B=0101 A=0011 S=0000 S= T=2 S= T=3 S= T=4 S=1000

Fall 2008EE VLSI Design I - © Kia Bazargan 9 One-bit Full Adder Implementation Direct gate implementation Cout = A.B + B.Cin + A.Cin = A.B + Cin. (A+B) Sum = A  B  Cin A B Cin Sum A B A B Cin Cout 32 Transistors Used [WE92] p516

Fall 2008EE VLSI Design I - © Kia Bazargan 10 includes 111 excludes 000 One-Bit Full Adder: Share Logic An observation  Almost always, sum = NOT carry C in A B Sum Cout Sum = A.B.Cin + (A+B+Cin).Cout

Fall 2008EE VLSI Design I - © Kia Bazargan 11 One-Bit Full Adder: Transistor Implementation Sum = A.B.C + (A+B+C).Cout Cout = A.B + C.(A+B) A B B A C A B AB C Cout C B A A B C C B A C BA Sum –Use inverters to get Cout and Sum –C transistors close to output –Cout delay: 2 inverting stages (1-stage possible?) –Sum delay: 3 inverting stages (not an issue, though) 28 Transistors [WE92] p517 [Rab96] p390

Fall 2008EE VLSI Design I - © Kia Bazargan 12 Outline One-bit adder, basic ripple-carry adder Carry-Lookahead adders (CLA) Brent-Kung adder

Fall 2008EE VLSI Design I - © Kia Bazargan 13 Carry-Lookahead Adder: Idea New look: carry propagation Idea:  Try to “predict” C k earlier than T c *k  Instead of passing through k stages, compute C k separately using 1-stage CMOS logic Carry propagation: an example Bit position Carry A B Sum

Fall 2008EE VLSI Design I - © Kia Bazargan 14 0-propagate 1-propagategenerate kill (kill) (propagate) (generate) Carry-Lookahead Adder (CLA): One Bit What happens to the propagating carry in bit position k? C C 1 0 C C C A A B B A A B B Cout [Rab96] p391 p = A+B (or A  B) g = A.B A B C in Cout

Fall 2008EE VLSI Design I - © Kia Bazargan 15 CLA: Propagation Equations If C 4 =1, then either:  g 3 generated at bit pos 3  g 2.p 3 generated at bit pos 2, propagated 3  g 1.p 2.p 3 generated at bit pos 1, propagated 2,3  g 0.p 1.p 2.p 3 generated at bit pos 0, propagated 1,2,3  C in.p 0.p 1.p 2.p 3 input carry, propagated 0,1,2,3 C 4 = g 3 + g 2.p 3 + g 1.p 2.p 3 + g 0.p 1.p 2.p 3 + C in.p 0.p 1.p 2.p 3 Implement C 4 as a one-stage CMOS logic  large delay

Fall 2008EE VLSI Design I - © Kia Bazargan 16 CLA: 12-Bit Example T= B= A= T= T= T=4

Fall 2008EE VLSI Design I - © Kia Bazargan 17 Summary: Carry Lookahead Adder CLA compared to ripple-carry adder:  Faster (“4 times”?), but delay still linear (w.r.t. # of bits)  Larger area oP, G signal generation oCarry generation circuits oCarry generation ckt for each bit position (no re-use) Limitation: cannot go beyond 4 bits of look-ahead  Large p,g fan-out slows down carry generation

Fall 2008EE VLSI Design I - © Kia Bazargan 18 Outline One-bit adder, basic ripple-carry adder Carry-Lookahead adders (CLA) Brent-Kung adder

Fall 2008EE VLSI Design I - © Kia Bazargan 19 Binary Carry-Lookahead or Brent-Kung Adder Idea: use binary tree for carry propagation  logarithmic delay A 7 F A 6 A 5 A 4 A 3 A 2 A 1 A 0 A 0 A 1 A 2 A 3 A 4 A 5 A 6 A 7 F t p  log 2 (N) t p  N [© Prentice Hall]

Fall 2008EE VLSI Design I - © Kia Bazargan 20 Brent-Kung Adder Basic component Concatenation MSBLSB g left p left g right p right g p (g, p) g = g left + p left g right p = p left p right (g left, p left )  (g right p right ) [©Hauck]

Fall 2008EE VLSI Design I - © Kia Bazargan 21 No! Doesn’t know about C 0-3 yet! C5?C5? Brent-Kung Adder: Structure Define (Gi, Pi)  generate and propagate for least significant i bits (G 0,P 0 ) = (g 0,p 0 )g i = A i.B i p i = A i  B i for i>0: (G i, P i ) = (g i, p i ) (G i-1, P i-1 ) = (g i, p i ) (g i-1, p i-1 ).... (g 1, p 1 ) Key to Brent-Kung adder – use tree structure to perform concatenations [©Hauck]

Fall 2008EE VLSI Design I - © Kia Bazargan 22 Brent-Kung: the Complete Tree t add  log 2 (N) [© Prentice Hall] (g 0,p 0 ) (g 1,p 1 ) (g 2,p 2 ) (g 3,p 3 ) (g 4,p 4 ) (g 5,p 5 ) (g 6,p 6 ) (g 7,p 7 ) C 0 C 1 C 3 C 7 C 2 C 6 C 5 C 4

Fall 2008EE VLSI Design I - © Kia Bazargan 23 Brent-Kung: Timing [©Oxford U Press] [Par00] p.102 x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 x 13 x 14 x 15 s 0 s 1 s 2 s 3 s 4 s 5 s 6 s 7 s 8 s 9 s 10 s 11 s 12 s 13 s 14 s Level

Fall 2008EE VLSI Design I - © Kia Bazargan 24 Brent-Kung Adder: Summary Area  On average, twice as large as ripple adder  Layout of the cells is very compact Delay  Logarithmic time  Once carry signals are ready, sum bits derived in const time  Good for wide adders