Lecture 18: Datapath Functional Units

Similar documents
Lecture 12: Datapath Functional Units

Lecture 12: Datapath Functional Units

9. Datapath Design. Jacob Abraham. Department of Electrical and Computer Engineering The University of Texas at Austin VLSI Design Fall 2017

Arithmetic Circuits-2

Arithmetic Circuits-2

Arithmetic Circuits-2

Lecture 8: Sequential Multipliers

CS 140 Lecture 14 Standard Combinational Modules

Hardware Design I Chap. 4 Representative combinational logic

Digital Integrated Circuits A Design Perspective. Arithmetic Circuits. Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic.

What s the Deal? MULTIPLICATION. Time to multiply

Digital Integrated Circuits A Design Perspective. Arithmetic Circuits

Bit-Sliced Design. EECS 141 F01 Arithmetic Circuits. A Generic Digital Processor. Full-Adder. The Binary Adder

EECS150 - Digital Design Lecture 24 - Arithmetic Blocks, Part 2 + Shifters

Digital Integrated Circuits A Design Perspective

ARITHMETIC COMBINATIONAL MODULES AND NETWORKS

EE141. Lecture 28 Multipliers. Lecture #20. Project Phase 2 Posted. Sign up for one of three project goals today

CSE140: Components and Design Techniques for Digital Systems. Decoders, adders, comparators, multipliers and other ALU elements. Tajana Simunic Rosing

DIGITAL TECHNICS. Dr. Bálint Pődör. Óbuda University, Microelectronics and Technology Institute

ECE429 Introduction to VLSI Design

Arithmetic Circuits Didn t I learn how to do addition in the second grade? UNC courses aren t what they used to be...

Digital Integrated Circuits A Design Perspective. Arithmetic Circuits. Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic.

Lecture 8. Sequential Multipliers

EECS150. Arithmetic Circuits

Adders, subtractors comparators, multipliers and other ALU elements

EE 447 VLSI Design. Lecture 5: Logical Effort

Lecture 6: Logical Effort

ECE 545 Digital System Design with VHDL Lecture 1. Digital Logic Refresher Part A Combinational Logic Building Blocks

CMPEN 411 VLSI Digital Circuits Spring Lecture 21: Shifters, Decoders, Muxes

CSEE 3827: Fundamentals of Computer Systems. Combinational Circuits

CMPEN 411 VLSI Digital Circuits Spring Lecture 19: Adder Design

Tree and Array Multipliers Ivor Page 1

1 Short adders. t total_ripple8 = t first + 6*t middle + t last = 4t p + 6*2t p + 2t p = 18t p

CSE 140 Lecture 11 Standard Combinational Modules. CK Cheng and Diba Mirza CSE Dept. UC San Diego

ECE 545 Digital System Design with VHDL Lecture 1A. Digital Logic Refresher Part A Combinational Logic Building Blocks

Adder Circuits Ivor Page 1

Logic and Computer Design Fundamentals. Chapter 5 Arithmetic Functions and Circuits

UNSIGNED BINARY NUMBERS DIGITAL ELECTRONICS SYSTEM DESIGN WHAT ABOUT NEGATIVE NUMBERS? BINARY ADDITION 11/9/2018

Combinational Logic Design Arithmetic Functions and Circuits

Logic Design. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson

ELECTRICAL AND COMPUTER ENGINEERING DEPARTMENT, OAKLAND UNIVERSITY ECE-2700: Digital Logic Design Winter Notes - Unit 7 DATAPATH CIRCUIT

Lecture 4. Adders. Computer Systems Laboratory Stanford University

VLSI Design, Fall Logical Effort. Jacob Abraham

NEW SELF-CHECKING BOOTH MULTIPLIERS

Hw 6 due Thursday, Nov 3, 5pm No lab this week

VLSI Arithmetic. Lecture 9: Carry-Save and Multi-Operand Addition. Prof. Vojin G. Oklobdzija University of California

Tunable Floating-Point for Energy Efficient Accelerators

ELECTRICAL AND COMPUTER ENGINEERING DEPARTMENT, OAKLAND UNIVERSITY ECE-2700: Digital Logic Design Fall Notes - Unit 7 DATAPATH CIRCUIT

Adders, subtractors comparators, multipliers and other ALU elements

ELECTRICAL AND COMPUTER ENGINEERING DEPARTMENT, OAKLAND UNIVERSITY ECE-378: Digital Logic and Microprocessor Design Winter 2015.

