FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Topics n Multipliers.

Slides:



Advertisements
Similar presentations
Kuliah Rangkaian Digital Kuliah 7: Unit Aritmatika
Advertisements

Multiplication and Shift Circuits Dec 2012 Shmuel Wimer Bar Ilan University, Engineering Faculty Technion, EE Faculty 1.
Introduction So far, we have studied the basic skills of designing combinational and sequential logic using schematic and Verilog-HDL Now, we are going.
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.
Multiplication Schemes Continued
FPGA-Based System Design: Chapter 6 Copyright  2004 Prentice Hall PTR Register-transfer Design n Basics of register-transfer design: –data paths and controllers.
Lecture Adders Half adder.

Arithmetic Operations and Circuits
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.
EECS Components and Design Techniques for Digital Systems Lec 18 – Arithmetic II (Multiplication) David Culler Electrical Engineering and Computer.
L10 – Multiplication Division 1 Comp 411 – Fall /19/2009 Binary Multipliers ×
UNIVERSITY OF MASSACHUSETTS Dept
Modern VLSI Design 2e: Chapter 6 Copyright  1998 Prentice Hall PTR Topics n Shifters. n Adders and ALUs.
1. 2 Design Objectives  To have a register based storage of 16 latest input values and the 16 impulse response coefficients on-chip.  To utilize a clocked.
Contemporary Logic Design Arithmetic Circuits © R.H. Katz Lecture #24: Arithmetic Circuits -1 Arithmetic Circuits (Part II) Randy H. Katz University of.
ECE 301 – Digital Electronics
Arithmetic Operations and Circuits
Calculator Lab Overview Note: Slides Updated 10/8/12
Low-power, High-speed Multiplier Architectures
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.
Outline Analysis of Combinational Circuits Signed Number Arithmetic
High Speed, Low Power FIR Digital Filter Implementation Presented by, Praveen Dongara and Rahul Bhasin.
Digital Integrated Circuits Chpt. 5Lec /29/2006 CSE477 VLSI Digital Circuits Fall 2002 Lecture 21: Multiplier Design Mary Jane Irwin (
Copyright 1995 by Coherence LTD., all rights reserved (Revised: Oct 97 by Rafi Lohev, Oct 99 by Yair Wiseman, Sep 04 Oren Kapah) IBM י ב מ 10-1 The ALU.
Figure 5.1. Conversion from decimal to binary.. Table 5.1. Numbers in different systems.
Sequential Multipliers Lecture 9. Required Reading Chapter 9, Basic Multiplication Scheme Chapter 10, High-Radix Multipliers Chapter 12.3, Bit-Serial.
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.
EECS Components and Design Techniques for Digital Systems Lec 16 – Arithmetic II (Multiplication) David Culler Electrical Engineering and Computer.
Lecture 4 Multiplier using FPGA 2007/09/28 Prof. C.M. Kyung.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
Modern VLSI Design 4e: Chapter 6 Copyright  2008 Wayne Wolf Topics n Shifters. n Adders and ALUs.
Arithmetic Functions BIL- 223 Logic Circuit Design Ege University Department of Computer Engineering.
VHDL Project II: Array Multiplier Matthew Murach Slides Available at:
FPGA-Based System Design: Chapter 4 Copyright  2003 Prentice Hall PTR Topics n Number representation. n Shifters. n Adders and ALUs.
Lecture 11, Advance Digital Design
Cost/Performance Tradeoffs: a case study
Topics covered: Arithmetic CSE243: Introduction to Computer Architecture and Hardware/Software Interface.
Copied with Permission from prof. Mark PSU ECE
Topics Multipliers..
CPEN Digital System Design
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.
Comparison of Various Multipliers for Performance Issues 24 March Depart. Of Electronics By: Manto Kwan High Speed & Low Power ASIC
Chapter 8 Computer Arithmetic. 8.1 Unsigned Notation Non-negative notation  It treats every number as either zero or a positive value  Range: 0 to 2.
Reconfigurable Computing - Options in Circuit Design John Morris Chung-Ang University The University of Auckland ‘Iolanthe’ at 13 knots on Cockburn Sound,
Full Adder Truth Table Conjugate Symmetry A B C CARRY SUM
Modern VLSI Design 3e: Chapter 8 Copyright  1998, 2002 Prentice Hall PTR Topics n Verilog register-transfer modeling: –basics using traffic light controller;
Computer System Design Lecture 3
CDA3101 Recitation Section 5
Multiplier Design [Adapted from Rabaey’s Digital Integrated Circuits, Second Edition, ©2003 J. Rabaey, A. Chandrakasan, B. Nikolic]
Homework Reading Machine Projects Labs
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.
Topics Multipliers..
Homework Reading Machine Projects Labs
Reading: Study Chapter (including Booth coding)
FIGURE 1: SERIAL ADDER BLOCK DIAGRAM
Montek Singh Mon, Mar 28, 2011 Lecture 11
UNIVERSITY OF MASSACHUSETTS Dept
Lecture 9 Digital VLSI System Design Laboratory
Comparison of Various Multipliers for Performance Issues
Sequential Multipliers
Description and Analysis of MULTIPLIERS using LAVA
UNIVERSITY OF MASSACHUSETTS Dept
Presentation transcript:

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Topics n Multipliers.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Elementary school algorithm multiplicand x multiplier partial product

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Word serial multiplier register +

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Combinational multiplier Uses n-1 adders, eliminates registers:

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Array multiplier n Array multiplier is an efficient layout of a combinational multiplier. n Array multipliers may be pipelined to decrease clock period at the expense of latency.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Array multiplier organization x product skew array for rectangular layout multiplicand multiplier

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Unsigned array multiplier + x0y0x1y0x2y0 xn-1yn-1 0 x0y1 + x1y1 0 + x0y2 + x1y P(2n-1) P(2n-2) P0

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Unsigned array multiplier, cont’d

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Array multiplier critical path

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Verilog for multiplier row module multrow(part,x,ym,yo,cin,s,cout); /* A row of one-bit multiplies */ input [2:0] part; input [3:0] x; input ym, yo; input [2:0] cin; output [2:0] s; output [2:0] cout; assign {cout[0],s[0]} = part[1] + (x[0] & ym) + cin[0]; assign {cout[1],s[1]} = part[2] + (x[1] & ym) + cin[1]; assign {cout[2],s[2]} = (x[3] & yo) + (x[2] & ym) + cin[2]; endmodule

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Verilog for last multiplier row module lastrow(part,cin,s,cout); /* Last row of adders with full carry chain. */ input [2:0] part; input [2:0] cin; output [2:0] s; output cout; wire [1:0] carry; assign {carry[0],s[0]} = part[0] + cin[0]; assign {carry[1],s[1]} = part[1] + cin[1] + carry[0]; assign {cout,s[2]} = part[2] + cin[2] + carry[1]; endmodule

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Verilog for multiplier module array_mult(x,y,p); input [3:0] x; input [3:0] y; output [7:0] p; wire [2:0] row0, row1, row2, row3, c0, c1, c2, c3; /* generate first row of products */ assign row0[2] = x[2] & y[0]; assign row0[1] = x[1] & y[0]; assign row0[0] = x[0] & y[0]; assign p[0] = row0[0]; assign c0 = 3’b000; multrow p0(row0,x,y[1],y[0],c0,row1,c1); assign p[1] = row1[0]; multrow p1(row1,x,y[2],y[1],c1,row2,c2); assign p[2] = row2[0]; multrow p2(row2,x,y[3],y[2],c2,row3,c3); assign p[3] = row3[0]; lastrow l({x[3] & y[3],row3[2:1]},c3,p[6:4],p[7]); endmodule

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Baugh-Wooley multiplier n Algorithm for two’s-complement multiplication. n Adjusts partial products to maximize regularity of multiplication array. n Moves partial products with negative signs to the last steps; also adds negation of partial products rather than subtracts.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Booth multiplier n Encoding scheme to reduce number of stages in multiplication. n Performs two bits of multiplication at once—requires half the stages. n Each stage is slightly more complex than simple multiplier, but adder/subtracter is almost as small/fast as adder.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Booth encoding n Two’s-complement form of multiplier: –y = -2 n y n + 2 n-1 y n n-2 y n n Rewrite using 2 a = 2 a a : –y = -2 n (y n-1 -y n ) + 2 n-1 (y n-2 -y n-1 ) + 2 n-2 (y n-3 -y n-2 ) +... n Consider first two terms: by looking at three bits of y, we can determine whether to add/subtract x, 2x to partial product.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Booth actions y i y i-1 y i-2 increment x 0 1 0x x x x x

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Booth example n x = (25 10 ), y = ( ). y 1 y 0 y -1 = 100, P 1 = P 0 - (10  ) = y 3 y 2 y 1 = 111, P 2 = P 1  0 = n y 5 y 4 y 3 = 101, P 3 = P =

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Booth structure

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Wallace tree n Reduces depth of adder chain. n Built from carry-save adders: –three inputs a, b, c –produces two outputs y, z such that y + z = a + b + c n Carry-save equations: –y i = parity(a i,b i,c i ) –z i = majority(a i,b i,c i )

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Wallace tree structure

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Wallace tree operation n At each stage, i numbers are combined to form ceil(2i/3) sums. n Final adder completes the summation. n Wiring is more complex. n Can build a Booth-encoded Wallace tree multiplier.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Serial-parallel multiplier n Used in serial-arithmetic operations. n Multiplicand can be held in place by register. n Multiplier is shfited into array.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Serial-parallel multiplier structure