Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No. 5-1 Chapter # 5: Arithmetic Circuits Contemporary Logic Design Randy H. Katz.

Презентация:



Advertisements
Похожие презентации
Chapter 6 Digital Arithmetic: Operations and Circuits ECE 221 Intro. Digital Systems Fall Semester 2002 ECE Department, UMASS-Amherst Prof. Hill Prof.
Advertisements

Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 4 – Arithmetic Functions Logic and Computer.
Here are multiplication tables written in a code. The tables are not in the correct order. Find the digit, represented by each letter.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 5 – Sequential Circuits Part 2 – Sequential.
Sequences Sequences are patterns. Each pattern or number in a sequence is called a term. The number at the start is called the first term. The term-to-term.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 6 – Selected Design Topics Part 4 – Programmable.
UNIT 2. Introduction to Computer Programming. COM E 211: Basic Computer Programming UNIT 2. Introduction to Computer Programming Algorithm & Flowcharting.
Operators and Arithmetic Operations. Operators An operator is a symbol that instructs the code to perform some operations or actions on one or more operands.
HPC Pipelining Parallelism is achieved by starting to execute one instruction before the previous one is finished. The simplest kind overlaps the execution.
CS Fall Combinational Examples - 1 Combinational Logic Design Case Studies zGeneral design procedure zExamples yCalendar subsystem yBCD to.
© 2005 Cisco Systems, Inc. All rights reserved. BGP v Customer-to-Provider Connectivity with BGP Connecting a Multihomed Customer to Multiple Service.
Chap 9-1 Statistics for Business and Economics, 6e © 2007 Pearson Education, Inc. Chapter 9 Estimation: Additional Topics Statistics for Business and Economics.
Logic and Computer Design Fundamentals Chapter 7 Registers and Counters.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
© 2005 Cisco Systems, Inc. All rights reserved. BGP v Route Selection Using Policy Controls Using Multihomed BGP Networks.
SPLAY TREE The basic idea of the splay tree is that every time a node is accessed, it is pushed to the root by a series of tree rotations. This series.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 2 –
Chap 15-1 Statistics for Business and Economics, 6e © 2007 Pearson Education, Inc. Chapter 15 Nonparametric Statistics Statistics for Business and Economics.
© 2005 Cisco Systems, Inc. All rights reserved. BGP v Customer-to-Provider Connectivity with BGP Understanding Customer-to-Provider Connectivity.
© 2009 Avaya Inc. All rights reserved.1 Chapter Two, Voic Pro Components Module Two – Actions, Variables & Conditions.
Транксрипт:

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No. 5-1 Chapter # 5: Arithmetic Circuits Contemporary Logic Design Randy H. Katz University of California, Berkeley Fall 2000

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No. 5-2 Motivation Arithmetic circuits are excellent examples of comb. logic design Time vs. Space Trade-offs Doing things fast requires more logic and thus more space Example: carry lookahead logic Arithmetic Logic Units Critical component of processor datapath Inner-most "loop" of most computer instructions

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No. 5-3 Chapter Overview Binary Number Representation Sign & Magnitude, Ones Complement, Twos Complement Binary Addition Full Adder Revisted ALU Design BCD Circuits Combinational Multiplier Circuit Design Case Study: 8 Bit Multiplier

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No. 5-4 Number Systems Representation of Negative Numbers Representation of positive numbers same in most systems Major differences are in how negative numbers are represented Three major schemes: sign and magnitude ones complement twos complement Assumptions: we'll assume a 4 bit machine word 16 different values can be represented roughly half are positive, half are negative

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No. 5-5 Number Systems Sign and Magnitude Representation High order bit is sign: 0 = positive (or zero), 1 = negative Three low order bits is the magnitude: 0 (000) thru 7 (111) Number range for n bits = +/-2 -1 Representations for 0 n-1

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No. 5-6 Number Systems Sign and Magnitude Cumbersome addition/subtraction Must compare magnitudes to determine sign of result Ones Complement N is positive number, then N is its negative 1's complement N = (2 - 1) - N n Example: 1's complement of 7 2 = = = = -7 in 1's comp. Shortcut method: simply compute bit wise complement >

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No. 5-7 Number Systems Ones Complement Subtraction implemented by addition & 1's complement Still two representations of 0! This causes some problems Some complexities in addition

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No. 5-8 Number Representations Twos Complement Only one representation for 0 One more negative number than positive number like 1's comp except shifted one position clockwise

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No. 5-9 Number Systems Twos Complement Numbers N* = 2 - N n Example: Twos complement of 7 2 = = = repr. of -7 Example: Twos complement of = = = repr. of 7 4 sub Shortcut method: Twos complement = bitwise complement > > 1001 (representation of -7) > > 0111 (representation of 7)

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Number Representations Addition and Subtraction of Numbers Sign and Magnitude (-3) result sign bit is the same as the operands' sign when signs differ, operation is subtract, sign of result depends on sign of number with the larger magnitude

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Number Systems Addition and Subtraction of Numbers Ones Complement Calculations (-3) End around carry

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Number Systems Addition and Subtraction of Binary Numbers Ones Complement Calculations Why does end-around carry work? Its equivalent to subtracting 2 and adding 1 n M - N = M + N = M + ( N) = (M - N) n n (M > N) -M + (-N) = M + N = (2 - M - 1) + (2 - N - 1) = 2 + [ (M + N)] - 1 n n nn M + N < 2 n-1 after end around carry: = (M + N) n this is the correct form for representing -(M + N) in 1's comp!

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Number Systems Addition and Subtraction of Binary Numbers Twos Complement Calculations (-3) If carry-in to sign = carry-out then ignore carry if carry-in differs from carry-out then overflow Simpler addition scheme makes twos complement the most common choice for integer number systems within digital systems

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Number Systems Addition and Subtraction of Binary Numbers Twos Complement Calculations Why can the carry-out be ignored? -M + N when N > M: M* + N = (2 - M) + N = 2 + (N - M) n n Ignoring carry-out is just like subtracting 2 n -M + -N where N + M < or = 2 n-1 -M + (-N) = M* + N* = (2 - M) + (2 - N) = 2 - (M + N) + 2 n n After ignoring the carry, this is just the right twos compl. representation for -(M + N)! nn

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Number Systems Overflow Conditions Add two positive numbers to get a negative number or two negative numbers to get a positive number = =

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Number Systems Overflow Conditions Overflow No overflow Overflow when carry in to sign does not equal carry out

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Networks for Binary Addition Half Adder With twos complement numbers, addition is sufficient Half-adder Schematic

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Networks for Binary Addition Full Adder Cascaded Multi-bit Adder usually interested in adding more than two bits this motivates the need for the full adder

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Networks for Binary Addition Full Adder S = CI xor A xor B CO = B CI + A CI + A B = CI (A + B) + A B

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Networks for Binary Addition Full Adder/Half Adder Alternative Implementation: 5 Gates A B + CI (A xor B) = A B + B CI + A CI Standard Approach: 6 Gates +

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Networks for Binary Addition Adder/Subtractor A - B = A + (-B) = A + B + 1

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Networks for Binary Addition Carry Lookahead Circuits Critical delay: the propagation of carry from low to high order stages late arriving signal two gate delays to compute CO 4 stage adder final sum and carry

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Networks for Binary Addition Carry Lookahead Circuits Critical delay: the propagation of carry from low to high order stages worst case addition T0: Inputs to the adder are valid T2: Stage 0 carry out (C1) T4: Stage 1 carry out (C2) T6: Stage 2 carry out (C3) T8: Stage 3 carry out (C4) 2 delays to compute sum but last carry not ready until 6 delays later

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Networks for Binary Addition 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 Si = Ai xor Bi xor Ci = Pi xor Ci Ci+1 = Ai Bi + Ai Ci + Bi Ci = Ai Bi + Ci (Ai + Bi) = Ai Bi + Ci (Ai xor Bi) = Gi + Ci Pi Sum and Carry can be reexpressed in terms of generate/propagate:

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Networks for Binary Addition Carry Lookahead Logic Reexpress the carry logic as follows: C1 = G0 + P0 C0 C2 = G1 + P1 C1 = G1 + P1 G0 + P1 P0 C0 C3 = G2 + P2 C2 = G2 + P2 G1 + P2 P1 G0 + P2 P1 P0 C0 C4 = G3 + P3 C3 = G3 + P3 G2 + P3 P2 G1 + P3 P2 P1 G0 + P3 P2 P1 P0 C0 Each of the carry equations can be implemented in a two-level logic network Variables are the adder inputs and carry in to stage 0!

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Networks for Binary Addition Carry Lookahead Implementation Adder with Propagate and Generate Outputs Increasingly complex logic

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Networks for Binary Addition Carry Lookahead Logic Cascaded Carry Lookahead Carry lookahead logic generates individual carries sums computed much faster

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Networks for Binary Addition Carry Lookahead Logic Cascaded Carry Lookahead 4 bit adders with internal carry lookahead second level carry lookahead unit, extends lookahead to 16 bits

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Networks for Binary Addition Carry Select Adder Redundant hardware to make carry calculation go faster compute the high order sums in parallel one addition assumes carry in = 0 the other assumes carry in = 1

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Arithmetic Logic Unit Design Sample ALU Logical and Arithmetic Operations Not all operations appear useful, but "fall out" of internal logic

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Arithmetic Logic Unit Design Sample ALU Traditional Design Approach Truth Table & Espresso 23 product terms! Equivalent to 25 gates.i 6.o 2.ilb m s1 s0 ci ai bi.ob fi co.p e

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Arithmetic Logic Unit Design Sample ALU Multilevel Implementation.model alu.espresso.inputs m s1 s0 ci ai bi.outputs fi co.names m ci co [30] [33] [35] fi names m ci [30] [33] co names s0 ai [30] names m s1 bi [33] names s1 bi [35] end 12 Gates

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Arithmetic Logic Unit Design Clever Multi-level Logic Implementation Sample ALU 8 Gates (but 3 are XOR) S1 = 0 blocks Bi Happens when operations involve Ai only Same is true for Ci when M = 0 Addition happens when M = 1 Bi, Ci to Xor gates X2, X3 S0 = 0, X1 passes A S0 = 1, X1 passes A Arithmetic Mode: Or gate inputs are Ai Ci and Bi (Ai xor Ci) Logic Mode: Cascaded XORs form output from Ai and Bi

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Arithmetic Logic Unit Design TTL ALU

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Arithmetic Logic Unit Design TTL ALU Note that the sense of the carry in and out are OPPOSITE from the input bits Fortunately, carry lookahead generator maintains the correct sense of the signals

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Arithmetic Logic Unit Design 16-bit ALU with Carry Lookahead

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No BCD Addition BCD Number Representation Decimal digits 0 thru 9 represented as 0000 thru 1001 in binary Addition: 5 = = = 8 5 = = = 13! Problem when digit sum exceeds 9 Solution: add 6 (0110) if sum exceeds 9! 5 = = = = 1 3 in BCD 9 = = = 16 in binary 6 = = 1 6 in BCD

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No BCD Addition Adder Design Add 0110 to sum whenever it exceeds 1001 (11XX or 1X1X)

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Combinational Multiplier Basic Concept multiplicand multiplier 1101 (13) 1011 (11) * (143) Partial products product of 2 4-bit numbers is an 8-bit number

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Combinational Multiplier Partial Product Accumulation A0 B0 A0 B0 A1 B1 A1 B0 A0 B1 A2 B2 A2 B0 A1 B1 A0 B2 A3 B3 A2 B0 A2 B1 A1 B2 A0 B3 A3 B1 A2 B2 A1 B3 A3 B2 A2 B3 A3 B3 S6 S5 S4 S3S2 S1S0 S7

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Combinational Multiplier Partial Product Accumulation Note use of parallel carry-outs to form higher order sums 12 Adders, if full adders, this is 6 gates each = 72 gates 16 gates form the partial products total = 88 gates!

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Combinational Multiplier Another Representation of the Circuit Building block: full adder + and 4 x 4 array of building blocks

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Case Study: 8 x 8 Multiplier TTL Multipliers Two chip implementation of 4 x 4 multipler

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Case Study: 8 x 8 Multiplier Problem Decomposition How to implement 8 x 8 multiply in terms of 4 x 4 multiplies? A7-4 B7-4 A3-0 B3-0 * A3-0 * B3-0 A7-4 * B3-0 A3-0 * B7-4 A7-4 * B7-4 = PP0 = PP1 = PP2 = PP3 P15-12 P11-8 P7-4 P3-0 8 bit products P3-0 = PP0 P7-4 = PP0 + PP1 + PP2 P11-8 = PP1 + PP2 + PP3 P15-12 = PP Carry-in

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Case Study: 8 x 8 Multiplier Calculation of Partial Products Use /285 pairs to create the 4 partial products

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Case Study: 8 x 8 Multiplier Three-At-A-Time Adder Clever use of the Carry Inputs Sum A[3-0], B[3-0], C[3-0]: Two Level Full Adder Circuit Note: Carry lookahead schemes also possible!

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Case Study: 8 x 8 Multiplier Three-At-A-Time Adder with TTL Components Full Adders (2 per package) Standard ALU configured as 4-bit cascaded adder (with internal carry lookahead) Note the off-set in the outputs

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Case Study: 8 x 8 Multiplier Accumulation of Partial Products Just a case of cascaded three-at-a-time adders!

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Case Study: 8 x 8 Multiplier The Complete System

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Case Study: 8 x 8 Multiplier Package Count and Performance /74285 pairs = 8 packages , , = 8 packages 16 packages total Partial product calculation (74284/285) = 40 ns typ, 60 ns max Intermediate sums (74183) = 9 ns/20ns = 15 ns average, 33 ns max Second stage sums w/carry lookahead 74LS181: carry G and P = 20 ns typ, 30 ns max 74182: second level carries = 13 ns typ, 22 ns max 74LS181: formations of sums = 15 ns typ, 26 ns max 103 ns typ, 171 ns max

Contemporary Logic Design Arithmetic Circuits © R.H. Katz Transparency No Chapter Review We have covered: Binary Number Representation positive numbers the same difference is in how negative numbers are represented twos complement easiest to handle: one representation for zero, slightly complicated complementation, simple addition Binary Networks for Additions basic HA, FA carry lookahead logic ALU Design specification and implementation BCD Adders Simple extension of binary adders Multipliers 4 x 4 multiplier: partial product accumulation extension to 8 x 8 case