Restoring & Non-Restoring Division and Carry Lookahead Adders
“Binary restoring/non-restoring division cycles and CLA propagation-generation gate delays.”
1.Binary Division: Restoring vs Non-Restoring Algorithms
§ 2.1.Hardware division computes Quotient (Q) and Remainder (A) such that Dividend = Divisor × Q + A with 0 ≤ A < Divisor.
1. Restoring Division Algorithm:
Registers: A = 0, Q = Dividend, M = Divisor. Repeat for n bits:
- Shift left [A, Q] by 1 bit.
- Subtract divisor: A ≤ftarrow A - M.
- If A < 0 (sign bit A_{n} = 1): Restore original A by A ≤ftarrow A + M, and set quotient bit Q_0 = 0.
- If A ≥ 0 (sign bit A_{n} = 0): No restore needed, and set quotient bit Q_0 = 1.
2. Non-Restoring Division Algorithm:
Eliminates the extra addition cycle needed for restoring:
- If A ≥ 0: Shift left [A, Q], then subtract divisor A ≤ftarrow A - M.
- If A < 0: Shift left [A, Q], then ADD divisor A ≤ftarrow A + M.
- After addition/subtraction: If A ≥ 0, set Q_0 = 1; if A < 0, set Q_0 = 0.
- Final correction: If A < 0 after n cycles, perform one final addition: A ≤ftarrow A + M.
2. GATE Worked Numerical: Carry Lookahead Adder (CLA) Gate Latency
Ripple carry adders have delay O(n) proportional to the number of bits. Carry Lookahead Adders (CLA) compute all carries in parallel in O(1) gate delays using Carry Generate (G_i) and Carry Propagate (P_i) terms!
Problem: In a 4-bit Carry Lookahead Adder, each 2-input AND, OR, and XOR gate has a propagation delay of 10 ns, 10 ns, and 15 ns respectively. Assume gates have unlimited fan-in.
Calculate:
1. Time to generate all P_i and G_i signals.
2. Time to compute the final carry C_4.
3. Time to generate all sum bits S_i.
Step 1: Generate and Propagate terms:
G_i = A_i \cdot B_i (computed via 2-input AND gate \implies 10 ns).
P_i = A_i \oplus B_i (computed via 2-input XOR gate \implies 15 ns).
Both are computed in parallel: T_{PG} = \max(10, 15) = 15 ns.
Step 2: Carry equation expansions:
C_1 = G_0 + P_0 C_0
C_2 = G_1 + P_1 G_0 + P_1 P_0 C_0
C_3 = G_2 + P_2 G_1 + P_2 P_1 G_0 + P_2 P_1 P_0 C_0
C_4 = G_3 + P_3 G_2 + P_3 P_2 G_1 + P_3 P_2 P_1 G_0 + P_3 P_2 P_1 P_0 C_0
Each carry is a two-level AND-OR circuit: 1 AND gate delay + 1 OR gate delay.
T_{carry} = T_{PG} + T_{AND} + T_{OR} = 15 ns + 10 ns + 10 ns = 35 ns.
Step 3: Sum bit generation:
S_i = P_i \oplus C_i.
Since C_i is available at 35 ns, the final sum is computed by passing through one XOR gate:
T_{sum} = T_{carry} + T_{XOR} = 35 ns + 15 ns = 50 ns.
Primary Academic References & Exam Sources
Every concept in Notes From a B.Tech Brain is synthesized from authoritative academic texts, seminal peer-reviewed research, verified exam archives, and renowned university lectures.
Curated for clarity, rigorous numerical solving, and semester excellence:
Rapid GATE-focused conceptual coverage with numericals.
Past-paper-focused approach with clear COA numerical explanations.
Graduate-level depth on how real modern processors are designed.