High Performance Circuit Design By Prof. V. Kamakoti Department of Computer Science and Engineering Indian Institute of Technology, Madras Chennai – 600.

Slides:



Advertisements
Similar presentations
Institute of Applied Microelectronics and Computer Engineering College of Computer Science and Electrical Engineering, University of Rostock Spezielle.
Advertisements

Kuliah Rangkaian Digital Kuliah 7: Unit Aritmatika
Carry Lookahead Homework
1 ECE 4436ECE 5367 Computer Arithmetic I-II. 2 ECE 4436ECE 5367 Addition concepts 1 bit adder –2 inputs for the operands. –Third input – carry in from.
Introduction So far, we have studied the basic skills of designing combinational and sequential logic using schematic and Verilog-HDL Now, we are going.
CPE 626 CPU Resources: Adders & Multipliers Aleksandar Milenkovic Web:
Lecture Adders Half adder.
ECE 331 – Digital System Design
Space vs. Speed: Binary Adders 11.3 Space vs. Speed.
EECS Components and Design Techniques for Digital Systems Lec 18 – Arithmetic II (Multiplication) David Culler Electrical Engineering and Computer.
Computer Structure - The ALU Goal: Build an ALU  The Arithmetic Logic Unit or ALU is the device that performs arithmetic and logical operations in the.
ECE C03 Lecture 61 Lecture 6 Arithmetic Logic Circuits Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
S. Reda EN1600 SP’08 Design and Implementation of VLSI Systems (EN1600) Lecture 25: Datapath Subsystems 1/4 Prof. Sherief Reda Division of Engineering,
ECE 301 – Digital Electronics
ECE 301 – Digital Electronics
CSE 246: Computer Arithmetic Algorithms and Hardware Design Prof Chung-Kuan Cheng Lecture 3.
Spring 2002EECS150 - Lec10-cl1 Page 1 EECS150 - Digital Design Lecture 10 - Combinational Logic Circuits Part 1 Feburary 26, 2002 John Wawrzynek.
Adders.
Chapter 5 Arithmetic Logic Functions. Page 2 This Chapter..  We will be looking at multi-valued arithmetic and logic functions  Bitwise AND, OR, EXOR,
Great Theoretical Ideas in Computer Science.
1 Bits are just bits (no inherent meaning) — conventions define relationship between bits and numbers Binary numbers (base 2)
Chapter 6-2 Multiplier Multiplier Next Lecture Divider
Logical Circuit Design Week 8: Arithmetic Circuits Mentor Hamiti, MSc Office ,
Figure 5.1. Conversion from decimal to binary.. Table 5.1. Numbers in different systems.
Chapter 6-1 ALU, Adder and Subtractor
Figure 5.1. Conversion from decimal to binary.. Table 5.1. Numbers in different systems.
Arithmetic Building Blocks
1 Chapter 7 Computer Arithmetic Smruti Ranjan Sarangi Computer Organisation and Architecture PowerPoint Slides PROPRIETARY MATERIAL. © 2014 The McGraw-Hill.
Lecture 4 Multiplier using FPGA 2007/09/28 Prof. C.M. Kyung.
Nov 10, 2008ECE 561 Lecture 151 Adders. Nov 10, 2008ECE 561 Lecture 152 Adders Basic Ripple Adders Faster Adders Sequential Adders.
1 Arithmetic Logic Unit ALU. 2 The Bus Concept 3 CPU Building Blocks  Registers (IR, PC, ACC)  Control Unit (CU)  Arithmetic Logic Unit (ALU)
درس مدارهای منطقی دانشگاه قم مدارهای منطقی محاسباتی تهیه شده توسط حسین امیرخانی مبتنی بر اسلایدهای درس مدارهای منطقی دانشگاه.
Computer Science 101 Circuit Design - Examples. Sum of Products Algorithm Identify each row of the output that has a 1. Identify each row of the output.
1 Tutorial: ITI1100 Dewan Tanvir Ahmed SITE, UofO.
CHAPTER 4 Combinational Logic Design- Arithmetic Operation (Section 4.6&4.9)
Complexity 20-1 Complexity Andrei Bulatov Parallel Arithmetic.
Computer Organization Department of CSE, SSE Mukka Chapter 6 : ARITHMETIC | Website for students | VTU NOTES.
4. Computer Maths and Logic 4.2 Boolean Logic Logic Circuits.
Spring C:160/55:132 Page 1 Lecture 19 - Computer Arithmetic March 30, 2004 Sukumar Ghosh.
Half Adder & Full Adder Patrick Marshall. Intro Adding binary digits Half adder Full adder Parallel adder (ripple carry) Arithmetic overflow.
1 Lecture 12 Time/space trade offs Adders. 2 Time vs. speed: Linear chain 8-input OR function with 2-input gates Gates: 7 Max delay: 7.
Binary Adder DesignSpring Binary Adders. Binary Adder DesignSpring n-bit Addition –Ripple Carry Adder –Conditional Sum Adder –(Carry Lookahead.
EE2174: Digital Logic and Lab Professor Shiyan Hu Department of Electrical and Computer Engineering Michigan Technological University CHAPTER 8 Arithmetic.
Universal college of engineering & technology. .By Harsh Patel)
Topics covered: Arithmetic CSE243: Introduction to Computer Architecture and Hardware/Software Interface.
Computer Architecture
C-H1 Lecture Adders Half adder. C-H2 Full Adder si is the modulo- 2 sum of ci, xi, yi.
Adding the Superset Adder to the DesignWare IP Library
Copied with Permission from prof. Mark PSU ECE
ECE/CS 552: Arithmetic I Instructor:Mikko H Lipasti Fall 2010 University of Wisconsin-Madison Lecture notes partially based on set created by Mark Hill.
UNIT 2. ADDITION & SUBTRACTION OF SIGNED NUMBERS.
EE141 Arithmetic Circuits 1 Chapter 14 Arithmetic Circuits Rev /12/2003 Rev /05/2003.
Topic: N-Bit parallel and Serial adder
1 The ALU l ALU includes combinational logic. –Combinational logic  a change in inputs directly causes a change in output, after a characteristic delay.
ETE 204 – Digital Electronics Combinational Logic Design Single-bit and Multiple-bit Adder Circuits [Lecture: 9] Instructor: Sajib Roy Lecturer, ETE,ULAB.
Gunjeet Kaur Dronacharya Group of Institutions. Binary Adder-Subtractor A combinational circuit that performs the addition of two bits is called a half.
Full Adder Truth Table Conjugate Symmetry A B C CARRY SUM
Lecture 3 ALU and Carry Generator using FPGA 2007/09/21 Prof. C.M. Kyung.
Lecture Adders Half adder.
Lecture 2 Supplement Verilog-01
Serial Multipliers Prawat Nagvajara
Radix 2 Sequential Multipliers
Unsigned Multiplication
Instructor: Prof. Chung-Kuan Cheng
Number Systems and Circuits for Addition
Unit 5 COMBINATIONAL CIRCUITS-1
CS 140 Lecture 14 Standard Combinational Modules
CSE 140 Lecture 14 Standard Combinational Modules
Lecture 3 Combinational units. Adders
Lecture 2 Adders Half adder.
Presentation transcript:

