ECE555 Lecture 10 Nam Sung Kim University of Wisconsin – Madison

Slides:



Advertisements
Similar presentations
Chapter 14 Finite Impulse Response (FIR) Filters
Advertisements

Boolean Algebra Variables: only 2 values (0,1)
Hard Instances of the Constrained Discrete Logarithm Problem Ilya MironovMicrosoft Research Anton MityaginUCSD Kobbi NissimBen Gurion University Speaker:
ECE555 Lecture 3 Nam Sung Kim University of Wisconsin – Madison
ECE555 Lecture 8/9 Nam Sung Kim University of Wisconsin – Madison
Modelagem Básica Entity –Exemplos: entity identifier is [ port (port_interface_list);] {entity_declarative_item} end [entity] [identifier]; Interface_list.
1. 2 Memória (R-bit register) Circuito Combinatório D1D1 DRDR TRTR T1T1 X1X1 XLXL Y1Y1 YNYN clockreset MEF.
Measurement of a Pond Basics of plane geometry Idea of the Coordinate Plane Confining an Area Practical skill Cooperation in the Group Lake measurement.
Institute of Applied Microelectronics and Computer Engineering College of Computer Science and Electrical Engineering, University of Rostock Spezielle.
State Space Representation Hany Ferdinando Dept. of Electrical Engineering Petra Christian University.
Self-Assembly with Geometric Tiles ICALP 2012 Bin FuUniversity of Texas – Pan American Matt PatitzUniversity of Arkansas Robert Schweller (Speaker)University.
1 A New Multiplication Technique for GF(2 m ) with Cryptographic Significance Athar Mahboob and Nassar Ikram National University of Sciences & Technology,
PSC 151 Laboratory Activity 9 Electric Circuits II Series and Parallel Connections.
Number Systems (1)  Positional Notation N = (a n-1 a n-2... a 1 a 0. a -1 a a -m ) r (1.1) where. = radix point r = radix or base n = number of.
Arithmetic circuits  Binary addition  Binary Subtraction  Unsigned binary numbers  Sign-magnitude numbers  2 ’ S Complement representation  2 ’
Numbers & Geometry Points and Distances. 6/3/2013 Numbers and Geometry 2 Distance d between numbers a and b d = Example: | = Points and Distances.
Functions Rosen 1.8.
On / By / With The building blocks of the Mplus language.
Random-Access Memory (RAM)
ENGIN112 L15: Magnitude Comparator and Multiplexers October 6, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 15 Magnitude Comparators.
( ( ) quantum bits conventional bit
Adders Module M8.1 Section 6.2. Adders Half Adder Full Adder TTL Adder.
Combinatorial networks- II
Computer Architecture CS 215
1 Lecture 5 PRAM Algorithm: Parallel Prefix Parallel Computing Fall 2008.
5 x4. 10 x2 9 x3 10 x9 10 x4 10 x8 9 x2 9 x4.
2’s Complement 4-Bit Saturator
Computational Facility Layout
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.
Chapter 9 Computer Design Basics. 9-2 Datapaths Reminding A digital system (or a simple computer) contains datapath unit and control unit. Datapath: A.
EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 1 Digital Integrated Circuits A Design Perspective Arithmetic Circuits Jan M. Rabaey Anantha.
Datapath Functional Units. Outline  Comparators  Shifters  Multi-input Adders  Multipliers.

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.]
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.
CSE241 L2 Datapath/Memory.1Kahng & Cichy, UCSD ©2003 CSE241A VLSI Digital Circuits Winter 2003 Lecture 02: Datapath and Memory.
UNIVERSITY OF MASSACHUSETTS Dept
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE VLSI Circuit Design Lecture 23 - Subsystem.
EE466: VLSI Design Lecture 14: Datapath Functional Units.
Digital Integrated Circuits© Prentice Hall 1995 Arithmetic Arithmetic Building Blocks.
Introduction to CMOS VLSI Design Datapath Functional Units
Datapath Functional Units Adapted from David Harris of Harvey Mudd College.
S. Reda EN1600 SP’08 Design and Implementation of VLSI Systems (EN0160) Lecture 28: Datapath Subsystems 4/4 Prof. Sherief Reda Division of Engineering,
Lecture 18: Datapath Functional Units
Digital Integrated Circuits Chpt. 5Lec /29/2006 CSE477 VLSI Digital Circuits Fall 2002 Lecture 21: Multiplier Design Mary Jane Irwin (
EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 1 Digital Integrated Circuits A Design Perspective Arithmetic Circuits Reference: Digital Integrated.
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.
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.
Digital Integrated Circuits 2e: Chapter Copyright  2002 Prentice Hall PTR, Adapted by Yunsi Fei ECE 300 Advanced VLSI Design Fall 2006 Lecture.
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,
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.
Lecture 18: Datapath Functional Units. CMOS VLSI DesignCMOS VLSI Design 4th Ed. 18: Datapath Functional Units2 Outline  Multipliers.
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
Computer Design Basics
Mary Jane Irwin ( ) CSE477 VLSI Digital Circuits Fall 2002 Lecture 22: Shifters, Decoders, Muxes Mary Jane.
Mary Jane Irwin ( ) CSE477 VLSI Digital Circuits Fall 2003 Lecture 22: Shifters, Decoders, Muxes Mary Jane.
Digital Integrated Circuits A Design Perspective
Computer Design Basics
Lecture 9 Digital VLSI System Design Laboratory
Arithmetic Building Blocks
Arithmetic Circuits.
Chapter 14 Arithmetic Circuits (II): Multiplier Rev /12/2003
Presentation transcript:

ECE555 Lecture 10 Nam Sung Kim University of Wisconsin – Madison Dept. of Electrical & Computer Engineering

Outline Multiplier Shifter Datapath Bitslice Organization Array Multiplier CSA/Wallace Tree Multiplier Shifter Datapath Bitslice Organization

Multiplication Example

Multiplication Example

Multiplication Example

Multiplication Example

Multiplication Example

Multiplication Example

Multiplication Example M x N-bit multiplication Produce N M-bit partial products Sum these to produce M+N-bit product

General Multiplication Form Multiplicand: Y = (yM-1, yM-2, …, y1, y0) Multiplier: X = (xN-1, xN-2, …, x1, x0) Product:

Dot Diagram Each dot represents a bit (or partial product)

Array Multiplier

Rectangular Array Squash array to fit rectangular floorplan

Wallace Tree Multiplier Using 3:2 compressor (FA!) 6 5 4 3 2 1 6 5 4 3 2 1 x0 x3 6 5 4 3 2 1 6 5 4 3 2 1

Wallace Tree Multiplier Using 3:2 compressor (FA!) x0y3 x0y2 x0y1 x0y0 x1y3 x1y2 x1y1 x1y0 + x2y3 x2y2 x2y1 x2y0 + + x3y3 x3y2 x3y1 x3y0

Wallace Tree Multiplier Using 3:2 compressor (FA!) x0y2 x0y1 x0y0 x1y0 x2y2 x2y1 + + x3y3 x3y1 x3y0 + x1y1 x3y2 x0y3 + + + + x2y3 x1y3 x1y2 x2y0

Wallace Tree Multiplier

Parallel Programmable Shifters Shift amount Shift direction Shift type (logical, arith, circular) Control = Data Out Data In Shifting a data word left or right over a constant amount is a trivial hardware operation and is implemented by the appropriate signal wiring Shifters used in multipliers, floating point units Consume lots of area if done in random logic gates

A Programmable Binary Shifter rgt nop left Ai Ai-1 rgt nop left Bi Bi-1 A1 A0 1 Ai Bi For class handout Ai-1 Bi-1

A Programmable Binary Shifter rgt nop left Ai Ai-1 rgt nop left Bi Bi-1 A1 A0 1 Ai Bi For lecture Ai-1 Bi-1

4-bit Barrel Shifter Area dominated by wiring Example: Sh0 = 1 B3B2B1B0 = A3A2A1A0 Sh1 = 1 B3B2B1B0 = A3A3A2A1 Sh2 = 1 B3B2B1B0 = A3A3A3A2 Sh3 = 1 B3B2B1B0 = A3A3A3A3 B3 Sh1 A2 B2 Sh2 A1 B1 Sh3 For class handout A0 B0 Area dominated by wiring Sh0 Sh1 Sh2 Sh3

4-bit Barrel Shifter Area dominated by wiring Example: Sh0 = 1 B3B2B1B0 = A3A2A1A0 Sh1 = 1 B3B2B1B0 = A3A3A2A1 Sh2 = 1 B3B2B1B0 = A3A3A3A2 Sh3 = 1 B3B2B1B0 = A3A3A3A3 B3 Sh1 A2 B2 Sh2 A1 B1 Sh3 For lecture Number of rows equals the word length of the data and the number of columns equals the maximum shift width. The control wires are routed diagonally through the array. Implementation does sign extend – so arithmetic shift. Note that signal goes through at most one fet (so constant propagation delay (in theory)) Also note, that the capacitance of the output wires goes linearly with the shift width (linear grow in fet diffusion capacitance). But note the N**2 increase in diff cap load on the input data lines (for circular shifter) Size of cell bounded by the pitch of the metal wires. Also not the n! diffusion capacitances on the input lines Need shift control (encoded) count decoded into shift signals since it needs a control wire for every shift bit. Since count is normally provided in an encoded form, also need to have a decoder.. A0 B0 Area dominated by wiring Sh0 Sh1 Sh2 Sh3

4-bit Barrel Shifter Layout Widthbarrel Only one Sh# active at a timel Widthbarrel ~ 2 pm N N = max shift distance, pm = metal pitch Delay ~ 1 fet + N diff caps

8-bit Logarithmic Shifter For class handout B0 A0

8-bit Logarithmic Shifter 1 Sh1 !Sh1 Sh2 !Sh2 Sh3 !Sh3 A3 B3 A2 B2 A1 B1 For lecture Total shift is decomposed into shifts over powers of two. A shifter of width of N consists of log2N stages where the ith stage either shifts over 2^i or passes the data unchanged. Note that the control bits are encoded – thus we don’t need a decoder for the shift count (as in the previous shifter). The speed depends on the shift width in a logarithmic way – and B0 A0 log N stages

8-bit Logarithmic Shifter Layout 1 2 4 A3 B3 A2 B2 A1 B1 A0 Notice regularity of layout M K 2**K 1 0 1 2 1 2 4 2 4 8 3 8 16 4 16 B0 Widthlog ~ pm(2K+(1+2+…+2K-1)) = pm(2K+2K-1) K = log2 N Delay ~ K fets + 2 diff caps

Datapath Bit-Sliced Organization Control Flow Bit 0 Bit 1 Bit 2 Bit 3 From I$ Pipeline Register Register File Multiplexer Pipeline Register Multiplexer Adder Shifter Pipeline Register Pipeline Register decoder Data Flow To/From D$ Tile identical bit-slice elements