Description and Analysis of MULTIPLIERS using LAVA.

Slides:



Advertisements
Similar presentations
Combinational Logic with Verilog Materials taken from: Digital Design and Computer Architecture by David and Sarah Harris & The Essentials of Computer.
Advertisements

CPE 626 CPU Resources: Adders & Multipliers Aleksandar Milenkovic Web:
Using Carry-Save Adders For Radix- 4, Can Be Used to Generate 3a – No Booth’s Slight Delay Penalty from CSA – 3 Gates.
Datapath Functional Units. Outline  Comparators  Shifters  Multi-input Adders  Multipliers.
EE 382 Processor DesignWinter 98/99Michael Flynn 1 AT Arithmetic Most concern has gone into creating fast implementation of (especially) FP Arith. Under.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE VLSI Circuit Design Lecture 24 - Subsystem.
Modern VLSI Design 2e: Chapter 6 Copyright  1998 Prentice Hall PTR Topics n Multipliers.
Arithmetic II CPSC 321 E. J. Kim. Today’s Menu Arithmetic-Logic Units Logic Design Revisited Faster Addition Multiplication (if time permits)
Copyright 2008 Koren ECE666/Koren Part.6b.1 Israel Koren Spring 2008 UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering Digital Computer.
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.
VLSI Design Spring03 UCSC By Prof Scott Wakefield Final Project By Shaoming Ding Jun Hu
ECE C03 Lecture 61 Lecture 6 Arithmetic Logic Circuits Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
Arithmetic II CPSC 321 Andreas Klappenecker. Any Questions?
UNIVERSITY OF MASSACHUSETTS Dept
Chapter # 5: Arithmetic Circuits Contemporary Logic Design Randy H
Lecture 8 Arithmetic Logic Circuits
Computer ArchitectureFall 2008 © August 25, CS 447 – Computer Architecture Lecture 3 Computer Arithmetic (1)
Arithmetic-Logic Units CPSC 321 Computer Architecture Andreas Klappenecker.
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
Copyright 2008 Koren ECE666/Koren Part.6a.1 Israel Koren Spring 2008 UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering Digital Computer.
An Extra-Regular, Compact, Low-Power Multiplier Design Using Triple-Expansion Schemes and Borrow Parallel Counter Circuits Rong Lin Ronald B. Alonzo SUNY.
 Arithmetic circuit  Addition  Subtraction  Division  Multiplication.