High Performance Circuit Design By Prof. V. Kamakoti Department of Computer Science and Engineering Indian Institute of Technology, Madras Chennai – , India

To learn High speed Adder Circuits –Carry Ripple – Inherently Sequential –Carry Look ahead – Parallel version –You should understand the conversion portion Multipliers –Wallace-tree multipliers

High Speed Circuit Design Performance of a circuit –Circuit depth – maximum level in the topological sort. –Circuit Size – Number of combinational elements. Optimize both for high performance. Both are inversely proportional – so a balance to be arrived.

Carry Ripple Adder Given two n-bit numbers (a(n-1), a(n-2), a(n-3), …, a(0)) and (b(n-1), b(n- 2), b(n-3),…, b(0)). A full adder adds three bits (a,b,c), where ‘a’ and ‘b’ are data inputs and ‘c’ is the carry-in bit. It outputs a sum bit ‘s’ and a carry-out bit ‘co’

a b a c b c co a b c s Full Adder

n-bit carry ripple adder A(0)B(0)A(1)B(1)A(2)B(2) A(n-1)B(n-1) S(0) C(1) S(1) C(2) S(2) C(3) S(n-1) C(n) C(n-2) Circuit Depth is ‘n’. Circuit area is ‘n’ times size of a Full Adder FA(0)FA(1) FA(2) FA(n-1) C(0)

Carry look ahead adder The depth is ‘n’ because of the carry. Some interesting facts about carry a(j)b(j)c(j)c(j+1) If a(j) = b(j) then c(j+1) = a(j) = b(j) If a(j) <> b(j) then c(j+1) = c(j)

Carry Lookahead Circuit a(j)b(j)c(j+1)Status (x(j+1)) 000Kill (k) 01c(j)Propagate (p) 10c(j)Propagate (p) 111Generate (g)

Carry Lookahead Circuit (*)kpg kkkg pkpg gkgg x(j) x(j+1) y(j) = x(0) (*) x(1) (*) … x(j) x(0) = k If y(j) = k then c(j) = 0 If y(j) = g then c(j) = 1 Note that y(j) <> p New (j+1)th carry status as influenced by x(j) (*) is associative

Carry Calculation A prefix computation –y(0) = x(0) = k –y(1) = x(0) (*) x(1) –y(2) = x(0) (*) x(1) (*) x(2) –……. –y(n) = x(0) (*) x(1) (*) …. x(n) Let [i,j] = x(i) (*) x(i+1) (*) … x(j) [i,j] (*) [j+1,k] = [i,k] –By associative property

An 8-node Carry look ahead adder

Parallel Prefix circuit Input x(0), x(1), … x(n) – for an n-bit CLA, where x(0) = k. Each x(i) is a 2-bit vector To compute the prefix (*) and pipeline the same. y(i) = x(0) (*) x(1) (*) … x(i) We use the Recursive Doubling Technique described earlier

Pipelined Prefix Calculation based on Recursive Doubling Technique gkgpgpp k gkgggpk k gkgggkk k gkgggkk k

gkgpgpp k gkgggpk k gkgggkk k gkgggkk k

What is achieved? The depth of circuit reduced from O(n) to O(log 2 n) Size is still O(n) This results in a fast adder.

Carry Save Addition Given three n-bit numbers x, y and z. The circuit computes a n-bit number ‘u’ and a (n+1)-bit number ‘v’ such that –x+y+z = u + v.

Carry Save addition - example

Carry Save Adder Circuit

Multipliers Simple grade-school multiplication method. –Concept of partial-products Partial products generated in parallel and carry save addition results in faster array multiplier

Grade-school multiplication = a = b = m (0) = m (1) = m (2) = m (3) = p

Carry Save Addition based Multiplication

Wallace-Tree Multipliers While multiplying two n-bit numbers a total of n partial products have to be added. Use floor(n/3) carry save adders and reduce the number to ceil(2n/3). Apply it recursively. O(log n) depth circuit of size O(n 2 ).

8-bit Wallace-tree multiplier