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

Similar documents
CMPEN 411 VLSI Digital Circuits Spring Lecture 19: Adder Design

CMPUT 329. Circuits for binary addition

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

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

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

ISSN (PRINT): , (ONLINE): , VOLUME-4, ISSUE-10,

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

EECS150. Arithmetic Circuits

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

NTE74LS181 Integrated Circuit TTL Arithmetic Logic Unit/Function Generator

Arithmetic Building Blocks

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

ARITHMETIC COMBINATIONAL MODULES AND NETWORKS

Midterm Exam Two is scheduled on April 8 in class. On March 27 I will help you prepare Midterm Exam Two.

Additional Gates COE 202. Digital Logic Design. Dr. Muhamed Mudawar King Fahd University of Petroleum and Minerals

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

EFFICIENT MULTIOUTPUT CARRY LOOK-AHEAD ADDERS

Combinational Logic Design Arithmetic Functions and Circuits

XOR - XNOR Gates. The graphic symbol and truth table of XOR gate is shown in the figure.

Menu. Binary Adder EEL3701 EEL3701. Add, Subtract, Compare, ALU

Introduction to CMOS VLSI Design Lecture 1: Introduction

ECE/CS 250 Computer Architecture

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

ECE429 Introduction to VLSI Design

Module 2. Basic Digital Building Blocks. Binary Arithmetic & Arithmetic Circuits Comparators, Decoders, Encoders, Multiplexors Flip-Flops

Digital Logic. CS211 Computer Architecture. l Topics. l Transistors (Design & Types) l Logic Gates. l Combinational Circuits.

ECE 250 / CPS 250 Computer Architecture. Basics of Logic Design Boolean Algebra, Logic Gates

Chapter 5 Arithmetic Circuits

Arithmetic Circuits-2

Hardware Design I Chap. 4 Representative combinational logic

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

Chapter 5. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 5 <1>

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

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

Fundamentals of Digital Design

CSE140: Components and Design Techniques for Digital Systems. Logic minimization algorithm summary. Instructor: Mohsen Imani UC San Diego

Lecture 6: Logical Effort

Number representation

ELCT201: DIGITAL LOGIC DESIGN

EE 447 VLSI Design. Lecture 5: Logical Effort

14:332:231 DIGITAL LOGIC DESIGN

Section 3: Combinational Logic Design. Department of Electrical Engineering, University of Waterloo. Combinational Logic

CMSC 313 Lecture 17. Focus Groups. Announcement: in-class lab Thu 10/30 Homework 3 Questions Circuits for Addition Midterm Exam returned

Review for Final Exam

CMSC 313 Lecture 18 Midterm Exam returned Assign Homework 3 Circuits for Addition Digital Logic Components Programmable Logic Arrays

CSE477 VLSI Digital Circuits Fall Lecture 20: Adder Design

Floating Point Representation and Digital Logic. Lecture 11 CS301

DESIGN OF PARITY PRESERVING LOGIC BASED FAULT TOLERANT REVERSIBLE ARITHMETIC LOGIC UNIT

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

Chapter 03: Computer Arithmetic. Lesson 03: Arithmetic Operations Adder and Subtractor circuits Design

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

Chapter 2 Combinational Logic Circuits

L10 State Machine Design Topics

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

Lecture 7: Logic design. Combinational logic circuits

CprE 281: Digital Logic

Combinational Logic Trainer Lab Manual

Adders, subtractors comparators, multipliers and other ALU elements

Adders, subtractors comparators, multipliers and other ALU elements

XI STANDARD [ COMPUTER SCIENCE ] 5 MARKS STUDY MATERIAL.

Carry Look Ahead Adders

Part II Addition / Subtraction

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

VLSI Design, Fall Logical Effort. Jacob Abraham

Boolean Algebra and Digital Logic 2009, University of Colombo School of Computing

We are here. Assembly Language. Processors Arithmetic Logic Units. Finite State Machines. Circuits Gates. Transistors

Design of Sequential Circuits

Full Adder Ripple Carry Adder Carry-Look-Ahead Adder Manchester Adders Carry Select Adder