Lecture 18: Datapath Functional Units
ECE 4110– Sequential Logic Design
Aug Shift Operations Source: David Harris. Aug Shifter Implementation Regular layout, can be compact, use transmission gates to avoid threshold.
Chapter 6-2 Multiplier Multiplier Next Lecture Divider
RTL Hardware Design by P. Chu Chapter Derivation of efficient HDL description 2. Operator sharing 3. Functionality sharing 4. Layout-related circuits.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Lecture 12 – Design Procedure.
XOR and XNOR Logic Gates. XOR Function Output Y is TRUE if input A OR input B are TRUE Exclusively, else it is FALSE. Logic Symbol  Description  Truth.
Abdullah Aldahami ( ) Feb26, Introduction 2. Feedback Switch Logic 3. Arithmetic Logic Unit Architecture a.Ripple-Carry Adder b.Kogge-Stone.
ECE 645 – Computer Arithmetic Lecture 7: Tree and Array Multipliers ECE 645—Computer Arithmetic 3/18/08.
IKI a-Combinatorial Components Bobby Nazief Semester-I The materials on these slides are adopted from those in CS231’s Lecture Notes.
Chapter # 5: Arithmetic Circuits
The Digital Logic Level
Reading Assignment: Weste: Chapter 8 Rabaey: Chapter 11
Reconfigurable Computing - Multipliers: Options in Circuit Design John Morris Chung-Ang University The University of Auckland ‘Iolanthe’ at 13 knots on.
Spring 2002EECS150 - Lec12-cl3 Page 1 EECS150 - Digital Design Lecture 12 - Combinational Logic Circuits Part 3 March 4, 2002 John Wawrzynek.
Digital Kommunikationselektronik TNE027 Lecture 2 1 FA x n –1 c n c n1- y n1– s n1– FA x 1 c 2 y 1 s 1 c 1 x 0 y 0 s 0 c 0 MSB positionLSB position Ripple-Carry.
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.
FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Topics n Multipliers.
Lecture 4 Multiplier using FPGA 2007/09/28 Prof. C.M. Kyung.
A Reconfigurable Low-power High-Performance Matrix Multiplier Architecture With Borrow Parallel Counters Counters : Rong Lin SUNY at Geneseo
4. Computer Maths and Logic 4.2 Boolean Logic Logic Circuits.
COE 202 Introduction to Verilog Computer Engineering Department College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals.
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.
1 Carry Lookahead Logic Carry Generate Gi = Ai Bi must generate carry when A = B = 1 Carry Propagate Pi = Ai xor Bi carry in will equal carry out here.
Topics Multipliers..
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.
Arithmetic-Logic Units. Logic Gates AND gate OR gate NOT gate.
Addition and multiplication Arithmetic is the most basic thing you can do with a computer, but it’s not as easy as you might expect! These next few lectures.
CSE 8351 Computer Arithmetic Fall 2005 Instructors: Peter-Michael Seidel.
Comparison of Various Multipliers for Performance Issues 24 March Depart. Of Electronics By: Manto Kwan High Speed & Low Power ASIC
CSE477 L21 Multiplier Design.1Irwin&Vijay, PSU, 2002 CSE477 VLSI Digital Circuits Fall 2002 Lecture 21: Multiplier Design Mary Jane Irwin (
Lecture 18: Datapath Functional Units
Addition and multiplication1 Arithmetic is the most basic thing you can do with a computer, but it’s not as easy as you might expect! These next few lectures.
EE141 Arithmetic Circuits 1 Chapter 14 Arithmetic Circuits Rev /12/2003.
Multiplier Design [Adapted from Rabaey’s Digital Integrated Circuits, Second Edition, ©2003 J. Rabaey, A. Chandrakasan, B. Nikolic]
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.
Topics Multipliers..
ECE 352 Digital System Fundamentals
Comparison of Various Multipliers for Performance Issues
XOR Function Logic Symbol  Description  Truth Table 
Description and Analysis of MULTIPLIERS using LAVA
Presentation transcript:

Description and Analysis of MULTIPLIERS using LAVA

Today: Describe the most common multiplier circuits In general As Lava descriptions Analyze them using Lava Self optimizing descriptions Time and size estimations

Lava advantages Efficient description of very complex structured circuits Automatically generic description (in contrast to e.g VHDL) Efficient use of formal verification Inheritance of the power of Haskell

Binary multiplication All algorithms use the ”sum of partial products” method: Possible trade-off: Many PPs – Easier generation Fewer PPs – Complex generation

Binary multiplication Decomposition of the multiplier:

Binary multiplication Partial product selection method: P i = S i  N (shifted to the same position as S i ) Example:

Binary multiplication Two basic steps: 1. Generation of partial products (PPG) 2. Summation of partial products Several methods exitst for each step Famous: Booth, Wallace… Goal: To be able to combine any method for the first step with any method for the second step

Interface All PPs start from position 0 (shift by padding zeroes) Use adders whose result has the same length as the longest input (no carry- out) When carry-out is needed (only 1-bit selection), pad with one zero after

Simple PPG (1-bit selection)

Bit multiplier

Carry-propagate adder

Linear array summation

Adder tree summation

Simple multipliers

Booth’s algorithm (s-bit selection) The number of PPs is m/s s-1 adders are used in the selection

Improved Booth 2 Booth 2 selects part. prod. values from {0,N, 2N, 3N} BUT, 3N = 4N – N So, instead of 3N, select –N The next part. prod. selection has to compensate for this

New selection method

Improved Booth s The number of PPs is m/s+1 s-2 adders are used The negation of PPs can easily be integrated into the selection procedure

Improved Booth s

The carry-save adder

The carry-save array

Speed up summation with faster adders (logarithmic) Linear array has several equal-length critical paths  All adders need to be replaced The carry-save array has only ONE critical path  Replace only the final CPA

Logarithmic adder (Ladner – Fisher)

Wallace tree

Sums in O(log m) steps

Reducing hardware All circuits have used lots of constant bits, which need unnecessary hardware Circuits operating on constant bits can be reduced Sufficient to make the reduction in the basic gates (inv, and, nand, or, nor, xor, xnor) The reduction of the larger circuits follows automatically

Interpretations Standard: Symbolic: Non-standard…

Self-reducing gates Constant bits: low, high Everything else is variable var ”a” inv high

Reduction of larger circuits

Time estimation

Size estimation Problem with sharing:

Redifinition of basic gates

Redefinition of AND

Estimation functions

Estimations

Results Different selection group lengths with linearArray summation:

Results Wallace summation instead:

Results Different summation networks with simple PPG:

Results Regular summation networks: addTree carrySave

Limitations of the estimations Wiring delays Needs layout information Fan-out Several inputs connected to the same output  slower signal Only standard gates are used Better techniques exist for e.g full adders