EE466: VLSI Design Lecture 14: Datapath Functional Units.

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.
Arithmetic Functions and Circuits
Datapath Functional Units. Outline  Comparators  Shifters  Multi-input Adders  Multipliers.
EE 382 Processor DesignWinter 98/99Michael Flynn 1 AT Arithmetic Most concern has gone into creating fast implementation of (especially) FP Arith. Under.
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 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.
Fixed-Point Arithmetics: Part I
ECE C03 Lecture 61 Lecture 6 Arithmetic Logic Circuits Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
UNIVERSITY OF MASSACHUSETTS Dept
Lecture 8 Arithmetic Logic Circuits
Contemporary Logic Design Arithmetic Circuits © R.H. Katz Lecture #24: Arithmetic Circuits -1 Arithmetic Circuits (Part II) Randy H. Katz University of.
Combinational Comparators
1 EE365 Three-state Outputs Encoders Multiplexers XOR gates.
Introduction to CMOS VLSI Design Datapath Functional Units
ECE 301 – Digital Electronics
1 Lecture 4: Arithmetic for Computers (Part 4) CS 447 Jason Bakos.
EE365 Adv. Digital Circuit Design Clarkson University Lecture #8 Buffers, Drivers, Encoders, MUXs & XORs.
Datapath Functional Units Adapted from David Harris of Harvey Mudd College.
Multiplication.
+ CS 325: CS Hardware and Software Organization and Architecture Exam 1: Study Guide.
Lecture 18: Datapath Functional Units
1 Bits are just bits (no inherent meaning) — conventions define relationship between bits and numbers Binary numbers (base 2)
ECE 4110– Sequential Logic Design
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 4 – Arithmetic Functions and HDLs Logic and Computer Design Fundamentals.
Chapter # 5: Arithmetic Circuits
Reading Assignment: Weste: Chapter 8 Rabaey: Chapter 11
Introduction to Computer Organization and Architecture Lecture 10 By Juthawut Chantharamalee wut_cha/home.htm.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Logic Circuits I.
 Recall grade school trick ◦ When multiplying by 9:  Multiply by 10 (easy, just shift digits left)  Subtract once ◦ E.g.  x 9 = x (10.
Reconfigurable Computing - Multipliers: Options in Circuit Design John Morris Chung-Ang University The University of Auckland ‘Iolanthe’ at 13 knots on.
Sequential Multipliers Lecture 9. Required Reading Chapter 9, Basic Multiplication Scheme Chapter 10, High-Radix Multipliers Chapter 12.3, Bit-Serial.
Spring 2002EECS150 - Lec12-cl3 Page 1 EECS150 - Digital Design Lecture 12 - Combinational Logic Circuits Part 3 March 4, 2002 John Wawrzynek.
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.
EECS Components and Design Techniques for Digital Systems Lec 16 – Arithmetic II (Multiplication) David Culler Electrical Engineering and Computer.
1 EE121 John Wakerly Lecture #6 Three-state Outputs Encoders Multiplexers XOR gates.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Logic and Computer Design.
1 Tutorial: ITI1100 Dewan Tanvir Ahmed SITE, UofO.
Lecture 4 Chap 5 Types Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University.
1 Arithmetic and Logic Operations Patt and Patel Ch. 2 & 3.
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.
Digital Logic Design (CSNB163)
CSE 140 Lecture 12 Combinational Standard Modules CK Cheng CSE Dept. UC San Diego 1.
Lecture # 10 University of Tehran
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.
Integer Multiplication and Division COE 301 Computer Organization Dr. Muhamed Mudawar College of Computer Sciences and Engineering King Fahd University.
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.
Logic Design (CE1111 ) Lecture 4 (Chapter 4) Combinational Logic Prepared by Dr. Lamiaa Elshenawy 1.
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
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
Multiplier Design [Adapted from Rabaey’s Digital Integrated Circuits, Second Edition, ©2003 J. Rabaey, A. Chandrakasan, B. Nikolic]
ECE/CS 552: Arithmetic and Logic
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:

EE466: VLSI Design Lecture 14: Datapath Functional Units

CMOS VLSI Design12: Datapath Functional UnitsSlide 2 Outline  Comparators  Shifters  Multi-input Adders  Multipliers

CMOS VLSI Design12: Datapath Functional UnitsSlide 3 Comparators  0’s detector:A = 00…000  1’s detector: A = 11…111  Equality comparator:A = B  Magnitude comparator:A < B

CMOS VLSI Design12: Datapath Functional UnitsSlide 4 1’s & 0’s Detectors  1’s detector: N-input AND gate  0’s detector: NOTs + 1’s detector (N-input NOR)

CMOS VLSI Design12: Datapath Functional UnitsSlide 5 Equality Comparator  Check if each bit is equal (XNOR, aka equality gate)  1’s detect on bitwise equality

CMOS VLSI Design12: Datapath Functional UnitsSlide 6 Magnitude Comparator  Compute B-A and look at sign  B-A = B + ~A + 1  For unsigned numbers, carry out is sign bit

CMOS VLSI Design12: Datapath Functional UnitsSlide 7 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)

CMOS VLSI Design12: Datapath Functional UnitsSlide 8 Shifters  Logical Shift: –Shifts number left or right and fills with 0’s 1011 LSR 1 = ____1011 LSL1 = ____  Arithmetic Shift: –Shifts number left or right. Rt shift sign extends 1011 ASR1 = ____ 1011 ASL1 = ____  Rotate: –Shifts number left or right and fills with lost bits 1011 ROR1 = ____ 1011 ROL1 = ____

