Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania 18042 ECE 425 - VLSI Circuit Design Lecture 24 - Subsystem.

Slides:



Advertisements
Similar presentations
Kuliah Rangkaian Digital Kuliah 7: Unit Aritmatika
Advertisements

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.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 8 - Multiplication.
Multiplication Schemes Continued
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE VLSI Circuit Design Lecture 25 - Subsystem.
CSE-221 Digital Logic Design (DLD)
Design and Implementation of VLSI Systems (EN1600) Lecture 27: Datapath Subsystems 3/4 Prof. Sherief Reda Division of Engineering, Brown University Spring.
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,
Arithmetic II CPSC 321 E. J. Kim. Today’s Menu Arithmetic-Logic Units Logic Design Revisited Faster Addition Multiplication (if time permits)
Fall 2005 L15: Combinational Circuits Lecture 15: Combinational Circuits Complete logic functions Some combinational logic functions –Half adders –Adders.
EECS Components and Design Techniques for Digital Systems Lec 18 – Arithmetic II (Multiplication) David Culler Electrical Engineering and Computer.
Fall 2007 L15: Combinational Circuits Lecture 15: Combinational Circuits Complete logic functions Some combinational logic functions –Half adders –Adders.
Computer Organization Multiplication and Division Feb 2005 Reading: Portions of these slides are derived from: Textbook figures © 1998 Morgan Kaufmann.
ECE C03 Lecture 61 Lecture 6 Arithmetic Logic Circuits Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
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
Contemporary Logic Design Arithmetic Circuits © R.H. Katz Lecture #24: Arithmetic Circuits -1 Arithmetic Circuits (Part II) Randy H. Katz University of.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE VLSI Circuit Design Lecture 23 - Subsystem.
Arithmetic-Logic Units CPSC 321 Computer Architecture Andreas Klappenecker.
Digital Integrated Circuits© Prentice Hall 1995 Arithmetic Arithmetic Building Blocks.
Homework Reading Machine Projects Labs
Copyright 2008 Koren ECE666/Koren Part.6a.1 Israel Koren Spring 2008 UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering Digital Computer.
1 Lecture 4: Arithmetic for Computers (Part 4) CS 447 Jason Bakos.
Multiplication.
ECE 4110– Sequential Logic Design
Chapter 6-2 Multiplier Multiplier Next Lecture Divider
Digital Integrated Circuits Chpt. 5Lec /29/2006 CSE477 VLSI Digital Circuits Fall 2002 Lecture 21: Multiplier Design Mary Jane Irwin (
Copyright 1995 by Coherence LTD., all rights reserved (Revised: Oct 97 by Rafi Lohev, Oct 99 by Yair Wiseman, Sep 04 Oren Kapah) IBM י ב מ 10-1 The ALU.
Chapter # 5: Arithmetic Circuits
Reading Assignment: Weste: Chapter 8 Rabaey: Chapter 11
Topic: Arithmetic Circuits Course: Digital Systems Slide no. 1 Chapter # 5: Arithmetic Circuits.
Arithmetic Building Blocks
5-1 Programmable and Steering Logic Chapter # 5: Arithmetic Circuits.
07/19/2005 Arithmetic / Logic Unit – ALU Design Presentation F CSE : Introduction to Computer Architecture Slides by Gojko Babić.
 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.
EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 1 Digital Integrated Circuits A Design Perspective Arithmetic Circuits Reference: Digital Integrated.
Arithmetic Building Blocks
Spring 2002EECS150 - Lec12-cl3 Page 1 EECS150 - Digital Design Lecture 12 - Combinational Logic Circuits Part 3 March 4, 2002 John Wawrzynek.
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.
1 Arithmetic Logic Unit ALU. 2 The Bus Concept 3 CPU Building Blocks  Registers (IR, PC, ACC)  Control Unit (CU)  Arithmetic Logic Unit (ALU)
Modern VLSI Design 4e: Chapter 6 Copyright  2008 Wayne Wolf Topics n Shifters. n Adders and ALUs.
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.
EE2174: Digital Logic and Lab Professor Shiyan Hu Department of Electrical and Computer Engineering Michigan Technological University CHAPTER 8 Arithmetic.
EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 1 Digital Integrated Circuits A Design Perspective Arithmetic Circuits Jan M. Rabaey Anantha.
Digital Integrated Circuits© Prentice Hall 1995 Arithmetic Arithmetic Building Blocks.
Arithmetic-Logic Units. Logic Gates AND gate OR gate NOT gate.
ECE DIGITAL LOGIC LECTURE 15: COMBINATIONAL CIRCUITS Assistant Prof. Fareena Saqib Florida Institute of Technology Fall 2015, 10/20/2015.
Comparison of Various Multipliers for Performance Issues 24 March Depart. Of Electronics By: Manto Kwan High Speed & Low Power ASIC
CSE477 L21 Multiplier Design.1Irwin&Vijay, PSU, 2002 CSE477 VLSI Digital Circuits Fall 2002 Lecture 21: Multiplier Design Mary Jane Irwin (
Reconfigurable Computing - Options in Circuit Design John Morris Chung-Ang University The University of Auckland ‘Iolanthe’ at 13 knots on Cockburn Sound,
EE141 Arithmetic Circuits 1 Chapter 14 Arithmetic Circuits Rev /12/2003 Rev /05/2003.
Arithmetic Circuits I. 2 Iterative Combinational Circuits Like a hierachy, except functional blocks per bit.
EE141 Arithmetic Circuits 1 Chapter 14 Arithmetic Circuits Rev /12/2003.
Full Adder Truth Table Conjugate Symmetry A B C CARRY SUM
Combinational Circuits
Multiplier Design [Adapted from Rabaey’s Digital Integrated Circuits, Second Edition, ©2003 J. Rabaey, A. Chandrakasan, B. Nikolic]
Arithmetic and Logic Units
Chap. 8 Datapath Units: Multiplier Design
Unsigned Multiplication
Montek Singh Mon, Mar 28, 2011 Lecture 11
Combinational Circuits
Lecture 9 Digital VLSI System Design Laboratory
CHAPTER 18 Circuits for Arithmetic Operations
Presentation transcript:

Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE VLSI Circuit Design Lecture 24 - Subsystem Design (cont’d) Spring 2005

ECE 425 Spring 2005Lecture 24 - Subsystem Design2 Announcements  Reading  Wolf:  These notes drawn in part from handouts by  J. Rabaey, Digital Integrated Circuits, © Prentice-Hall 1995.

ECE 425 Spring 2005Lecture 24 - Subsystem Design3 Where We Are:  Last Time:  Custom Subsystem Design - Shifters, Adders  Today:  Custom Subsystem Design Continued - Multipliers  DAC Video: “Designing Mega-ASICs in Nanotechnology”

ECE 425 Spring 2005Lecture 24 - Subsystem Design4 Subsystem Design  General TechniquesGoals  Pipelining  Datapath Design  Common Subsystems  Shifters  Adders   ALUs  Multipliers  Memories  Structured Logic

ECE 425 Spring 2005Lecture 24 - Subsystem Design5 Carry/Skip Adder  Key idea: in some cases, carry out = carry in  Bypass gate - "forward" carry signal  Break forwarding into groups FA skip FA skip FA skip group P i-1 PiPi P i+1

ECE 425 Spring 2005Lecture 24 - Subsystem Design6 Carry/Select Adder  Key idea: compute two sum values  sum assuming carry=0,  sum assuming carry=1  Select proper result based on carry in

ECE 425 Spring 2005Lecture 24 - Subsystem Design7 Manchester Carry Chain  Goal: speed up carry using circuit design  Key idea: use dynamic logic  Conditionally discharge using generate signal  Connect successive bits using propagate signal  worst case discharge path through entire chain Ci’Ci’C i-1 ’

ECE 425 Spring 2005Lecture 24 - Subsystem Design8 Serial Adders  Key idea: add one bit at a time  Shift results in/out of adder  Organization: Fig 6-15, p. 328

ECE 425 Spring 2005Lecture 24 - Subsystem Design9 Subraction  A-B = A + (-B)  Recall two's complement arithmetic  -B = TC(B) = OC(B) + 1  Get OC(B) with inverter  Use carry in to get +1

ECE 425 Spring 2005Lecture 24 - Subsystem Design10 Logical operations  Simple operations: use basic gates  Multiple operations: use 4-1 mux as logic "function block"  Organization: Fig 6-17, p. 330

ECE 425 Spring 2005Lecture 24 - Subsystem Design11 Subsystem Design  General TechniquesGoals  Pipelining  Datapath Design  Common Subsystems  Shifters  Adders  ALUs   Multipliers  Memories  Structured Logic

ECE 425 Spring 2005Lecture 24 - Subsystem Design12 ALUs  Key idea: compact layout for multiple functions  Build around adder (central component due to carry delay)  Organization: Fig. 6-16, p. 329

ECE 425 Spring 2005Lecture 24 - Subsystem Design13 Subsystem Design  General TechniquesGoals  Pipelining  Datapath Design  Common Subsystems  Shifters  Adders  ALUs  Multipliers   Memories  Structured Logic

ECE 425 Spring 2005Lecture 24 - Subsystem Design14 Review - Multiplication  Basic algorithm analogous to decimal multiplication  Break multiplier into digits  Multiply one digit at a time; shift multiplicand to form partial products  Create product as sum of partial products  n bit multiplicand X m bit multiplier = (n+m) bit product Multiplicand 0110 (6) Multiplier X 0011 (3) Product (18) Partial Products

ECE 425 Spring 2005Lecture 24 - Subsystem Design15 Review - Shift & Add Multiplier  Key idea: store multiplier and product in same register!  As multiplier shifts out….  Product shifts in Multiplicand (32 bits) Product (64 bits) Write Control 32-bit ALU LSB Shift Right LHPROD (32 bits) MP/RHPROD (32 bits) 33 32

ECE 425 Spring 2005Lecture 24 - Subsystem Design16 Review - Shift & Add Control START DONE 1. Test PROD0 1a. Add MCND to left half of PROD Place result in left half of PROD 2. Shift PROD right 1 bit 0. LOAD MPY in right half of PROD 32nd Repitition? Product0=1Product0=0 No: <32 Repititions Yes: 32 Repititions

ECE 425 Spring 2005Lecture 24 - Subsystem Design17 Review - Booth’s Algorithm  Originally proposed to reduce addition steps  Bonus: works for two’s complement numbers  Uses shifting, addition, and subtraction

ECE 425 Spring 2005Lecture 24 - Subsystem Design18 Booth’s Algorithm  Observation: if we can both add and subtract, there are multiple ways to create a product  Example: multiply 2 ten by 6 ten (0010 two X 0110 two )  Product = (2 X 2) + (2 X 4) OR  Product = (2 X -2) + (2 X 8) 0010 X shift shift + add shift X shift shift + subtract 0000 shift shift + add Regular Algorithm Booth’s Algorithm

ECE 425 Spring 2005Lecture 24 - Subsystem Design19 Booth’s Algorithm Continued  Question:  How do we know when to subtract?  When do we know when to add?  Answer: look for “runs of 1s” in multiplier  Example:  Working from Right to Left, any “run of 1’s” is equal to: - value of first digit that’s one +value of first digit that’s zero  Example : First run: = 3 Second run: = 112 Total: = 115

ECE 425 Spring 2005Lecture 24 - Subsystem Design20 Implementing Booth’s Algorithm  Scan multiplier bits from right to left  Recognize the beginning and in of a run looking at only 2 bits at a time  “Current” bit a i  Bit to right of “current” bit a i Beginning Of Run Middle Of Run End Of Run Bit a i Bit a i-1 Explanation 10Begin Run of 1’s 11Middle of Run of 1’s 01End of Run 00Middle of Run of 0’s

ECE 425 Spring 2005Lecture 24 - Subsystem Design21 Implementing Booth’s Algorithm  Key idea: test 2 bits of multiplier at once  10 - subtract (beginning of run of 1’s)  01 - add (end of run of 1’s)  00, 11 - do nothing (middle of run of 0’s or 1’s) Multiplicand (32 bits) Product (64 bits) Write Control 32-bit ALU Shift Left ADD/ SUB 2 Bits 1:0 LHPROD (32 bits) MP/RHPROD (32 bits)

ECE 425 Spring 2005Lecture 24 - Subsystem Design22 Subsystem Design: Combinational Multipliers  Key idea: use multiple adders & eliminate registers (or use for pipelining)

ECE 425 Spring 2005Lecture 24 - Subsystem Design23 Array Multiplier X3X3 X2X2 X1X1 X0X0 Y0Y0

ECE 425 Spring 2005Lecture 24 - Subsystem Design24 Array Multiplier - Critical Paths Critical Path 1 & 2

ECE 425 Spring 2005Lecture 24 - Subsystem Design25 Carry-Save Multiplier

ECE 425 Spring 2005Lecture 24 - Subsystem Design26 Carry-Save Multiplier - Floorplan

ECE 425 Spring 2005Lecture 24 - Subsystem Design27 Wallace-Tree Multiplier

ECE 425 Spring 2005Lecture 24 - Subsystem Design28 Other Multiplier Tricks  Use Radix-4 Booth Recoding to reduce number of additions  Sample 3 bits of multiplier and add one of:  - (multiplier * 2)  - (multiplicand * 1) 00  + (multiplicand * 1)  + (multiplicand * 2)  Cited Result that combines these techniques: L. Mori, et. al, “A 10ns 54 X 54 Parallel Structured Full Array Multiplier with 0.5µm Technology”, IEEE Journal of Solid State Circuits, vol. 26, no. 4, April 1991

ECE 425 Spring 2005Lecture 24 - Subsystem Design29 Subsystem Design  General TechniquesGoals  Pipelining  Datapath Design  Common Subsystems  Shifters  Adders  ALUs   Multipliers  Memories  Structured Logic