Design of Sequential Circuits

Part II Addition / Subtraction

Design at the Register Transfer Level

ALUs and Data Paths. Subtitle: How to design the data path of a processor. 1/8/ L3 Data Path Design Copyright Joanne DeGroat, ECE, OSU 1

Fundamentals of Digital Design

Review for Final Exam

Homework 4 due today Quiz #4 today In class (80min) final exam on April 29 Project reports due on May 4. Project presentations May 5, 1-4pm

EE141- Spring 2004 Digital Integrated Circuits

Part II Addition / Subtraction

Lecture 2: Computer Arithmetic: Adders

Number System. Decimal to binary Binary to Decimal Binary to octal Binary to hexadecimal Hexadecimal to binary Octal to binary

Logic and Computer Design Fundamentals. Chapter 8 Sequencing and Control

3. Combinational Circuit Design

Slides for Lecture 19

A COMBINED 16-BIT BINARY AND DUAL GALOIS FIELD MULTIPLIER. Jesus Garcia and Michael J. Schulte

Computer Architecture. ESE 345 Computer Architecture. Design Process. CA: Design process

Integer Multipliers 1

Lecture 8: Combinational Circuit Design

ECE 2300 Digital Logic & Computer Organization

EECS 427 Lecture 8: Adders Readings: EECS 427 F09 Lecture 8 1. Reminders. HW3 project initial proposal: due Wednesday 10/7

ELEN Electronique numérique

Computer Architecture 10. Fast Adders

Lecture 2 Review on Digital Logic (Part 1)

Systems I: Computer Organization and Architecture

Multiplication Ivor Page 1

This Unit: Arithmetic. CIS 371 Computer Organization and Design. Pre-Class Exercise. Readings

Chapter 5 Arithmetic Circuits

Dual-Field Arithmetic Unit for GF(p) and GF(2 m ) *

Spiral 2-1. Datapath Components: Counters Adders Design Example: Crosswalk Controller

VLSI Design. [Adapted from Rabaey s Digital Integrated Circuits, 2002, J. Rabaey et al.] ECE 4121 VLSI DEsign.1

EE141-Fall 2010 Digital Integrated Circuits. Announcements. An Intel Microprocessor. Bit-Sliced Design. Class Material. Last lecture.

Chapter 7. VLSI System Components

Introduction to CMOS VLSI Design. Lecture 5: Logical Effort. David Harris. Harvey Mudd College Spring Outline

Lecture 8: Logic Effort and Combinational Circuit Design

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: Digital Logic

A Study on Simulating Convolutional Codes and Turbo Codes

課程名稱 : 數位邏輯設計 P-1/ /6/11

PIPELINED DIVISION OF SIGNED NUMBERS WITH THE USE OF RESIDUE ARITHMETIC FOR SMALL NUMBER RANGE WITH THE PROGRAMMABLE GATE ARRAY

Hardware Implementation of Canonic Signed Digit Recoding

Chapter 6: Solutions to Exercises

Class Website:

EECS150 - Digital Design Lecture 10 - Combinational Logic Circuits Part 1

ECE 2300 Digital Logic & Computer Organization

Logic. Combinational. inputs. outputs. the result. system can

CMPUT 329. Circuits for binary addition

Floating Point Representation and Digital Logic. Lecture 11 CS301

14:332:231 DIGITAL LOGIC DESIGN

Chapter 1: Solutions to Exercises

Verilog HDL:Digital Design and Modeling. Chapter 11. Additional Design Examples. Additional Figures

I. INTRODUCTION. CMOS Technology: An Introduction to QCA Technology As an. T. Srinivasa Padmaja, C. M. Sri Priya

Transcription:

Lecture 8: Datapath Functional Unit

Outline Comparator Shifter Multi-input Adder Multiplier 8: Datapath Functional Unit CMOS VLSI Deign 4th Ed. 2

Comparator 0 detector: A = 00 000 detector: A = Equality comparator: A = B Magnitude comparator: A < B 8: Datapath Functional Unit CMOS VLSI Deign 4th Ed. 3

& 0 Detector detector: N-input AND gate 0 detector: NOT + detector (N-input NOR) A 7 A 6 A 5 A 4 A 3 A 2 allone A 3 A 2 A A 0 allzero A A 0 A 7 A 6 A 5 A 4 A 3 A 2 allone A A 0 8: Datapath Functional Unit CMOS VLSI Deign 4th Ed. 4