EECS150 - Digital Design Lecture 4 - Boolean Algebra I (Representations of Combinational Logic Circuits)

Overview. Arithmetic circuits. Binary half adder. Binary full adder. Last lecture PLDs ROMs Tristates Design examples

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

Arithmetic Circuits-2

Outline. EECS150 - Digital Design Lecture 4 - Boolean Algebra I (Representations of Combinational Logic Circuits) Combinational Logic (CL) Defined

CMSC 313 Lecture 18 Midterm Exam returned Assign Homework 3 Circuits for Addition Digital Logic Components Programmable Logic Arrays

Design of a Novel Reversible ALU using an Enhanced Carry Look-Ahead Adder

Binary addition by hand. Adding two bits

Chapter 2 Combinational Logic Circuits

Part II Addition / Subtraction

PG - TRB UNIT-X- DIGITAL ELECTRONICS. POLYTECHNIC-TRB MATERIALS

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

SIR C.R.REDDY COLLEGE OF ENGINEERING ELURU DIGITAL INTEGRATED CIRCUITS (DIC) LABORATORY MANUAL III / IV B.E. (ECE) : I - SEMESTER

CMP 334: Seventh Class

Chapter 7. VLSI System Components

Lecture A: Logic Design and Gates

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

Lecture 22 Chapters 3 Logic Circuits Part 1

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

Chapter 7 Logic Circuits

Introduction to Computer Engineering ECE 203

Combinational Logic. By : Ali Mustafa

Hakim Weatherspoon CS 3410 Computer Science Cornell University

COMPUTERS ORGANIZATION 2ND YEAR COMPUTE SCIENCE MANAGEMENT ENGINEERING UNIT 3 - ARITMETHIC-LOGIC UNIT JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ

Chapter 4: Designing Combinational Systems Uchechukwu Ofoegbu

Where are we? Data Path Design

Circuits & Boolean algebra.

Chapter 4. Combinational: Circuits with logic gates whose outputs depend on the present combination of the inputs. elements. Dr.

CS 140 Lecture 14 Standard Combinational Modules

VHDL DESIGN AND IMPLEMENTATION OF C.P.U BY REVERSIBLE LOGIC GATES

Reversible ALU Implementation using Kogge-Stone Adder

Transcription:

ALUs and Data Paths Subtitle: How to design the data path of a processor. Copyright 2006 - Joanne DeGroat, ECE, OSU 1

Lecture overview General Data Path of a multifunction ALU Copyright 2006 - Joanne DeGroat, ECE, OSU 2

of ALUs and Data Paths Objective: a General Purpose Data Path such as the datapath found in a typical computer. A Data Path Contains: Registers general purpose, special purpose Execution Units capable of multiple functions Copyright 2006 - Joanne DeGroat, ECE, OSU 3

ALU Operations Add (A+B) Add with (A+B+n) Subtract (A-B) Subtract with Borrow (A-B-n) [Subract reverse (B-A)] [Subract reverse with Borrow (B-A-n)] Negative A (-A) Negative B (-B) Increment A (A+1) Increment B (B+1) Decrement A (A-1) Decrement B (B-1) Logical AND Logical OR Logical XOR Not A Not B A B Multiply Step or Multiply Divide Step or Divide Mask Conditional AND/OR (uses Mask) Shift Zero Copyright 2006 - Joanne DeGroat, ECE, OSU 4

A High Level Copyright 2006 - Joanne DeGroat, ECE, OSU 5

The AMD 2901 Bit Slice ALU Copyright 2006 - Joanne DeGroat, ECE, OSU 6

The Architecture Copyright 2006 - Joanne DeGroat, ECE, OSU 7

Arithmetic Logic rcuits The Brute Force Approach A more modern approach Copyright 2006 - Joanne DeGroat, ECE, OSU 8

Arithmetic Logic rcuits The Brute Force Approach AB AB A B A Cout A FA B n Function N to 1 Mux A more modern approach Copyright 2006 - Joanne DeGroat, ECE, OSU 9

Arithmetic Logic rcuits The Brute Force Approach AB AB A B A Cout A FA B n Function N to 1 Mux A B A B A more modern approach S Logic Unit 2 to 1 Mux Arithmetic Unit Copyright 2006 - Joanne DeGroat, ECE, OSU 10

