EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 1 Digital Integrated Circuits A Design Perspective Arithmetic Circuits Jan M. Rabaey Anantha.

Slides:



Advertisements
Similar presentations
Feb. 17, 2011 Midterm overview Real life examples of built chips
Advertisements

CPE 626 CPU Resources: Adders & Multipliers Aleksandar Milenkovic Web:
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.
Digital Integrated Circuits A Design Perspective
Using Carry-Save Adders For Radix- 4, Can Be Used to Generate 3a – No Booth’s Slight Delay Penalty from CSA – 3 Gates.
Datapath Functional Units. Outline  Comparators  Shifters  Multi-input Adders  Multipliers.
Henry Hexmoor1 Chapter 5 Arithmetic Functions Arithmetic functions –Operate on binary vectors –Use the same subfunction in each bit position Can design.
EE 382 Processor DesignWinter 98/99Michael Flynn 1 AT Arithmetic Most concern has gone into creating fast implementation of (especially) FP Arith. Under.
EECS Components and Design Techniques for Digital Systems Lec 17 – Addition, Subtraction, and Negative Numbers David Culler Electrical Engineering.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE VLSI Circuit Design Lecture 24 - Subsystem.
EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 1 [Adapted from Rabaey’s Digital Integrated Circuits, ©2002, J. Rabaey et al.]
VLSI Arithmetic Adders Prof. Vojin G. Oklobdzija University of California
IMPLEMENTATION OF µ - PROCESSOR DATA PATH
Introduction to VLSI Circuits and Systems, NCUT 2007 Chapter 12 Arithmetic Circuits in CMOS VLSI Introduction to VLSI Circuits and Systems 積體電路概論 賴秉樑 Dept.
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,
Spring 2006EE VLSI Design II - © Kia Bazargan 187 EE 5324 – VLSI Design II Kia Bazargan University of Minnesota Part IV: Control Path and Busses.
EE466: VLSI Design Lecture 14: Datapath Functional Units.
Digital Integrated Circuits© Prentice Hall 1995 Arithmetic Arithmetic Building Blocks.
Fall 2008EE VLSI Design I - © Kia Bazargan 1 EE 5323 – VLSI Design I Kia Bazargan University of Minnesota Adders.
Introduction to CMOS VLSI Design Datapath Functional Units
S. Reda EN1600 SP’08 Design and Implementation of VLSI Systems (EN0160) Lecture 28: Datapath Subsystems 4/4 Prof. Sherief Reda Division of Engineering,
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.
Bar Ilan University, Engineering Faculty
Lecture 18: Datapath Functional Units
Chapter 6-2 Multiplier Multiplier Next Lecture Divider
Evolution in Complexity Evolution in Transistor Count.
VLSI Arithmetic Adders & Multipliers Prof. Vojin G. Oklobdzija University of California
Abdullah Aldahami ( ) Feb26, Introduction 2. Feedback Switch Logic 3. Arithmetic Logic Unit Architecture a.Ripple-Carry Adder b.Kogge-Stone.
Digital Integrated Circuits Chpt. 5Lec /29/2006 CSE477 VLSI Digital Circuits Fall 2002 Lecture 21: Multiplier Design Mary Jane Irwin (
IKI a-Combinatorial Components Bobby Nazief Semester-I The materials on these slides are adopted from those in CS231’s Lecture Notes.
Chapter 6-1 ALU, Adder and Subtractor
Arithmetic Building Blocks
EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 1 Digital Integrated Circuits A Design Perspective Arithmetic Circuits Reference: Digital Integrated.
Arithmetic Building Blocks
Advanced VLSI Design Unit 05: Datapath Units. Slide 2 Outline  Adders  Comparators  Shifters  Multi-input Adders  Multipliers.
1/8/ L3 Data Path DesignCopyright Joanne DeGroat, ECE, OSU1 ALUs and Data Paths Subtitle: How to design the data path of a processor.
Chapter 14 Arithmetic Circuits (I): Adder Designs Rev /12/2003
CSE115: Digital Design Lecture 20: Comparators, Adders and Subtractors Faculty of Engineering.
July 2005Computer Architecture, The Arithmetic/Logic UnitSlide 1 Part III The Arithmetic/Logic Unit.
Modern VLSI Design 4e: Chapter 6 Copyright  2008 Wayne Wolf Topics n Shifters. n Adders and ALUs.
A Reconfigurable Low-power High-Performance Matrix Multiplier Architecture With Borrow Parallel Counters Counters : Rong Lin SUNY at Geneseo
FPGA-Based System Design: Chapter 4 Copyright  2003 Prentice Hall PTR Topics n Number representation. n Shifters. n Adders and ALUs.
CDA 3101 Fall 2013 Introduction to Computer Organization The Arithmetic Logic Unit (ALU) and MIPS ALU Support 20 September 2013.
EE 466/586 VLSI Design Partha Pande School of EECS Washington State University
EE2174: Digital Logic and Lab Professor Shiyan Hu Department of Electrical and Computer Engineering Michigan Technological University CHAPTER 8 Arithmetic.
COMP541 Arithmetic Circuits
Digital Integrated Circuits© Prentice Hall 1995 Arithmetic Arithmetic Building Blocks.
COMP541 Arithmetic Circuits
CMPEN 411 VLSI Digital Circuits Spring 2009 Lecture 19: Adder Design
Digital Integrated Circuits 2e: Chapter Copyright  2002 Prentice Hall PTR, Adapted by Yunsi Fei ECE 300 Advanced VLSI Design Fall 2006 Lecture.
CPEN Digital System Design
CSE477 VLSI Digital Circuits Fall 2002 Lecture 20: Adder Design
Sp09 CMPEN 411 L21 S.1 CMPEN 411 VLSI Digital Circuits Spring 2009 Lecture 21: Shifters, Decoders, Muxes [Adapted from Rabaey’s Digital Integrated Circuits,
UNIT 2. ADDITION & SUBTRACTION OF SIGNED NUMBERS.
CSE477 L21 Multiplier Design.1Irwin&Vijay, PSU, 2002 CSE477 VLSI Digital Circuits Fall 2002 Lecture 21: Multiplier Design Mary Jane Irwin (
EE141 Arithmetic Circuits 1 Chapter 14 Arithmetic Circuits Rev /12/2003 Rev /05/2003.
EE141 Arithmetic Circuits 1 Chapter 14 Arithmetic Circuits Rev /12/2003.
Full Adder Truth Table Conjugate Symmetry A B C CARRY SUM
Subtitle: How to design the data path of a processor.
Multiplier Design [Adapted from Rabaey’s Digital Integrated Circuits, Second Edition, ©2003 J. Rabaey, A. Chandrakasan, B. Nikolic]
Swamynathan.S.M AP/ECE/SNSCT
Mary Jane Irwin ( ) CSE477 VLSI Digital Circuits Fall 2003 Lecture 22: Shifters, Decoders, Muxes Mary Jane.
VLSI Arithmetic Adders & Multipliers
Digital Integrated Circuits A Design Perspective
Lecture 9 Digital VLSI System Design Laboratory
Arithmetic Building Blocks
Arithmetic Circuits.
Presentation transcript:

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 1 Digital Integrated Circuits A Design Perspective Arithmetic Circuits Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 2 A Generic Digital Processor

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 3 Building Blocks for Digital Architectures Arithmetic unit - Bit-sliced datapath(adder, multiplier, shifter, comparator, etc.) Memory - RAM, ROM, Buffers, Shift registers Control - Finite state machine (PLA, random logic.) - Counters Interconnect - Switches - Arbiters - Bus

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 4 Arithmetic building blocks  Speed and power of arithmetic components often dominates the overall system performance  For each module, multiple topologies and ways of design exists, with each of them has its own advantages  A global picture is of crucial importance. A designer focus their attention on gates or transistors that have the largest impact on their goal function. Non-critical components can be developed routinely.  Typically two optimization process: logic optimization (re-arrange Boolean equations so that a faster or small circuit could be obtained) and circuit optimization (manipulate circuit topology and transistor sizes to optimize speed)

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 5 Bit-Sliced Design Since the same operation has to be performed on each bit of a data word, the data path can consist of the number of bit slices (equal to the word length), each operating on a single bit – hence the term bit-sliced

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 6 Adders

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 7 Full-Adder

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 8 The Binary Adder

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 9 The Ripple-Carry Adder Worst case delay linear with the number of bits Goal: Make the fastest possible carry path circuit t d = O(N) t adder = (N-1)t carry + t sum

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 10 Complimentary Static CMOS Full Adder 28 Transistors

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 11 Complimentary Static CMOS Full Adder  Large PMOS stacks are present in both carry and sum generation circuits  Intrinsic load capacitance of C o signal is large and consists of eight capacitance components  There is one more inverter delay for carry and sum (worse when the load capacitance is large)  Note that critical signal C i closer to the output node

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 12 Express Sum and Carry as a function of P, G, D Define 3 new variable which ONLY depend on A, B Generate (G) = AB Propagate (P) = A  B Delete (D) = A B Can also derive expressions for S and C o based on D and P Propagate (P) = A  B Note that we will be sometimes using an alternate definition for

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 13 Transmission Gate XOR When B=1, M1/M2 inverter, M3/M4 off, so F=AB When B=0, M1/M2 off, M3/M4 transmission gate, so F=AB

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 14 Transmission Gate Full Adder

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 15 Manchester Carry Chain Generate (G) = AB Propagate (P) = A  B Delete =A B Prevent floating C o

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 16 Full-Adder

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 17 Manchester Carry Chain

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 18 Manchester Carry Chain Stick Diagram

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 19 Manchester Carry Chain  Delay for the Manchester Carry Chain can be modeled similar to a linearized RC network as in transmission-gates  This means the propagation delay is quadratic in the number of bits N (but does not imply the delay will be larger than the ripple carry adder)  It might be necessary to insert signal buffering inverters.  Still a ripple carry adder, typically only good for small word length (<8/16 bits)  We need faster adders for computer and multimedia applications with word length bits

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 20 Carry-Bypass Adder Also called Carry-Skip Break the bit-slice organization G0G0 G0G0 P1P1 P1P1 “delete” or “generate”

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 21 Carry-Bypass Adder (cont.) t adder = t setup + Mt carry + (N/M-1)t bypass + (M-1)t carry + t sum T setup : overhead time to create G, P, D signals (worst case)

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 22 Carry Ripple versus Carry Bypass (both still linear)

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 23 Carry-Select Adder

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 24 Carry Select Adder: Critical Path

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 25 Linear Carry Select t adder = t setup + Mt carry + (N/M)t mux + t sum

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 26 Square Root Carry Select M

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 27 Adder Delays - Comparison Bypass

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 28 LookAhead - Basic Idea

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 29 Look-Ahead: Topology Expanding Lookahead equations: All the way:

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 30 Look-Ahead Adder: Logarithmic adder

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 31 Carry Look-Ahead Trees Can continue building the tree hierarchically. =G 1:0 +P 1:0 C 0 (G 1:0 =G 1 +P 1 G 0 P 1:0 =P 1 P 0 ) C 0 = G 0 + P 0 C in C 1 = G 1 + P 1 C 0 C 2 = G 2 + P 2 C 1 C 3 = G 3 + P 3 C 2 C 0 = G 0 + P 0 C in C 1 = G 1 + P 1 C 0 = G 1 + G 0 P 1 + P 1 P 0 C in C 2 = G 2 + P 2 C 1 = G 2 + G 1 P 2 + G 0 P 2 P 1 + P 2 P 1 P 0 C in =G 2:1 +P 2:1 C 0 (G 2:1 =G 2 +P 2 G 1 P 2:1 =P 2 P 1 ) C 3 = G 3 + P 3 C 2 = G 3 + G 2 P 3 + G 1 P 3 P 2 + G 0 P 3 P 2 P 1 + P 3 P 2 P 1 P 0 C in =G 3:2 +P 3:2 C 1 =G 3:2 +P 3:2 (G 1:0 +P 1:0 C 0 )=(G 3:2 +P 3:2 G 1:0 )+P 3:2 P 1:0 C 0 G 3:2 =(G 3 +P 3 G 2 ) and P 3:2 =P 3 P 2 are called dot products.

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 32 Tree Adders 16-bit radix-2 Kogge-Stone tree (radix 2 means that the tree is Binary: it combines two dot product or carry words at a time at Each level of hierarchy)

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 33 Tree Adders 16-bit radix-4 Kogge-Stone Tree

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 34 Sparse Trees 16-bit radix-2 sparse tree with sparseness of 2

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 35 Tree Adders Brent-Kung Tree

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 36 Intel Itanium Microprocessor Itanium has 6 integer execution units like this

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 37 Bit-Sliced Design

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 38 Bit-Sliced Datapath The adder is implemented as a radix-4 Carry Look- Ahead adder, the red lines are forwarding the results of different stages

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 39 Itanium Integer Datapath Courtesy of Intel

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 40 Multipliers

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 41 The Binary Multiplication

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 42 The Binary Multiplication

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 43 The Array Multiplier (4 by 4) The carryout of the last adder for Y i is forwarded to Y i+1 carry sum Half adder

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 44 The MxN Array Multiplier — Critical Path Critical Path 1 & 2

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 45 Carry-Save Multiplier  A more efficient realization can be obtained by noticing that the multiplication results does not change when the output carry bits are passed diagonally downwards instead of to the right.  But need extra adders (vector merging adders) that can use fast carry look ahead adders (since results come at the same time)  Critical path is uniquely defined

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 46 Multiplier Floorplan

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 47 Wallace-Tree Multiplier Save the number of full adders Increase the complexity of routing

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 48 Wallace-Tree Multiplier HA Can use carry Look-Ahead adder for the last stage

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 49 Wallace-Tree Multiplier

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 50 Booth encoding  Multiply by gives 8 partial products, but two are all zero. Add these zero is waste of time.  Instead, multiply by , where 1 stands for -1. Then you need to only add (actually subtract) partial products, which improves speed  This kind of transformation is called booth encoding. It reduces the number of partial product to at most half of the original multiplier width.  The encoding logic is easily incorporated in the overall multiplier design.

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 51 Multipliers —Summary This is also why algorithmic invention has significant meaning to VLSI design.

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 52 Shifters

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 53 The Binary Shifter

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 54 The Barrel Shifter Area Dominated by Wiring Column: maximum shift Word length

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 55 4x4 barrel shifter  Coder/decoder required to set shift bits  Signal pass through one gate independent of shift amount (parasitic capacitance may change the picture)

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 56 Logarithmic Shifter No separate coder/decoder is required

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 57 A 3 A 2 A 1 A 0 Out3 Out2 Out1 Out0 0-7 bit Logarithmic Shifter Good for large shift amount (note that cascade pass transistor slow down the gate and generate weak signals, buffers may be needed)

EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 58 Building Blocks for Digital Architectures Arithmetic unit - Bit-sliced datapath(adder, multiplier, shifter, comparator) (comparator, divider, sin, cos etc)