Equality Comparator Check if each bit i equal (XNOR, aka equality gate) detect on bitwie equality B[3] A[3] B[2] A[2] B[] A[] A = B B[0] A[0] 8: Datapath Functional Unit CMOS VLSI Deign 4th Ed. 5

Magnitude Comparator Compute B A and look at ign B A = B + ~A + For unigned number, carry out i ign bit B 3 A B C N A B A 3 B 2 A 2 B Z A = B A B 0 A 0 8: Datapath Functional Unit CMOS VLSI Deign 4th Ed. 6

Signed v. Unigned For igned number, comparion i harder C: carry out Z: zero (all bit of A B are 0) N: negative (MSB of reult) V: overflow (input had different ign, output ign B) S: N xor V (ign of reult) 8: Datapath Functional Unit CMOS VLSI Deign 4th Ed. 7

Shifter Logical Shift: Shift number left or right and fill with 0 0 LSR = 00 0 LSL = 00 Arithmetic Shift: Shift number left or right. Rt hift ign extend 0 ASR = 0 0 ASL = 00 Rotate: Shift number left or right and fill with lot bit 0 ROR = 0 0 ROL = 0 8: Datapath Functional Unit CMOS VLSI Deign 4th Ed. 8

Funnel Shifter A funnel hifter can do all ix type of hift Select N-bit field Y from 2N -bit input Shift by k bit (0 k < N) Logically involve N N: multiplexer 8: Datapath Functional Unit CMOS VLSI Deign 4th Ed. 9

Funnel Source Generator Rotate Right Logical Right Arithmetic Right Rotate Left Logical/Arithmetic Left 8: Datapath Functional Unit CMOS VLSI Deign 4th Ed. 0

Array Funnel Shifter N N-input multiplexer Ue -of-n hot elect ignal for hift amount nmos pa tranitor deign (V t drop!) k[:0] left Inverter & Decoder 3 2 0 Y 3 Y 2 Z 6 Y Z 5 Y 0 Z 4 Z 3 Z 2 Z Z 0 8: Datapath Functional Unit CMOS VLSI Deign 4th Ed.

Logarithmic Funnel Shifter Log N tage of 2-input muxe No elect decoding needed 8: Datapath Functional Unit CMOS VLSI Deign 4th Ed. 2

32-bit Logarithmic Funnel Wider multiplexer reduce delay and power Operand > 32 bit introduce datapath irregularity 8: Datapath Functional Unit CMOS VLSI Deign 4th Ed. 3

Barrel Shifter Barrel hifter perform right rotation uing wraparound wire. Left rotation are right rotation by N k = k + bit. Shift are rotation with the end bit maked off. 8: Datapath Functional Unit CMOS VLSI Deign 4th Ed. 4

Logarithmic Barrel Shifter Right hift only Right/Left hift Right/Left Shift & Rotate 8: Datapath Functional Unit CMOS VLSI Deign 4th Ed. 5

32-bit Logarithmic Barrel Datapath never wider than 32 bit Firt tage prehift by to handle left hift 8: Datapath Functional Unit CMOS VLSI Deign 4th Ed. 6

Multi-input Adder Suppoe we want to add k N-bit word Ex: 000 + 0 + 0 + 000 = 0 Straightforward olution: k- N-input CPA Large and low 000 0 0 000 + 000 + 00 + 0 8: Datapath Functional Unit CMOS VLSI Deign 4th Ed. 7

Carry Save Addition A full adder um 3 input and produce 2 output Carry output ha twice weight of um output N full adder in parallel are called carry ave adder Produce N um and N carry out X 4 Y 4 Z 4 X 3 Y 3 Z 3 X 2 Y 2 Z 2 X Y Z C 4 S 4 C 3 S 3 C 2 S 2 C S X N... Y N... Z N... n-bit CSA C N... S N... 8: Datapath Functional Unit CMOS VLSI Deign 4th Ed. 8

CSA Application Ue k-2 tage of CSA Keep reult in carry-ave redundant form Final CPA compute actual reult 000 0 0 000 00_ 4-bit CSA 0 5-bit CSA 000_ 000 + 0 000 0 +0 0 00_ 00_ 0 +000 000 000_ 000_ + 000 0 X Y Z S C X Y Z S C A B S 8: Datapath Functional Unit CMOS VLSI Deign 4th Ed. 9