A Generic Function Unit Desire a generic functional unit that can perform many functions A 4-to-1 mux will perform all basic logic functions of 2 inputs Copyright 2006 - Joanne DeGroat, ECE, OSU 11

Low level implementation At the implementation Level the design can be With transmission gates Very important for VLSI implementation Implementation has a total Of 16 transistors. Copyright 2006 - Joanne DeGroat, ECE, OSU 12

Low level implementation An implementation in pass gates (CMOS) When the control signal is a 1 the value will be transmitted Otherwise it is an open switch A B A B G(A,B) AB A+B AxorB 0 0 1 1 G0 0 0 0 0 1 1 0 G1 0 1 1 1 0 0 1 G2 0 1 1 1 1 0 0 G3 1 1 0 Copyright 2006 - Joanne DeGroat, ECE, OSU 13

Lets look at Binary Addition We can use this generic function unit construct a generic ALU. For Binary Addition consider the following: SUMi = Ai xor Bi xor +1 = + Ai + Bi A B n Sum Cout 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 Copyright 2006 - Joanne DeGroat, ECE, OSU 14

An Alternative - Define two signals Equations for P and K = Ai xor Bi = A B Now can reform equations into functions of P and K Copyright 2006 - Joanne DeGroat, ECE, OSU 15

New functions Using these definitions of P and K SUMi = xor +1 = + = + AB You can use the generic functional blocks to generate P and K and then select the correct function for final output Copyright 2006 - Joanne DeGroat, ECE, OSU 16

A bit slice of the ALU Slice starts out with a generic unit which can produce any function of inputs Ai and Bi to produce P Need another to produce K And a 3 rd to generate the result And also need a dedicated unit to compute the carry out, the +1 term +1 ll Copyright 2006 - Joanne DeGroat, ECE, OSU 17

Generation of the carry out The carry chain is the critical path for arithmetic operations. A simple ripple carry circuit is shown here for the slice Actual implementation depend on the technology in which implemented. Copyright 2006 - Joanne DeGroat, ECE, OSU 18

chain implementation CMOS Manchester carry chain using precharge pulldown logic works well. ECL look-ahead circuitry works well as ECL allows for large fan-in wired OR gates. Copyright 2006 - Joanne DeGroat, ECE, OSU 19

Multibit implementation ll ll ll ll ll ll ll ll +1 +1 +1 +1 +1 +1 +1 +1 Copyright 2006 - Joanne DeGroat, ECE, OSU 20

Function codes 0 NOR A B A AB B XOR A B A B G 0 0 1 1 G0 0101010101010101 0 1 1 0 G1 0011001100110011 1 0 0 1 G2 0000111100001111 1 1 0 0 G3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 NAND AND XNOR B A +B A A+B OR 1 The G values for the various logic functions By setting the value of the G inputs the output is the Corresponding logic function of the data which comes in On the select inputs. Copyright 2006 - Joanne DeGroat, ECE, OSU 21

Binary Subtraction Much like addition but now choose P = A xnor B K = A B Diff D = A xor B xor Bin = A xnor B xnor Bin Borrow Out Bout=P Bin + P K P K A B Bin Diff Bout 1 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 1 0 1 1 0 0 0 1 1 0 1 0 1 1 0 0 1 0 0 1 1 0 1 0 0 1 0 1 1 0 0 0 1 0 1 1 1 1 1 Copyright 2006 - Joanne DeGroat, ECE, OSU 22

The codes to have the ALU work Consider as we go to the sliced ALU Logic function done in the P generic unit Math used all the blocks Function P K R n A 12 --- 12 --- A and B 8 -- 12 --- OR 14 --- 12 --- A + B + n 6 1 6 n A+B 6 1 6 0 Incr A 12 3 6 1 A B 9 4 9 0 or Bin Copyright 2006 - Joanne DeGroat, ECE, OSU 23

Multibit implementation ll ll ll ll ll ll ll ll +1 +1 +1 +1 +1 +1 +1 +1 Copyright 2006 - Joanne DeGroat, ECE, OSU 24