Lecture 9 Digital VLSI System Design Laboratory

Slides:



Advertisements
Similar presentations
Datorteknik ArithmeticCircuits bild 1 Computer arithmetic Somet things you should know about digital arithmetic: Principles Architecture Design.
Advertisements

Using Carry-Save Adders For Radix- 4, Can Be Used to Generate 3a – No Booth’s Slight Delay Penalty from CSA – 3 Gates.
Henry Hexmoor1 Chapter 5 Arithmetic Functions Arithmetic functions –Operate on binary vectors –Use the same subfunction in each bit position Can design.
CSE-221 Digital Logic Design (DLD)
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.
IMPLEMENTATION OF µ - PROCESSOR DATA PATH
ECE C03 Lecture 61 Lecture 6 Arithmetic Logic Circuits Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
UNIVERSITY OF MASSACHUSETTS Dept
Modern VLSI Design 2e: Chapter 6 Copyright  1998 Prentice Hall PTR Topics n Shifters. n Adders and ALUs.
Lecture 8 Arithmetic Logic Circuits
Design of Arithmetic Circuits – Adders, Subtractors, BCD 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,
Chapter 6-2 Multiplier Multiplier Next Lecture Divider
Abdullah Aldahami ( ) Feb26, Introduction 2. Feedback Switch Logic 3. Arithmetic Logic Unit Architecture a.Ripple-Carry Adder b.Kogge-Stone.
Digital Integrated Circuits Chpt. 5Lec /29/2006 CSE477 VLSI Digital Circuits Fall 2002 Lecture 21: Multiplier Design Mary Jane Irwin (
Chapter 6-1 ALU, Adder and Subtractor
07/19/2005 Arithmetic / Logic Unit – ALU Design Presentation F CSE : Introduction to Computer Architecture Slides by Gojko Babić.
FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Topics n Multipliers.
Modern VLSI Design 4e: Chapter 6 Copyright  2008 Wayne Wolf Topics n Shifters. n Adders and ALUs.
FPGA-Based System Design: Chapter 4 Copyright  2003 Prentice Hall PTR Topics n Number representation. n Shifters. n Adders and ALUs.
C-H1 Lecture Adders Half adder. C-H2 Full Adder si is the modulo- 2 sum of ci, xi, yi.
Topics Multipliers..
CPEN Digital System Design
ECE DIGITAL LOGIC LECTURE 15: COMBINATIONAL CIRCUITS Assistant Prof. Fareena Saqib Florida Institute of Technology Fall 2015, 10/20/2015.
Full Adder Truth Table Conjugate Symmetry A B C CARRY SUM
CDA3101 Recitation Section 5
Combinational Circuits
Somet things you should know about digital arithmetic:
Prof. An-Yeu Wu Undergraduate VLSI Course Updated: May 24, 2002
Subtitle: How to design the data path of a processor.
UNIVERSITY OF MASSACHUSETTS Dept
Lecture Adders Half adder.
Multiplier Design [Adapted from Rabaey’s Digital Integrated Circuits, Second Edition, ©2003 J. Rabaey, A. Chandrakasan, B. Nikolic]
Swamynathan.S.M AP/ECE/SNSCT
CSE 575 Computer Arithmetic Spring 2003 Mary Jane Irwin (www. cse. psu
Addition and multiplication
Multipliers Multipliers play an important role in today’s digital signal processing and various other applications. The common multiplication method is.
Topics Number representation. Shifters. Adders and ALUs.
CprE / ComS 583 Reconfigurable Computing
CprE / ComS 583 Reconfigurable Computing
CSE Winter 2001 – Arithmetic Unit - 1
Unsigned Multiplication
VLSI Arithmetic Adders & Multipliers
Lecture 14 Logistics Last lecture Today
King Fahd University of Petroleum and Minerals
Arithmetic Functions & Circuits
Arithmetic Circuits (Part I) Randy H
Subject Name: Fundamentals Of CMOS VLSI Subject Code: 10EC56
Topics Multipliers..
CS 140 Lecture 14 Standard Combinational Modules
UNIVERSITY OF MASSACHUSETTS Dept
By: A. H. Abdul Hafez CAO, by Dr. A.H. Abdul Hafez, CE Dept. HKU
Digital System Design Combinational Logic
Overview Part 1 – Design Procedure Part 2 – Combinational Logic
Part III The Arithmetic/Logic Unit
CSE 140 Lecture 14 Standard Combinational Modules
Addition and multiplication
Lecture 14 Logistics Last lecture Today
UNIVERSITY OF MASSACHUSETTS Dept
Addition and multiplication
ECE 352 Digital System Fundamentals
UNIVERSITY OF MASSACHUSETTS Dept
Prof. An-Yeu Wu Undergraduate VLSI Course Updated: May 24, 2002
Prof. An-Yeu Wu Undergraduate VLSI Course Updated: May 24, 2002
Arithmetic Circuits.
UNIVERSITY OF MASSACHUSETTS Dept
Lecture 2 Adders Half adder.
Presentation transcript:

Lecture 9 Digital VLSI System Design Laboratory Instructor: Prof. Diana Marculescu Fall 1999

Topics Shifters. Adders and ALUs.

Combinational shifters Useful for arithmetic operations, bit field extraction, etc. Latch-based shift register can shift only one bit per clock cycle. A multiple-shift shifter requires additional connectivity.

Barrel shifter Can perform n-bit shifts in a single cycle. Efficient layout. Does require transmission gates and long wires.

Barrel shifter structure Accepts 2n data inputs and n control signals, producing n data outputs.

Barrel shifter operation Selects arbitrary contiguous n bits out of 2n input buts. Examples: right shift: data into top, 0 into bottom; left shift: 0 into top, data into bottom; rotate: data into top and bottom.

Barrel shifter layout Two-dimensional array of 2n vertical Xn horizontal cells. Input data travels diagonally upward. Output wires travel horizontally. Control signals run vertically. Exactly one control signal is set to 1, turning on all transmission gates in that column.

Barrel shifter cell

Barrel shifter organization control outputs inputs

Barrel shifter in action 1

Analysis Large number of cells, but each one is small. Delay is large, considering long wires and transmission gates.

Adders Adder delay is dominated by carry chain. Carry chain analysis must consider transistor, wiring delay. Modern VLSI favors adder designs which have compact carry chains.

Full adder Computes one-bit sum, carry: si = ai XOR bi XOR ci ci+1 = aibi + aici + bici Ripple-carry adder: n-bit adder built from full adders. Delay of ripple-carry adder goes through all carry bits.

Carry-lookahead adder First compute carry propagate, generate: Pi = ai + bi Gi = ai bi Compute sum and carry from P and G: si = ci XOR Pi XOR Gi ci+1 = Gi + Pici

Carry-lookahead expansion Can recursively expand carry formula: ci+1 = Gi + Pi(Gi-1 + Pi-1ci-1) ci+1 = Gi + PiGi-1 + PiPi-1 (Gi-2 + Pi-1ci-2) Expanded formula does not depend on intermerdiate carries. Allows carry for each bit to be computed independently.

Depth-4 carry-lookahead

Analysis Deepest carry expansion requires gates with large fanin: large, slow. Carry-lookahead unit requires complex wiring between adders and lookahead unit—values must be routed back from lookahead unit to adder. Layout is even more complex with multiple levels of lookahead.

Carry-skip adder Looks for cases in which carry out of a set of bits is identical to carry in. Typically organized into m-bit stages. If ai = bi for every bit in stage, then bypass gate sends stage’s carry input directly to carry output.

Two-bit carry-skip structure skipping carry internal carry

Carry-skip group structure FA FA FA FA FA FA skip skip

Carry-select adder Computes two results in parallel, each for different carry input assumptions. Uses actual carry in to select correct result. Reduces delay to multiplexer.

Carry-select structure

Manchester carry chain Precharged carry chain which uses P and G signals. Propagate signal connects adjacent carry bits. Generate signal discharges carry bit. Worst-case discharge path goes through entire carry chain.

Manchester carry chain circuit + + Pi-1 Pi Gi-1 Gi   stage i-1 stage i

Serial adder May be used in signal-processing arithmetic where fast computation is important but latency is unimportant. Data format (LSB first): ... bit 3 bit 2 bit 1 bit 0

Serial adder structure LSB control signal clears the carry shift register:

Power consumption of adders Callaway and Schwartzlander experiments on 16-bit adders: constant width carry-skip gave lowest power consumption ripple-carry was slightly higher carry lookahead was higher carry-select was highest

ALUs ALU computes a variety of logical and arithmetic functions based on opcode. May offer complete set of functions of two variables or a subset. ALU built around adder, since carry chain determines delay.

Function block circuit out a b ctrl0 ctrl1 ctrl2 ctrl3

Function blocks and ALUs Function block may be used to compute required intermediate signals for a full-function ALU. Requires little area. Transmission gates may introduce significant delay.

ALU structure

ALU design P and G compute intermediate values from inputs. May not correspond to carry lookahead P and G for non-addition functions. Add unit is adder of choice. Output unit computes from sum, propagate signal.

Topics Multipliers.

Elementary school algorithm 0 1 1 0 multiplicand x 1 0 0 1 multiplier 0 1 1 0 + 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 + 0 1 1 0 0 1 1 0 1 1 0 x 1 x 0 partial product x 0 x 1

Combinational multiplier Uses n adders, eliminates registers: bit of multiplier controls whether addition occurs

Array multiplier Array multiplier is an efficient layout of a combinational multiplier. Array multipliers may be pipelined to decrease clock period at the expense of latency.

Array multiplier organization 0 1 1 0 x 1 0 0 1 + 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 + 0 1 1 0 0 1 1 0 1 1 0 multiplicand multiplier skew array for rectangular layout product

Unsigned array multiplier x2y0 x1y0 x0y0 …. + x1y1 + x0y1 + x1y2 + x0y2 …. xnyn + + P2n-1 P2n-2 P0

Baugh-Wooley multiplier Algorithm for two’s-complement multiplication. Adjusts partial products to maximize regularity of multiplication array. Moves partial products with negative signs to the last steps; also adds negation of partial products rather than subtracts.

Booth multiplier Encoding scheme to reduce number of stages in multiplication. Performs two bits of multiplication at once—requires half the stages. Each stage is slightly more complex than simple multiplier, but adder/subtracter is almost as small/fast as adder.

Booth encoding Two’s-complement form of multiplier: y = -2nyn + 2n-1yn-2 + 2n-2yn-2 + ... Rewrite using 2a = 2a+1 - 2a: y = -2n(yn-1-yn) + 2n-1(yn-2 -yn-1) + 2n-2(yn-3 -yn-2) + ... Consider first two terms: by looking at three bits of y, we can determine whether to add x, 2x to partial product.

Booth actions yi yi-1 yi-2 increment 0 0 0 0 0 0 1 x 0 1 0 x 0 1 1 2x 0 0 0 0 0 0 1 x 0 1 0 x 0 1 1 2x 1 0 0 -2x 1 0 1 -x 1 1 0 -x 1 1 1 0

Booth example x = 011001 (2510), y = 101110 (-1810). y1y0y-1 = 100, P1 = P0 - (10  011001) = 11111001110. y3y2y1= 111, P2 = P1 0 = 11111001110. y5y4y3= 101, P3 = P2 - 0110010000 = 11000111110.

Booth structure

Wallace tree Reduces depth of adder chain. Built from carry-save adders: three inputs a, b, c produces two outputs y, z such that y + z = a + b + c Carry-save equations: yi = parity(ai,bi,ci) zi = majority(ai,bi,ci)

Wallace tree structure

Wallace tree operation At each stage, i numbers are combined to form ceil(2i/3) sums. Final adder completes the summation. Wiring is more complex. Can build a Booth-encoded Wallace tree multiplier.

Serial-parallel multiplier Used in serial-arithmetic operations. Multiplicand can be held in place by register. Multiplier is shifted into array.

Power consumption of multipliers Callaway and Schwartzlander experiments for bit widths of 8 through 32: array multiplier Wallace tree without Booth encoding Wallace tree with Booth encoding Wallace tree used significantly less power, advantage grew with word length.