# 35th 36th Lecture

Embed Size (px)

description

### Transcript of 35th 36th Lecture

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

2. May 23 2012 Lecture 35-36 2 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. 3. May 23 2012 Lecture 35-36 3 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. 4. May 23 2012 Lecture 35-36 4 Ripple Carry adder In Ripple Carry adders, the carry propagation time is the major speed limiting factor. 5. May 23 2012 Lecture 35-36 5 Ripple 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. 6. May 23 2012 Lecture 35-36 6 Ripple 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. 7. May 23 2012 Lecture 35-36 7 Carry 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. 8. May 23 2012 Lecture 35-36 8 Carry 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 ). 9. May 23 2012 Lecture 35-36 9 Carry 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) 10. May 23 2012 Lecture 35-36 10 Carry 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. 11. May 23 2012 Lecture 35-36 11 Carry Look-ahead adder Thus, these signals settle to their steady-state value after the propagation through their respective gates. Computed values of all the Pis are valid one XOR-gate delay after the operands A and B are made valid. Computed values of all the Gis are valid one AND-gate delay after the operands A and B are made valid. 12. May 23 2012 Lecture 35-36 12 Carry 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 (Ps, Gs , C0). 13. May 23 2012 Lecture 35-36 13 Carry 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. 14. May 23 2012 Lecture 35-36 14 Carry Look-ahead adder The 4-bit carry look-ahead (CLA) adder consists of 3 levels of logic: 15. May 23 2012 Lecture 35-36 15 Carry 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 (Ps & Gs) 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. 16. May 23 2012 Lecture 35-36 16 Carry 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. 17. May 23 2012 Lecture 35-36 17 Carry 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. 18. May 23 2012 Lecture 35-36 18 Carry Look-ahead adder in Verilog 19. May 23 2012 Lecture 35-36 19 20. May 23 2012 Lecture 35-36 20 Carry Look-ahead adder 21. May 23 2012 Lecture 35-36 21