Description and Analysis of MULTIPLIERS using LAVA

Slides:



Advertisements
Similar presentations
CPE 626 CPU Resources: Adders & Multipliers Aleksandar Milenkovic Web:
Advertisements

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.
CSE-221 Digital Logic Design (DLD)
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.
VLSI Design Spring03 UCSC By Prof Scott Wakefield Final Project By Shaoming Ding Jun Hu
L10 – Multiplication Division 1 Comp 411 – Fall /19/2009 Binary Multipliers ×
Arithmetic-Logic Units CPSC 321 Computer Architecture Andreas Klappenecker.
EE466: VLSI Design Lecture 14: Datapath Functional Units.
Introduction to CMOS VLSI Design Datapath Functional Units
 Arithmetic circuit  Addition  Subtraction  Division  Multiplication.
Lecture 18: Datapath Functional Units
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.
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.
Reconfigurable Computing - Multipliers: Options in Circuit Design John Morris Chung-Ang University The University of Auckland ‘Iolanthe’ at 13 knots on.
Description and Analysis of MULTIPLIERS using LAVA.
Spring 2002EECS150 - Lec12-cl3 Page 1 EECS150 - Digital Design Lecture 12 - Combinational Logic Circuits Part 3 March 4, 2002 John Wawrzynek.
Advanced VLSI Design Unit 05: Datapath Units. Slide 2 Outline  Adders  Comparators  Shifters  Multi-input Adders  Multipliers.
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.
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.
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.
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.
CSE477 L21 Multiplier Design.1Irwin&Vijay, PSU, 2002 CSE477 VLSI Digital Circuits Fall 2002 Lecture 21: Multiplier Design Mary Jane Irwin (
Lecture 12 Logistics Last lecture Today HW4 due today Timing diagrams
Multiplier Design [Adapted from Rabaey’s Digital Integrated Circuits, Second Edition, ©2003 J. Rabaey, A. Chandrakasan, B. Nikolic]
CSE477 VLSI Digital Circuits Fall 2003 Lecture 21: Multiplier Design
CSE241A VLSI Digital Circuits Winter 2003 Recitation 2
EKT 221 : Digital 2 Serial Transfers & Microoperations
Addition and multiplication
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.
ECE 434 Advanced Digital System L13
CSE Winter 2001 – Arithmetic Unit - 1
Unsigned Multiplication
VLSI Arithmetic Lecture 4
Lecture 14 Logistics Last lecture Today
Arithmetic Functions & Circuits
VLSI Arithmetic Lecture 10: Multipliers
Arithmetic Circuits (Part I) Randy H
CSE 370 – Winter 2002 – Comb. Logic building blocks - 1
King Fahd University of Petroleum and Minerals
CSE 370 – Winter Combinational Implementation - 1
EFFICIENT ADDERS TO SPEEDUP MODULAR MULTIPLICATION FOR CRYPTOGRAPHY
Chapter 3 – Combinational Logic Design
Topics Multipliers..
Addition and multiplication
Lecture 14 Logistics Last lecture Today
UNIVERSITY OF MASSACHUSETTS Dept
Addition and multiplication
ECE 352 Digital System Fundamentals
ECE 352 Digital System Fundamentals
UNIVERSITY OF MASSACHUSETTS Dept
Lecture 9 Digital VLSI System Design Laboratory
Comparison of Various Multipliers for Performance Issues
XOR Function Logic Symbol  Description  Truth Table 
Booth Recoding: Advantages and Disadvantages
Arithmetic Building Blocks
DeMorgan’s Law and Gates
Chapter 10 Introduction to VHDL
UNIVERSITY OF MASSACHUSETTS Dept
(Carry Lookahead Adder)
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: Pi = Si  N (shifted to the same position as Si ) Example:

Binary multiplication Two basic steps: Generation of partial products (PPG) 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

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