CMOS VLSI Design12: Datapath Functional UnitsSlide 9 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

CMOS VLSI Design12: Datapath Functional UnitsSlide 10 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)

CMOS VLSI Design12: Datapath Functional UnitsSlide 11 Funnel Shifter Operation  Computing N-k requires an adder

CMOS VLSI Design12: Datapath Functional UnitsSlide 12 Funnel Shifter Operation  Computing N-k requires an adder

CMOS VLSI Design12: Datapath Functional UnitsSlide 13 Funnel Shifter Operation  Computing N-k requires an adder

CMOS VLSI Design12: Datapath Functional UnitsSlide 14 Funnel Shifter Operation  Computing N-k requires an adder

CMOS VLSI Design12: Datapath Functional UnitsSlide 15 Funnel Shifter Operation  Computing N-k requires an adder

CMOS VLSI Design12: Datapath Functional UnitsSlide 16 Simplified Funnel Shifter  Optimize down to 2N-1 bit input

CMOS VLSI Design12: Datapath Functional UnitsSlide 17 Simplified Funnel Shifter  Optimize down to 2N-1 bit input

CMOS VLSI Design12: Datapath Functional UnitsSlide 18 Simplified Funnel Shifter  Optimize down to 2N-1 bit input

CMOS VLSI Design12: Datapath Functional UnitsSlide 19 Simplified Funnel Shifter  Optimize down to 2N-1 bit input

CMOS VLSI Design12: Datapath Functional UnitsSlide 20 Simplified Funnel Shifter  Optimize down to 2N-1 bit input

CMOS VLSI Design12: Datapath Functional UnitsSlide 21 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!)

CMOS VLSI Design12: Datapath Functional UnitsSlide 22 Funnel Shifter Design 2  Log N stages of 2-input muxes –No select decoding needed

CMOS VLSI Design12: Datapath Functional UnitsSlide 23 Multi-input Adders  Suppose we want to add k N-bit words –Ex: = _____

CMOS VLSI Design12: Datapath Functional UnitsSlide 24 Multi-input Adders  Suppose we want to add k N-bit words –Ex: = 10111

CMOS VLSI Design12: Datapath Functional UnitsSlide 25 Multi-input Adders  Suppose we want to add k N-bit words –Ex: =  Straightforward solution: k-1 N-input CPAs –Large and slow

CMOS VLSI Design12: Datapath Functional UnitsSlide 26 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

CMOS VLSI Design12: Datapath Functional UnitsSlide 27 CSA Application  Use k-2 stages of CSAs –Keep result in carry-save redundant form  Final CPA computes actual result

CMOS VLSI Design12: Datapath Functional UnitsSlide 28 CSA Application  Use k-2 stages of CSAs –Keep result in carry-save redundant form  Final CPA computes actual result

CMOS VLSI Design12: Datapath Functional UnitsSlide 29 CSA Application  Use k-2 stages of CSAs –Keep result in carry-save redundant form  Final CPA computes actual result

CMOS VLSI Design12: Datapath Functional UnitsSlide 30 Multiplication  Example:

CMOS VLSI Design12: Datapath Functional UnitsSlide 31 Multiplication  Example:

CMOS VLSI Design12: Datapath Functional UnitsSlide 32 Multiplication  Example:

CMOS VLSI Design12: Datapath Functional UnitsSlide 33 Multiplication  Example:

CMOS VLSI Design12: Datapath Functional UnitsSlide 34 Multiplication  Example:

CMOS VLSI Design12: Datapath Functional UnitsSlide 35 Multiplication  Example:

CMOS VLSI Design12: Datapath Functional UnitsSlide 36 Multiplication  Example:  M x N-bit multiplication –Produce N M-bit partial products –Sum these to produce M+N-bit product

CMOS VLSI Design12: Datapath Functional UnitsSlide 37 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:

CMOS VLSI Design12: Datapath Functional UnitsSlide 38 Dot Diagram  Each dot represents a bit

CMOS VLSI Design12: Datapath Functional UnitsSlide 39 Array Multiplier

CMOS VLSI Design12: Datapath Functional UnitsSlide 40 Rectangular Array  Squash array to fit rectangular floorplan

CMOS VLSI Design12: Datapath Functional UnitsSlide 41 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 

CMOS VLSI Design12: Datapath Functional UnitsSlide 42 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

CMOS VLSI Design12: Datapath Functional UnitsSlide 43 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

CMOS VLSI Design12: Datapath Functional UnitsSlide 44 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

CMOS VLSI Design12: Datapath Functional UnitsSlide 45 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

CMOS VLSI Design12: Datapath Functional UnitsSlide 46 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

CMOS VLSI Design12: Datapath Functional UnitsSlide 47 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

CMOS VLSI Design12: Datapath Functional UnitsSlide 48 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

CMOS VLSI Design12: Datapath Functional UnitsSlide 49 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

CMOS VLSI Design12: Datapath Functional UnitsSlide 50 Booth Hardware  Booth encoder generates control lines for each PP –Booth selectors choose PP bits

CMOS VLSI Design12: Datapath Functional UnitsSlide 51 Sign Extension  Partial products can be negative –Require sign extension, which is cumbersome –High fanout on most significant bit

CMOS VLSI Design12: Datapath Functional UnitsSlide 52 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

CMOS VLSI Design12: Datapath Functional UnitsSlide 53 Even Simpler Sign Ext.  No need to add all the 1’s in hardware –Precompute the answer!

CMOS VLSI Design12: Datapath Functional UnitsSlide 54 Advanced Multiplication  Signed vs. unsigned inputs  Higher radix Booth encoding  Array vs. tree CSA networks