21
ALU Design ALU Design ASIC DESIGN USING FPGA BEIT VII KICSIT May 23 2012 Lecture 35-36

35th 36th Lecture

  • Upload
    babak

  • View
    150

  • Download
    3

Embed Size (px)

DESCRIPTION

Digital design lect 35 36 may 23 2012

Citation preview

Page 1: 35th 36th Lecture

1

ALU DesignALU DesignALU DesignALU Design

ASIC DESIGN USING FPGA

BEIT VII

KICSIT

May 23 2012 Lecture 35-36

Page 2: 35th 36th Lecture

May 23 2012 Lecture 35-36 2

Arithmetic Logic Unit (ALU)Arithmetic Logic Unit (ALU)• An arithmetic-logic unit, or ALU is the “heart” of a

processor. Everything else in the CPU is there to support the ALU.

• The ALU, performs different arithmetic and logic operations.

• Basic arithmetic operations include Addition and Subtraction.

• Logic operations are compliment, shift, OR, AND, XOR operations etc.

Page 3: 35th 36th Lecture

May 23 2012 Lecture 35-36 3

Adder Adder

• The basic four-bit adder always computes

S = A + B + Ci.

• Where A and B are n-bit numbers to be added and Ci is the Carry input. S is n-bit Sum output with Carry out as (n+1)th bit Sum Output.

• The Ripple Carry adder or simple adder may consist of n Full adders, where n is the width of the numbers.

Page 4: 35th 36th Lecture

May 23 2012 Lecture 35-36 4

Ripple Carry adderRipple Carry adder

• In Ripple Carry adders, the carry propagation time is the major speed limiting factor.

Page 5: 35th 36th Lecture

May 23 2012 Lecture 35-36 5

Ripple Carry adderRipple Carry adder• Each Full adder stage i is implemented this way.

• Ai , Bi and Ci are the i-th inputs and Si is the i-th Sum whereas Ci+1 is the carry for i+1

th stage

• Pi is the carry propagated and Gi is the carry generayted at the i-th stage.

Page 6: 35th 36th Lecture

May 23 2012 Lecture 35-36 6

Ripple Carry adderRipple Carry adder

• Most other arithmetic operations, e.g. multiplication and division are implemented using several add/subtract steps.

• Thus, improving the speed of addition will improve the speed of all other arithmetic operations.

• Accordingly, reducing the carry propagation delay of adders is of great importance.

Page 7: 35th 36th Lecture

May 23 2012 Lecture 35-36 7

Carry Look-ahead adderCarry Look-ahead adder

• The principle of carry look-ahead solves this problem by calculating the carry signals in advance, based on the input signals.

• A carry signal will be generated in two cases:(1) when both bits Ai and Bi are 1, or

(2) when one of the two bits is 1 and the carry-in (carry of the previous stage) is 1.

Page 8: 35th 36th Lecture

May 23 2012 Lecture 35-36 8

Carry Look-ahead adderCarry Look-ahead adder

•The Figure shows n-bit full adder circuit used to add the operand bits in the ith column; namely Ai & Bi and the carry bit coming from the previous column (Ci ).

Page 9: 35th 36th Lecture

May 23 2012 Lecture 35-36 9

Carry Look-ahead adderCarry Look-ahead adder

• In this circuit, the 2 internal signals Pi and Gi are given by: Pi = Ai ⊕ Bi………………………(1)

Gi = Ai Bi …………………………(2)

• The output sum and carry can be defined as : Si = Pi ⊕ Ci ……………...……….(3)

Ci +1 = Gi + Pi Ci ………………….(4)

Page 10: 35th 36th Lecture

May 23 2012 Lecture 35-36 10

Carry Look-ahead adderCarry Look-ahead adder• Gi is known as the carry Generate signal since a carry (Ci+1) is

generated whenever Gi =1, regardless of the input carry (Ci).

• Pi is known as the carry propagate signal since whenever Pi =1, the input carry is propagated to the output carry, i.e., Ci+1. = Ci (note that whenever Pi =1, Gi =0).

• Computing the values of Pi and Gi only depend on the input operand bits (Ai and Bi) as clear from the Figure and equations.

Page 11: 35th 36th Lecture

May 23 2012 Lecture 35-36 11

Carry Look-ahead adderCarry Look-ahead adder

• Thus, these signals settle to their steady-state value after the propagation through their respective gates.

• Computed values of all the Pi’s are valid one XOR-gate delay after the operands A and B are made valid.

• Computed values of all the Gi’s are valid one AND-gate delay after the operands A and B are made valid.

Page 12: 35th 36th Lecture

May 23 2012 Lecture 35-36 12

Carry Look-ahead adderCarry Look-ahead adder• The Boolean expression of the carry outputs of various stages can be written as follows:

• In general, the ith carry output is expressed in the form Ci = Fi (P’s, G’s , C0).

Page 13: 35th 36th Lecture

May 23 2012 Lecture 35-36 13

Carry Look-ahead adderCarry Look-ahead adder• In other words, each carry signal is expressed as a direct

SOP function of C0 rather than its preceding carry signal.

• Since the Boolean expression for each output carry is expressed in SOP form, it can be implemented in two-level circuits.

• The 2-level implementation of the carry signals has a propagation delay of 2 gates, i.e. 2τ.

Page 14: 35th 36th Lecture

May 23 2012 Lecture 35-36 14

Carry Look-ahead adderCarry Look-ahead adder• The 4-bit carry look-ahead (CLA) adder

consists of 3 levels of logic:

Page 15: 35th 36th Lecture

May 23 2012 Lecture 35-36 15

Carry Look-ahead adderCarry Look-ahead adder• First level:

– Generates all the P & G signals. Four sets of P & G logic (each consists of an XOR gate and an AND gate). Output signals of this level (P’s & G’s) will be valid after 1τ.

• Second level: – The Carry Look-Ahead (CLA) logic block which consists of four 2-

level implementation logic circuits. It generates the carry signals (C1, C2, C3, and C4) as defined by the equations. Output signals of this level (C1, C2, C3, and C4) will be valid after 3τ.

Page 16: 35th 36th Lecture

May 23 2012 Lecture 35-36 16

Carry Look-ahead adderCarry Look-ahead adder• Third level:

– Four XOR gates which generate the sum signals (Si) (Si = Pi C⊕ i). Output signals of this level (S0, S1, S2, and S3) will be valid after 4τ.

• Thus, the 4 Sum signals (S0, S1, S2 & S3) will all be valid after a total delay of 4τ, compared to a delay of (2n+1)τ for Ripple Carry adders.

• For a 4-bit adder (n = 4), the Ripple Carry adder delay is 9τ.

Page 17: 35th 36th Lecture

May 23 2012 Lecture 35-36 17

Carry Look-ahead adderCarry Look-ahead adder• The disadvantage of the CLA adders is that the

carry expressions (and hence logic) become quite complex for more than 4 bits.

• Thus, CLA adders are usually implemented as 4-bit modules that are used to build larger size adders.

Page 18: 35th 36th Lecture

May 23 2012 Lecture 35-36 18

Carry Look-ahead adder in VerilogCarry Look-ahead adder in Verilog

Page 19: 35th 36th Lecture

May 23 2012 Lecture 35-36 19

Page 20: 35th 36th Lecture

May 23 2012 Lecture 35-36 20

Carry Look-ahead adderCarry Look-ahead adder

Page 21: 35th 36th Lecture

May 23 2012 Lecture 35-36 21