Multiplication Example: 00 : 2 0 00 : 5 0 00 0000 00 0000 0000 : 60 0 multiplicand multiplier partial product product M x N-bit multiplication Produce N M-bit partial product Sum thee to produce M+N-bit product 8: Datapath Functional Unit CMOS VLSI Deign 4th Ed. 20

General Form Multiplicand: Y = (y M-, y M-2,, y, y 0 ) Multiplier: X = (x N-, x N-2,, x, x 0 ) Product: P = y x = x y M N N M j 2 i i j j i2 + i j2 j= 0 i= 0 i= 0 j= 0 y 5 y 4 y 3 y 2 y y 0 x 5 x 4 x 3 x 2 x x 0 multiplicand multiplier x 0 y 5 x 0 y 4 x 0 y 3 x 0 y 2 x 0 y x 0 y 0 p x y 5 x y 4 x y 3 x y 2 x y x y 0 x 2 y 5 x 2 y 4 x 2 y 3 x 2 y 2 x 2 y x 2 y 0 x 3 y 5 x 3 y 4 x 3 y 3 x 3 y 2 x 3 y x 3 y 0 x 4 y 5 x 4 y 4 x 4 y 3 x 4 y 2 x 4 y x 4 y 0 x 5 y 5 x 5 y 4 x 5 y 3 x 5 y 2 x 5 y x 5 y 0 p0 p 0 p 9 p 8 p 7 p 6 p 5 p 4 p 3 p 2 p partial product product 8: Datapath Functional Unit CMOS VLSI Deign 4th Ed. 2

Dot Diagram Each dot repreent a bit x 0 partial product multiplier x x 5 8: Datapath Functional Unit CMOS VLSI Deign 4th Ed. 22

Array Multiplier y 3 y 2 y y 0 x 0 x CSA Array x 2 x 3 CPA p 7 p 6 p 5 p 4 p 3 p 2 p p 0 Sin A Cin A B critical path A B A B B Cout Sout = Cout Sin Cin Sout Cout Sout Cin = Cout Sout Cin 8: Datapath Functional Unit CMOS VLSI Deign 4th Ed. 23

Rectangular Array Squah array to fit rectangular floorplan y 3 y 2 y y 0 x 0 x p 0 x 2 p x 3 p 2 p 3 p 7 p 6 p 5 p 4 8: Datapath Functional Unit CMOS VLSI Deign 4th Ed. 24

Fewer Partial Product Array multiplier require N partial product If we looked at group of r bit, we could form N/r partial product. Fater and maller? Called radix-2 r encoding Ex: r = 2: look at pair of bit Form partial product of 0, Y, 2Y, 3Y Firt three are eay, but 3Y require adder 8: Datapath Functional Unit CMOS VLSI Deign 4th Ed. 25

Booth Encoding Intead of 3Y, try Y, then increment next partial product to add 4Y Similarly, for 2Y, try 2Y + 4Y in next partial product 8: Datapath Functional Unit CMOS VLSI Deign 4th Ed. 26

Booth Hardware Booth encoder generate control line for each PP Booth elector chooe PP bit 8: Datapath Functional Unit CMOS VLSI Deign 4th Ed. 27

Sign Extenion Partial product can be negative Require ign extenion, which i cumberome High fanout on mot ignificant bit 0 PP 0 PP PP 2 PP 3 PP 4 x - x 0 multiplier x PP 5 PP 6 PP 7 PP 8 0 0 x 5 x 6 x 7 8: Datapath Functional Unit CMOS VLSI Deign 4th Ed. 28

8: Datapath Functional Unit 29 CMOS VLSI Deign CMOS VLSI Deign 4th Ed. Simplified Sign Ext. Sign bit are either all 0 or all Note that all 0 i all + in proper column Ue thi to reduce loading on MSB PP 0 PP PP 2 PP 3 PP 4 PP 5 PP 6 PP 7 PP 8

Even Simpler Sign Ext. No need to add all the in hardware Precompute the anwer! PP 0 PP PP 2 PP 3 PP 4 PP 5 PP 6 PP 7 PP 8 8: Datapath Functional Unit CMOS VLSI Deign 4th Ed. 30

Advanced Multiplication Signed v. unigned input Higher radix Booth encoding Array v. tree CSA network 8: Datapath Functional Unit CMOS VLSI Deign 4th Ed. 3