Multioperand Addition

Slides:



Advertisements
Similar presentations
Multioperand Addition Lecture 6. Required Reading Chapter 8, Multioperand Addition Note errata at:
Advertisements

Using Carry-Save Adders For Radix- 4, Can Be Used to Generate 3a – No Booth’s Slight Delay Penalty from CSA – 3 Gates.
UNIVERSITY OF MASSACHUSETTS Dept
CSE-221 Digital Logic Design (DLD)
Copyright 2008 Koren ECE666/Koren Part.6b.1 Israel Koren Spring 2008 UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering Digital Computer.
EECS Components and Design Techniques for Digital Systems Lec 18 – Arithmetic II (Multiplication) David Culler Electrical Engineering and Computer.
VLSI Design Spring03 UCSC By Prof Scott Wakefield Final Project By Shaoming Ding Jun Hu
Copyright 2008 Koren ECE666/Koren Part.6a.1 Israel Koren Spring 2008 UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering Digital Computer.
Chapter 6-2 Multiplier Multiplier Next Lecture Divider
Philip Brisk 2 Paolo Ienne 2 Hadi Parandeh-Afshar 1,2 1: University of Tehran, ECE Department 2: EPFL, School of Computer and Communication Sciences Efficient.
ECE 645 – Computer Arithmetic Lecture 7: Tree and Array Multipliers ECE 645—Computer Arithmetic 3/18/08.
Multi-operand Addition
EECS Components and Design Techniques for Digital Systems Lec 16 – Arithmetic II (Multiplication) David Culler Electrical Engineering and Computer.
1 Using 2-opr adder Carry-save adder Wallace Tree Dadda Tree Parallel Counters Multi-Operand Addition.
Fast Adders: Parallel Prefix Network Adders, Conditional-Sum Adders, & Carry-Skip Adders ECE 645: Lecture 5.
Spring C:160/55:132 Page 1 Lecture 19 - Computer Arithmetic March 30, 2004 Sukumar Ghosh.
Binary Adder DesignSpring Binary Adders. Binary Adder DesignSpring n-bit Addition –Ripple Carry Adder –Conditional Sum Adder –(Carry Lookahead.
Logic and computers 2/6/12. Binary Arithmetic /6/ Only two digits: the bits 0 and 1 (Think: 0 = F, 1.
ECE 645 – Computer Arithmetic Lecture 6: Multi-Operand Addition ECE 645—Computer Arithmetic 3/5/08.
Wallace Tree Previous Example is 7 Input Wallace Tree
Conditional-Sum Adders Parallel Prefix Network Adders
Full Tree Multipliers All k PPs Produced Simultaneously Input to k-input Multioperand Tree Multiples of a (Binary, High-Radix or Recoded) Formed at Top.
Multioperand Addition
Application of Addition Algorithms Joe Cavallaro.
Carry-Lookahead, Carry-Select, & Hybrid Adders ECE 645: Lecture 2.
Reconfigurable Computing - Options in Circuit Design John Morris Chung-Ang University The University of Auckland ‘Iolanthe’ at 13 knots on Cockburn Sound,
Gunjeet Kaur Dronacharya Group of Institutions. Binary Adder-Subtractor A combinational circuit that performs the addition of two bits is called a half.
Tree and Array Multipliers Lecture 8. Required Reading Chapter 11, Tree and Array Multipliers Chapter 12.5, The special case of squaring Note errata at:
Carry-Lookahead & Carry-Select Adders
Lecture Adders Half adder.
Conditional-Sum Adders Parallel Prefix Network Adders
Multiplier Design [Adapted from Rabaey’s Digital Integrated Circuits, Second Edition, ©2003 J. Rabaey, A. Chandrakasan, B. Nikolic]
CS2100 Computer Organisation
Sequential Multipliers
CSE 575 Computer Arithmetic Spring 2003 Mary Jane Irwin (www. cse. psu
Space vs. Speed: Binary Adders
Multipliers Multipliers play an important role in today’s digital signal processing and various other applications. The common multiplication method is.
Summary Half-Adder Basic rules of binary addition are performed by a half adder, which has two binary inputs (A and B) and two binary outputs (Carry out.
Basic Adders and Counters
ECE/CS 552: Carry Lookahead
Digital System Design Review.
Radix 2 Sequential Multipliers
ECE 331 – Digital System Design
Tree and Array Multipliers
CSE Winter 2001 – Arithmetic Unit - 1
Unsigned Multiplication
Lecture 14 Logistics Last lecture Today
VLSI Arithmetic Lecture 10: Multipliers
Arithmetic Circuits (Part I) Randy H
EFFICIENT ADDERS TO SPEEDUP MODULAR MULTIPLICATION FOR CRYPTOGRAPHY
Programmable Configurations
Basic Adders and Counters Implementation of Adders
Part III The Arithmetic/Logic Unit
UNIVERSITY OF MASSACHUSETTS Dept
Lecture 14 Logistics Last lecture Today
Tree and Array Multipliers
UNIVERSITY OF MASSACHUSETTS Dept
UNIVERSITY OF MASSACHUSETTS Dept
Lecture 9 Digital VLSI System Design Laboratory
Comparison of Various Multipliers for Performance Issues
Sequential Multipliers
Carry-Lookahead, Carry-Select, & Hybrid Adders
UNIVERSITY OF MASSACHUSETTS Dept
Carry-Lookahead, Carry-Select, & Hybrid Adders
Appendix J Authors: John Hennessy & David Patterson.
Carry-Lookahead & Carry-Select Adders
UNIVERSITY OF MASSACHUSETTS Dept
Conditional-Sum Adders Parallel Prefix Network Adders
Lecture 2 Adders Half adder.
Presentation transcript:

Multioperand Addition Lecture 6 Multioperand Addition Modular Addition

Required Reading Behrooz Parhami, Computer Arithmetic: Algorithms and Hardware Design Chapter 8, Multioperand Addition Chapter 7.6, Modular Two-Operand Adders

Applications of multioperand addition Inner product Multiplication n-1 n-1 p=a·x s =  x(i) y(i) =  p(i) i=0 i=0

Number of bits of the result S =  x(i) x(i) [0..2k-1] i=0 Smin = 0 Smax = n (2k-1) # of bits of S = log2 (Smax + 1) = = log2 (n (2k-1) + 1)  log2 n 2k = = k + log2 n

Serial implementation of multioperand addition

Adding 7 numbers in the binary tree of adders

Ripple-carry adders at levels i and i+1

Example: Adding 8 3-bit numbers

Ripple-Carry Carry Propagate Adder (CPA) ak-1 bk-1 a2 b2 a1 b1 a0 b0 ck c3 ck-1 c2 c1 c0 FA . . . FA FA FA sk-1 s2 s1 s0

Carry Save Adder (CSA) ak-1 bk-1 ck-1 a2 b2 c2 a1 b1 c1 a0 b0 c0 FA . . . FA FA FA ck sk-1 ck-1 s3 c3 s2 c2 s1 c1 s0

A Ripple-Carry vs. Carry-Save Adder

Operation of a Carry Save Adder (CSA) Example 24 23 22 21 20 x y z 0 1 0 1 0 1 1 0 1 1 1 0 1 1 1 s c 0 0 1 1 0 1 1 0 1 1 x+y+z = s + c

Carry propagate and carry-save adders in dot notation

Specifying full- and half-adder blocks in dot notation

Carry-save adder for four operands x3 x2 x1 x0 y3 y2 y1 y0 z3 z2 z1 z0 w3 w2 w1 w0 s3 s2 s1 s0 c4 c3 c2 c1 c4 s3 s2 s1 s0 ’ S5 S4 S3 S2 S1 S0

Carry-save adder for four operands ’ c4 ’ s3 ’ c3 ’ s2 ’ c2 ’ s1 ’ c1 ’

Carry-save adder for four operands x y z w CSA c s CSA c’ s’ CPA S

Carry-save adder for six operands Implementation of one-bit slice CSA tree

Tree of carry save adders reducing seven numbers to two

Addition of seven six-bit numbers in dot notation

Adding seven k-bit numbers: block diagram

Number of Inputs and Tree Height Relationship Between Number of Inputs and Tree Height h levels

Parameters of tree carry-save adders (1) Latency LatencyCSA = h(n)  TFA + LatencyCPA(k, n) Tree height for n operands Component Adders Widths typically close to k bits CSA k .. k + log2 n CPA  k + log2 n

Parameters of tree carry-save adders (2) Maximum number of inputs that can be reduced to two by an h-level tree, n(h) n(0) = 2 3 2 n(h) = n(h-1) n(1) = 3 n(2) = 4 n(3) = 6 n(4) = 9 n(5) = 13 n(6) = 19 3 2 3 2 2 ( )h-1 < n(h)  2 ( )h

Smallest height of the tree carry save adder Parameters of tree carry-save adders (3) Smallest height of the tree carry save adder for n operands, h(n) h(n) = 1 + h( ) 2 n 3 h(2) = 0 h(n)  log ( ) n 3 2 2

Wallace vs. Dadda Trees (1) Wallace trees Reduce the size of the final Carry Propagate Adder (CPA) Optimum from the point of view of speed Dadda trees Reduce the cost of the carry save tree Optimum (among the CSA trees) from the point of view of area

Wallace vs. Dadda Trees (2) Wallace reduces number of operands at earliest opportunity Goal of this is to have smallest number of bits for CPA adder However, sometimes having a few bits longer CPA adder does not affect the propagation delay significantly (i.e. carry-lookahead) Dadda seeks to reduce the number of FA and HA units May be at the cost of a slightly larger final CPA

5-to-3 Parallel Counter a+b+c+d+e = s0+s1+s2 a 0 1 0 1 0 b 1 1 0 1 1 c 24 23 22 21 20 a b c d e 0 1 0 1 0 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 s0 s1 s2 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 a+b+c+d+e = s0+s1+s2

Implementation of 1-bit of 5-to-3 parallel counter using single CLB slice of a Virtex FPGA

Carry Save Adder vs. 5-to-3 Parallel Counter b c d e w PC CSA CPA y=a+b+c+d+e mod 2w a b c d e s2 s1 s0 w w w w w CSA CSA CSA CPA w y=a+b+c+d+e mod 2w

Generalized Parallel Counters Fig. 8.17 Dot notation for a (5, 5; 4)-counter and the use of such counters for reducing five numbers to two numbers. Multicolumn reduction (5, 5; 4)-counter Unequal columns Generalized parallel counter = Parallel compressor (2, 3; 3)-counter

Related Question from the Last Year’s Exam

Pseudocode sum = 0 for i = 0 to 3 do sum = sum + A + B + C + D end for average = sum / 24

Design and analyze the multi-operand adder MADD shown above by C D S 8 4 MADD >>4 reset clk Reg sum average Design and analyze the multi-operand adder MADD shown above by Drawing the dot diagram of the operations performed by MADD. Drawing a block diagram of MADD using medium level components, such as full-adders and half-adders.