Advanced VLSI Design Unit 05: Datapath Units. Slide 2 Outline  Adders  Comparators  Shifters  Multi-input Adders  Multipliers.

Slides:



Advertisements
Similar presentations
Multiplication and Shift Circuits Dec 2012 Shmuel Wimer Bar Ilan University, Engineering Faculty Technion, EE Faculty 1.
Advertisements

ECE2030 Introduction to Computer Engineering Lecture 13: Building Blocks for Combinational Logic (4) Shifters, Multipliers Prof. Hsien-Hsin Sean Lee School.
Introduction So far, we have studied the basic skills of designing combinational and sequential logic using schematic and Verilog-HDL Now, we are going.
Arithmetic for Computers
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.
Computer Organization and Design Arithmetic & Logic Circuits Henry Fuchs Slides adapted from Montek Singh, who adapted them from Leonard McMillan and from.
Design and Implementation of VLSI Systems (EN1600) Lecture 27: Datapath Subsystems 3/4 Prof. Sherief Reda Division of Engineering, Brown University Spring.
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.]
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 29: Datapath Subsystems 3/3 Prof. Sherief Reda Division of Engineering,
EECS Components and Design Techniques for Digital Systems Lec 18 – Arithmetic II (Multiplication) David Culler Electrical Engineering and Computer.
ECE C03 Lecture 61 Lecture 6 Arithmetic Logic Circuits Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
UNIVERSITY OF MASSACHUSETTS Dept
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.
Lecture 8 Arithmetic Logic Circuits
Combinational Comparators
EE466: VLSI Design Lecture 14: Datapath Functional Units.
Lecture 17: Adders.
Introduction to CMOS VLSI Design Datapath Functional Units
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.
Datapath Functional Units Adapted from David Harris of Harvey Mudd College.
Chapter 5 Arithmetic Logic Functions. Page 2 This Chapter..  We will be looking at multi-valued arithmetic and logic functions  Bitwise AND, OR, EXOR,
Introduction to CMOS VLSI Design Lecture 11: Adders David Harris Harvey Mudd College Spring 2004.
Lecture 18: Datapath Functional Units
1 Bits are just bits (no inherent meaning) — conventions define relationship between bits and numbers Binary numbers (base 2)
Aug Shift Operations Source: David Harris. Aug Shifter Implementation Regular layout, can be compact, use transmission gates to avoid threshold.
Chapter 6-2 Multiplier Multiplier Next Lecture Divider
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Logic Circuits I.
Digital Integrated Circuits Chpt. 5Lec /29/2006 CSE477 VLSI Digital Circuits Fall 2002 Lecture 21: Multiplier Design Mary Jane Irwin (
Chapter # 5: Arithmetic Circuits
Introduction to Computer Organization and Architecture Lecture 10 By Juthawut Chantharamalee wut_cha/home.htm.
Arithmetic Building Blocks
Arithmetic Building Blocks
Spring 2002EECS150 - Lec12-cl3 Page 1 EECS150 - Digital Design Lecture 12 - Combinational Logic Circuits Part 3 March 4, 2002 John Wawrzynek.
1 Chapter 7 Computer Arithmetic Smruti Ranjan Sarangi Computer Organisation and Architecture PowerPoint Slides PROPRIETARY MATERIAL. © 2014 The McGraw-Hill.
55:035 Computer Architecture and Organization Lecture 5.
EECS Components and Design Techniques for Digital Systems Lec 16 – Arithmetic II (Multiplication) David Culler Electrical Engineering and Computer.
Modern VLSI Design 4e: Chapter 6 Copyright  2008 Wayne Wolf Topics n Shifters. n Adders and ALUs.
Computing Systems Designing a basic ALU.
FPGA-Based System Design: Chapter 4 Copyright  2003 Prentice Hall PTR Topics n Number representation. n Shifters. n Adders and ALUs.
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.
EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 1 Digital Integrated Circuits A Design Perspective Arithmetic Circuits Jan M. Rabaey Anantha.
1 Arithmetic I Instructor: Mozafar Bag-Mohammadi Ilam University.
COMP541 Arithmetic Circuits
EE466: VLSI Design Lecture 13: Adders
B1000 ALU ENGR xD52 Eric VanWyk Fall Today Review Timing with Adders Construct Adder/Subtractor Construct ALU.
ECE/CS 552: Arithmetic I Instructor:Mikko H Lipasti Fall 2010 University of Wisconsin-Madison Lecture notes partially based on set created by Mark Hill.
Lecture #23: Arithmetic Circuits-1 Arithmetic Circuits (Part I) Randy H. Katz University of California, Berkeley Fall 2005.
Computer Organization and Design Arithmetic & Logic Circuits Montek Singh Nov 2, 2015 Lecture 11.
EE141 Arithmetic Circuits 1 Chapter 14 Arithmetic Circuits Rev /12/2003 Rev /05/2003.
Lecture 18: Datapath Functional Units
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.
Introduction to VLSI Design Datapath
EE141 Arithmetic Circuits 1 Chapter 14 Arithmetic Circuits Rev /12/2003.
B0110 ALU ENGR xD52 Eric VanWyk Fall Today Back to Gates! Review Timing with Adders Compare Growth Characteristics Construct Adder/Subtractor Construct.
Full Adder Truth Table Conjugate Symmetry A B C CARRY SUM
Lecture 18: Datapath Functional Units. CMOS VLSI DesignCMOS VLSI Design 4th Ed. 18: Datapath Functional Units2 Outline  Multipliers.
Combinational Circuits
Arithmetic Circuits (Part I) Randy H
CS 140 Lecture 14 Standard Combinational Modules
CSE 140 Lecture 14 Standard Combinational Modules
ECE 352 Digital System Fundamentals
Combinational Circuits
Introduction to VLSI Design Datapath
Presentation transcript:

Advanced VLSI Design Unit 05: Datapath Units

Slide 2 Outline  Adders  Comparators  Shifters  Multi-input Adders  Multipliers

Slide 3 Single-Bit Addition Half Adder Full Adder ABC out S ABC S

Slide 4 Full Adder Design  Brute force implementation from eqns

Slide 5 Layout  Clever layout circumvents usual line of diffusion –Use wide transistors on critical path –Eliminate output inverters

Slide 6 Carry Propagate Adders  N-bit adder called CPA –Each sum bit depends on all previous carries –How do we compute all these carries quickly?

Slide 7 Carry-Ripple Adder  Simplest design: cascade full adders –Critical path goes from Cin to Cout –Design full adder to have fast carry delay

Slide 8 Inversions  Critical path passes through majority gate –Built from minority + inverter –Eliminate inverter and use inverting full adder

Slide 9 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

Slide 10 Carry-Lookahead Adder  Carry-lookahead adder computes G i:0 for many bits in parallel.

Slide 11 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

Slide 12 Tree Adder  If lookahead is good, lookahead across lookahead! –Recursive lookahead gives O(log N) delay  Many variations on tree adders

Slide 13 Comparators  0’s detector:A = 00…000  1’s detector: A = 11…111  Equality comparator:A = B  Magnitude comparator:A < B

Slide 14 1’s & 0’s Detectors  1’s detector: N-input AND gate  0’s detector: NOTs + 1’s detector (N-input NOR)

Slide 15 Equality Comparator  Check if each bit is equal (XNOR, aka equality gate)  1’s detect on bitwise equality

Slide 16 Magnitude Comparator  Compute B-A and look at sign  B-A = B + ~A + 1  For unsigned numbers, carry out is sign bit

Slide 17 Signed vs. Unsigned  For signed numbers, comparison is harder –C: carry out –Z: zero (all bits of A-B are 0) –N: negative (MSB of result) –V: overflow (inputs had different signs, output sign  B)

Slide 18 Shifters  Logical Shift: –Shifts number left or right and fills with 0’s 1011 LSR 1 = LSL1 = 0110  Arithmetic Shift: –Shifts number left or right. Rt shift sign extends 1011 ASR1 = ASL1 = 0110  Rotate: –Shifts number left or right and fills with lost bits 1011 ROR1 = ROL1 = 0111

Slide 19 Funnel Shifter  A funnel shifter can do all six types of shifts  Selects N-bit field Y from 2N-bit input –Shift by k bits (0  k < N)

Slide 20 Funnel Shifter Operation  Computing N-k requires an adder

Slide 21 Simplified Funnel Shifter  Optimize down to 2N-1 bit input

Slide 22 Funnel Shifter Design 1  N N-input multiplexers –Use 1-of-N hot select signals for shift amount –nMOS pass transistor design (V t drops!)

Slide 23 Funnel Shifter Design 2  Log N stages of 2-input muxes –No select decoding needed

Slide 24 Multi-input Adders  Suppose we want to add k N-bit words –Ex: =  Straightforward solution: k-1 N-input CPAs –Large and slow

Slide 25 Carry Save Addition  A full adder sums 3 inputs and produces 2 outputs –Carry output has twice weight of sum output  N full adders in parallel are called carry save adder –Produce N sums and N carry outs

Slide 26 CSA Application  Use k-2 stages of CSAs –Keep result in carry-save redundant form  Final CPA computes actual result

Slide 27 CSA Application  Use k-2 stages of CSAs –Keep result in carry-save redundant form  Final CPA computes actual result

Slide 28 CSA Application  Use k-2 stages of CSAs –Keep result in carry-save redundant form  Final CPA computes actual result

Slide 29 Multiplication  Example:  M x N-bit multiplication –Produce N M-bit partial products –Sum these to produce M+N-bit product

Slide 30 General Form  Multiplicand: Y = (y M-1, y M-2, …, y 1, y 0 )  Multiplier: X = (x N-1, x N-2, …, x 1, x 0 )  Product:

Slide 31 Dot Diagram  Each dot represents a bit

Slide 32 Array Multiplier

Slide 33 Rectangular Array  Squash array to fit rectangular floorplan

Slide 34 Fewer Partial Products  Array multiplier requires N partial products  If we looked at groups of r bits, we could form N/r partial products. –Faster and smaller? –Called radix-2 r encoding  Ex: r = 2: look at pairs of bits –Form partial products of 0, Y, 2Y, 3Y –First three are easy, but 3Y requires adder 

Slide 35 Booth Encoding  Instead of 3Y, try –Y, then increment next partial product to add 4Y  Similarly, for 2Y, try –2Y + 4Y in next partial product

Slide 36 Booth Hardware  Booth encoder generates control lines for each PP –Booth selectors choose PP bits

Slide 37 Sign Extension  Partial products can be negative –Require sign extension, which is cumbersome –High fanout on most significant bit

Slide 38 Simplified Sign Ext.  Sign bits are either all 0’s or all 1’s –Note that all 0’s is all 1’s + 1 in proper column –Use this to reduce loading on MSB

Slide 39 Even Simpler Sign Ext.  No need to add all the 1’s in hardware –Precompute the answer!

Slide 40 Advanced Multiplication  Signed vs. unsigned inputs  Higher radix Booth encoding  Array vs. tree CSA networks