Aug 20071 Shift Operations Source: David Harris. Aug 20072 Shifter Implementation Regular layout, can be compact, use transmission gates to avoid threshold.

Slides:



Advertisements
Similar presentations
1 Integer Multipliers. 2 Multipliers A must have circuit in most DSP applications A variety of multipliers exists that can be chosen based on their performance.
Advertisements

Multiplication and Shift Circuits Dec 2012 Shmuel Wimer Bar Ilan University, Engineering Faculty Technion, EE Faculty 1.
ECE2030 Introduction to Computer Engineering Lecture 13: Building Blocks for Combinational Logic (4) Shifters, Multipliers Prof. Hsien-Hsin Sean Lee School.
EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 1 Digital Integrated Circuits A Design Perspective Arithmetic Circuits Jan M. Rabaey Anantha.
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.
UNIVERSITY OF MASSACHUSETTS Dept
EE 382 Processor DesignWinter 98/99Michael Flynn 1 AT Arithmetic Most concern has gone into creating fast implementation of (especially) FP Arith. Under.
Modern VLSI Design 2e: Chapter 6 Copyright  1998 Prentice Hall PTR Topics n Multipliers.
Copyright 2008 Koren ECE666/Koren Part.6b.1 Israel Koren Spring 2008 UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering Digital Computer.
EECS Components and Design Techniques for Digital Systems Lec 18 – Arithmetic II (Multiplication) David Culler Electrical Engineering and Computer.
VLSI Design Spring03 UCSC By Prof Scott Wakefield Final Project By Shaoming Ding Jun Hu
UNIVERSITY OF MASSACHUSETTS Dept
Chapter # 5: Arithmetic Circuits Contemporary Logic Design Randy H
Contemporary Logic Design Arithmetic Circuits © R.H. Katz Lecture #24: Arithmetic Circuits -1 Arithmetic Circuits (Part II) Randy H. Katz University of.
EE466: VLSI Design Lecture 14: Datapath Functional Units.
Introduction to CMOS VLSI Design Datapath Functional Units
ECE 301 – Digital Electronics
Copyright 2008 Koren ECE666/Koren Part.6a.1 Israel Koren Spring 2008 UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering Digital Computer.
An Extra-Regular, Compact, Low-Power Multiplier Design Using Triple-Expansion Schemes and Borrow Parallel Counter Circuits Rong Lin Ronald B. Alonzo SUNY.
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,
Multiplication.
1 Arithmetic and Logical Operations - Part II. Unsigned Numbers Addition in unsigned numbers is the same regardless of the base. Given a pair of bit sequences.
Lecture 18: Datapath Functional Units
Chapter 6-2 Multiplier Multiplier Next Lecture Divider
Binary Arithmetic Stephen Boyd March 14, Two's Complement Most significant bit represents sign. 0 = positive 1 = negative Positive numbers behave.
Digital Integrated Circuits Chpt. 5Lec /29/2006 CSE477 VLSI Digital Circuits Fall 2002 Lecture 21: Multiplier Design Mary Jane Irwin (
ECE 645 – Computer Arithmetic Lecture 7: Tree and Array Multipliers ECE 645—Computer Arithmetic 3/18/08.
Chapter # 5: Arithmetic Circuits
Reading Assignment: Weste: Chapter 8 Rabaey: Chapter 11
Chapter 6-1 ALU, Adder and Subtractor
Introduction to Computer Organization and Architecture Lecture 10 By Juthawut Chantharamalee wut_cha/home.htm.
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.
Description and Analysis of MULTIPLIERS using LAVA.
Multi-operand Addition
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.
FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Topics n Multipliers.
4. Computer Maths and Logic 4.2 Boolean Logic Logic Circuits.
Half Adder & Full Adder Patrick Marshall. Intro Adding binary digits Half adder Full adder Parallel adder (ripple carry) Arithmetic overflow.
EE2174: Digital Logic and Lab Professor Shiyan Hu Department of Electrical and Computer Engineering Michigan Technological University CHAPTER 8 Arithmetic.
Wallace Tree Previous Example is 7 Input Wallace Tree
Full Tree Multipliers All k PPs Produced Simultaneously Input to k-input Multioperand Tree Multiples of a (Binary, High-Radix or Recoded) Formed at Top.
CSE 8351 Computer Arithmetic Fall 2005 Instructors: Peter-Michael Seidel.
Comparison of Various Multipliers for Performance Issues 24 March Depart. Of Electronics By: Manto Kwan High Speed & Low Power ASIC
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 (
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.
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]
CSE477 VLSI Digital Circuits Fall 2003 Lecture 21: Multiplier Design
Multipliers Multipliers play an important role in today’s digital signal processing and various other applications. The common multiplication method is.
Chap. 8 Datapath Units: Multiplier Design
Unsigned Multiplication
Topics Multipliers..
UNIVERSITY OF MASSACHUSETTS Dept
UNIVERSITY OF MASSACHUSETTS Dept
ECE 352 Digital System Fundamentals
UNIVERSITY OF MASSACHUSETTS Dept
Lecture 9 Digital VLSI System Design Laboratory
Comparison of Various Multipliers for Performance Issues
UNIVERSITY OF MASSACHUSETTS Dept
Description and Analysis of MULTIPLIERS using LAVA
UNIVERSITY OF MASSACHUSETTS Dept
Presentation transcript:

Aug Shift Operations Source: David Harris

Aug Shifter Implementation Regular layout, can be compact, use transmission gates to avoid threshold drop. Not amenable to synthesis, high capacitive loading for large arrays. Source: David Harris

Aug Shifter Implementation Each level shifts by two. Amenable to synthesis, fast.

Aug Multiplication Source: David Harris

Aug Array Multiplier with CPAs Source: Jan Rabaey Array adder with Carry propagate adders (CPA), multiple near-critical paths

Aug Array Multiplier with CSAs Only one critical path Source: Jan Rabaey

Aug How do CSAs work? CSA: Carry Save Adder Want to add these four numbers together (same problem as adding partial products in a multiplier) Source: David Harris

Aug How do CSAs work? (cont) Can use a full adder network to add three numbers together if we view the carry-in inputs as a bus that contains the third number. The output produces a sum vector and a carry vector, and these have to be added to produce the final result. Source: David Harris

Aug How do CSAs work? (cont) carry vector has to be shifted to left by 1 before being added to the sum because the COUT bit has a weight of 2x that of the sum bit. Source: David Harris

Aug CSA Multiplier Carry is shifted to left before being added. This final addition is always N/2 in size if the product has N bits. For large multipliers, need to use a fast adder structure to do this addition. Source: Jan Rabaey

Aug Multiplier Layout Layout can be made to be rectangular Source: David Harris

Aug ’s Complement Multiply Definition MSb has negative weight 4 bit 2’s complement example: = -5 = 0xB = 1011 = -1* *2 2 +1*2 1 +1*2 0 = =-5 Source: David Harris

Aug ’s Complement Multiplication 2’s complement Source: David Harris

Aug Modified Baugh-Wooley Multiplier (2’s complement) Pre-compute sums of constant ‘1’, push some terms upwards. Source: David Harris

Aug Multiplier Layout For Two’s Complement Shaded Cells are modified cells for Baugh- Wooley. Source: David Harris

Aug Booth Encoding Previous multipliers use radix-2, one bit of the multiplier is observed at a time. In general, radix-2 r multipliers produce N/r partial products (assuming NxN multiplier). Fewer partial products lead to smaller/faster CSA arrays. A radix-4 = radix-2 2 multiplier produces N/2 partial products. Two-bits * two bits = Y 1 Y 0 * X 1 X 0 = Y*X = Y*0, Y*1, Y*2, Y*3 Y*0, Y*1, Y*2 are easy/fast (Y*2 is a shift). Y*3 is hard, has to be done Y*3= Y*(2+1)= 2Y + Y, involves a carry propagate.

Aug Radix-4 Partial Products Y * X N-1 X N-2...X 3 X 2 X 1 X 0 Y* X 1 X 0 + Y* X 3 X 2 + Y* X N-1 X N-2 Number of partial products is reduced. Source: David Harris

Aug Booth Encoding (cont.) Observe that 2Y = 4Y – 2Y and 3Y = 4Y – Y 4Y is simply the next row in the partial product, so just add Y to next row. In both cases, Y has to be added to current partial product. Booth encoding looks at current 2 bits, and MSB of previous 2 bits, and modifies the partial product. If the MSB of the previous pair is ‘1’, add in ‘Y’ to current value.

Aug Booth Encoding (cont) PP =0*Y PP =0*Y +Y = Y PP =Y +0 = Y PP =Y +Y = 2Y PP =-2Y +0 = -2Y PP =-2Y +Y = -Y PP =-Y +0 = -Y PP =-Y +Y = 0 Sign bit select 2Y select 1Y select Negative operations are done at bit level as complements with +1 added to PP to complete 2’s complement Source: David Harris

Aug Booth Selection Logic Replaces AND gates in CSA array When –Y is chosen, have a problem in that a ‘1’ has to be added to complete two’s complement Source: David Harris

Aug Unsigned R-4 Booth Array (16 x 16) sign extension, either all 1’s or all 0’s for -Y terms ‘1’ or ‘0’ needed to complete 2’s complement Extra PP in case last PP needed a ‘Y’ added in here (last two X bits were either 2 or 3) Source: David Harris

Aug Optimized R-4 Booth Array (unsigned) SSSS = S additional reduction produces this. Source: David Harris

Aug Signed R-4 Booth Array (16 x 16) e i = M i xor y15 Last PP8 is not needed for signed multiply Source: David Harris

Aug Booth Speedup Radix-4 arrays 20-to-50% smaller than CSA arrays and up to 20% faster. Higher Radix multipliers are possible, but not worth it except for larger multipliers (at least 64 bits).

Aug Wallace Trees A CSA adder just adds the PPs together one at a time: 3,2 Counter is another name for a full adder Source: David Harris

Aug Wallace Trees (cont). A Wallace tree adds the partial products in parallel! Number of levels is: Layout is not regular, long wires can cause delay. Source: David Harris

Aug Compressor Used to reduce the number of levels in a Wallace Tree Number of levels is: Logic more complex than Full Adder Layout is more regular. Source: David Harris

Aug Multiplier Summary CSA’s – simple, but many partial products Booth Encoding – reduces number of required PPs, achieves speedup over CSAs Wallace Trees – adds PPs in parallel