SLIDE 1
Kumar Sambhav Pandey, Hitesh Shrimali, Dinesh Kumar B School of - - PowerPoint PPT Presentation
Kumar Sambhav Pandey, Hitesh Shrimali, Dinesh Kumar B School of - - PowerPoint PPT Presentation
Kumar Sambhav Pandey, Hitesh Shrimali, Dinesh Kumar B School of Computing and Electrical Engineering, Indian Institute of Technology, Mandi Neeraj Goel Department of Computer Science & Engineering, Indian Institute of Technology, Ropar
SLIDE 2
SLIDE 3
Friday, June 28, 2019
1
In the given instance unless the carry out from the least significant bit adder is produced, more significant bits cannot be computed (Carry Ripple Adders). Can we compute all the sum bits in parrallel
?
SLIDE 4
Friday, June 28, 2019
2
Define two signals, carry generate (ππ) and carry propagate (ππ), which being local to each bit position can all be computed in parallel:
ππ = ππ β ππ ππ = ππ + ππ
and one ancillary signal carry transmit (π’π):
π’π = ππβ¨ππ
With these signals, it is trivial to compute Carry at bit position i+1 (π·π+1) in terms
- f carry at bit at position i (π·π) as:
π·π+1 = ππ + ππ β π·π
and the sum at bit position i as:
π‘π = π’πβ¨π·π
SLIDE 5
Friday, June 28, 2019
3
The first and the last stages are purely local in nature as they operate on signals
- nly at their respective bit positions. Hence all of the bits can be operated upon
- concurrently. However, there is a data dependence between π·π+1 and π·π.
Define a special binary prefix operator (β) on pairs of operands as:
ππ ππ β ππ ππ = ππ + ππ β ππ ππ β ππ
Thus,
π·π+1 ππ = ππ ππ β π·π 1
SLIDE 6
Friday, June 28, 2019
4
Obviously, therefore, Input carry at any bit position as a function of π·ππ can thus be trivially computed using a sequence of the prefix operations (β)s introduced before as:
π·π+1 ππ β ππβ1 β β β π0 = ππ ππ β ππβ1 ππβ1 β β β π0 π0 β π·ππ 1
Define group generate signal ππβ β β π and a group propagate signal ππβ β β π as:
ππβ β β π ππβ β β π = ππ ππ β ππβ1 ππβ1 β β β ππ+1 ππ+1 β ππ ππ
Thus,
π·π+1 ππβ β β 0 = ππβ β β 0 ππβ β β 0 β π·ππ 1
SLIDE 7
Friday, June 28, 2019
5
Two Important Properties:
- Associativity:
ππ ππ β ππ ππ β ππ ππ = ππ ππ β ππ ππ β ππ ππ
- Idempotency:
πββ β β π πββ β β π β ππβ β β π ππβ β β π = πββ β β π πββ β β π
provided, β > π, π β€ π + 1 and π > π
SLIDE 8
Friday, June 28, 2019
6
βπ β₯ 0 ππ, ππand π’πare all computed in parallel.
[1] A. Weinberger and J. Smith, βA logic for high-speed addition,β Nat. Bur. Stand. Circ., vol. 591, pp. 3β12, 1958.
SLIDE 9
Friday, June 28, 2019
7
Following are all computed in parallel:
π1β―0 π1β―0 = π1 π1 Β° π0 π0 π2β―1 π2β―1 = π2 π2 Β° π1 π1 π3β―2 π3β―2 = π3 π3 Β° π2 π2
SLIDE 10
Friday, June 28, 2019
8
Following are all computed in parallel:
π2β―0 π2β―0 = π2β―1 π2β―1 Β° π0 π0 π3β―0 π3β―0 = π3β―2 π3β―2 Β° π1β―0 π1β―0
SLIDE 11
Friday, June 28, 2019
9
Following are all computed in parallel:
π·1 π0 = π0 π0 Β° π·ππ 1 π·2 π1β―0 = π1β―0 π1β―0 Β° π·ππ 1 π·3 π2β―0 = π2β―0 π2β―0 Β° π·ππ 1 π·4 π3β―0 = π3β―0 π3β―0 Β° π·ππ 1
SLIDE 12
Friday, June 28, 2019
10
βπ β₯ 0 ππ are all computed in
parallel.
SLIDE 13
Friday, June 28, 2019
11
A pseudo carry πΌπ = π·π + π·πβ1 is propagated in lieu of the conventional carry π·π. Conventional carries can be extracted from them by π·π = ππβ1 β πΌπ as proved below:
ππβ1 β πΌπ = ππβ1 β π·π + π·πβ1 = ππβ1 β ππβ1 + ππβ1 β π·πβ1 + π·πβ1 = ππβ1 β ππβ1 + π·πβ1 = ππβ1 β ππβ1 + ππβ1 β π·πβ1 = ππβ1 + ππβ1 β π·πβ1 = π·π
[2] H. Ling, βHigh-speed binary adder,β IBM Journal of Research and Development, vol. 25, no. 3, pp. 156β166, March 1981.
SLIDE 14
Friday, June 28, 2019
12
Define two more local signals βπ and ππ as:
βπ = ππ + ππβ1
and
ππ = ππ β ππβ1
Starting with the definition of πΌπ+1and the fact that ππ β ππ = ππ:
πΌπ+1 = π·π+1 + π·π = ππ + ππ β π·π + π·π = ππ + π·π = ππ + ππβ1 + ππβ1 β ππβ2 + ππβ2 β π·πβ2 = ππ + ππβ1 + ππβ1 β ππβ2 ππβ2 + π·πβ2 = βπ + πΌπβ1
SLIDE 15
Friday, June 28, 2019
13
In terms of the binary prefix operator defined before:
πΌπ+1 ππβ1 = βπ ππβ1 β πΌπβ1 1
Ling carry (pseudo carry) at any bit position as a function of πΌππ = π·ππcan thus be trivially computed by a sequence of prefix operations as:
πΌπ+1 ππβ1 β ππβ3 β β β π0 = βπ ππβ1 β βπβ2 ππβ3 β β β πΌππ 1
It is noted that ,
πΌ4 = β3 + π2 β β1 + π2 β π0 β πΌππ = π3 + π2 + π2 β π1 + π2 β π1 β π0 + π2 β π1 β π0 β π·ππ
which is logically much more simpler than the corresponding expression for the conventional carry π·4:
π·4 = π3 + π3 β π2 + π3 β π2 β π1 + π3 β π2 β π1 β π0 + π3 β π2 β π1 β π0 β π·ππ
SLIDE 16
Friday, June 28, 2019
14
Following is an expansion of Ling recurrence relation for Ling pseudo carries for a radix-4 adder:
πΌ4 π2 β π0 = β3 π2 Β° β1 π0 Β° π·ππ 1 πΌ3 π1 = β2 π1 Β° β0 1 πΌ2 π0 = β1 π0 Β° π·ππ 1 πΌ1 1 = β0 1 πΌ0 1 = π·ππ 1
Dimitrakopoulos and Nikolos observed that in the above expansion the even and
- dd subscripted pseudo Ling carries are independent of each other.
SLIDE 17
Friday, June 28, 2019
15
[3] G. Dimitrakopoulos and D. Nikolos, βHigh-speed parallel prefix VLSI Ling adders,β IEEE Transactions on Computers, vol. 54,
- no. 2, pp. 225β231, Feb 2005.
SLIDE 18
Friday, June 28, 2019
16
Jackson and Talwar generalized the Ling factorization to further speed up multi- bit addition and proved that the relations for carries can be factorized even beyond what was established by Ling. For example, the expression for the conventional carry (π·4 ) can be further factorized as given below:
π·4 = π3 + π3 β π2 + π3 β π2 β π1 + π3 β π2 β π1 β π0 + π3 β π2 β π1 β π0 β π·ππ = π3 β π3 + π2 + π2 β π1 + π2 β π1 β π0 + π2 β π1 β π0 β π·ππ = π3 + π3 β π2 β π3 + π2 + π1 + π1 β π0 + π1 β π0 β π·ππ = π3 + π3 β π2 + π3 β π2 β π1 β π3 + π2 + π1 + π0 + π0 β π·ππ
[4] R. Jackson and S. Talwar, βHigh speed binary addition,β in Conference Record of the Thirty-Eighth Asilomar Conference on Signals, Systems and Computers, 2004., vol. 2, Nov 2004, pp. 1350β1353 Vol.2.
SLIDE 19
Friday, June 28, 2019
17
The 2nd equality in the previous slide is the Ling factorization and the quantity in the second factor is actually the Ling pseudo group carry (πΌ4). The 3rd and the 4th equalities are the higher order factorizations. The quantities in the second factors in these equalities may be called the Jackson-Talwar pseudo carries of order 3 and 4 respectively. In order to understand the theory define 2 more signals (ππ) and (ππ) as:
ππ = ππ + ππβ1 + ππβ2 + ππβ3 ππ = ππ + ππ β ππβ1 + ππ β ππβ1 β ππβ2
Define 4th order Jackson-Talwar group carry (πΎπ) as:
πΎπ = π·π + π·πβ1 + π·πβ2 + π·πβ3
SLIDE 20
Friday, June 28, 2019
18
Starting with this definition for (πΎπ+1), we can define it in terms of (πΎπβ3) as:
πΎπ+1 = π·π+1 + π·π + π·πβ1 + π·πβ2 = ππ + ππ β π·π + π·π + π·πβ1 + π·πβ2 = ππ + π·π +π·πβ1 + π·πβ2 = ππ + ππβ1 + ππβ1β π·πβ1 + π·πβ1 + π·πβ2 = ππ + ππβ1 + π·πβ1 + π·πβ2 = ππ + ππβ1 + ππβ2 + ππβ2 β π·πβ2 + π·πβ2 = ππ + ππβ1 + ππβ2 + π·πβ2 = ππ + ππβ1 + ππβ2 + ππβ3 + ππβ3 β π·πβ3 = ππ + ππβ3 β πΎπβ3
SLIDE 21
Friday, June 28, 2019
19
Thus the above equation and the definition of (ππβ3) can be collected together using the binary prefix operator (Β°) as:
πΎπ+1 ππβ3 = ππ ππβ3 Β° πΎπβ3 1
Strikingly similar!
SLIDE 22
Friday, June 28, 2019
20
βͺ
The discussions in the above subsections are based on the assumption that the generate signals (ππ) and the propagate signals (ππ) are computed for each bit.
βͺ
There is no reason why group generate signals (ππβ―π) and group propagate signals (ππβ―π) can not be computed for groups of adjacent bits in place of individual bits.
βͺ
These signals defined over such groups can then be reduced in similar treelike structures as discussed earlier.
βͺ
Such parallel prefix adders are known as higher valency adders.
βͺ
However, a parallel prefix adder with valency 2 is not the same as a Ling adder
- r that with valency 4 is not the same as a Jackson-Talwar adder which are
different and architecturally more efficient.
SLIDE 23
Friday, June 28, 2019
21
- In case of Ling adders, the generate signals (ππ) are combined as conjunctions
and the propagate signals (ππ) are combined as disjunctions respectively. These combinations are, however, limited to only 2 adjacent signals.
- Arguably Jackson-Talwar adders are motivated by the fact that more than 2
adjacent generate signals can be combined as conjunctions (Reduced Generate) and corresponding propagate signals (Hyper Propagate) were calculated in such a way that the overall addition of multibit integers remains correct.
- In case more than 2 propagate signals are combined as disjunctions and the
corresponding generate signals are calculated in similar way to preserve the multi-bit addition semantics, one can create a new family of adders which when looked from the Dimitrakopoulos-Nikolos perspective, can be decoupled in more than 2 subtrees and are consequently faster and more efficient.
SLIDE 24
Friday, June 28, 2019
22
A pseudo carry πΏπ = πΌπ + ππβ2 β πΌπβ2 = π·π + π·πβ1 + ππβ2 β ππβ3 β π·πβ2 + π·πβ3 is propagated in lieu of the conventional carry π·π or pseudo Ling carry πΌπ. Conventional carries can be extracted from them by π·π = ππβ1 β πΏπ as proved below:
ππβ1 β πΏπ = ππβ1 β ππβ1 + ππβ1 β ππβ2 + ππβ1 β ππβ2 β ππβ3 + ππβ1 β ππβ2 β ππβ4 + ππβ1 β ππβ2 β ππβ4 β π·πβ4 = ππβ1 + ππβ1 β ππβ2 + ππβ1 β ππβ2 β ππβ3 + ππβ1 β ππβ2 β ππβ3 β ππβ4 + ππβ1 β ππβ2 β ππβ3 β ππβ4 β π·πβ4 = π·π
SLIDE 25
Friday, June 28, 2019
23
Define two more local signals (ππ) and (π π) as:
ππ = ππ + ππβ1 + ππβ2 β ππβ2 + ππβ3 = βπ + ππβ1 β βπβ2
and
π π = ππ β ππβ1 β ππβ2 β ππβ3 = ππ β ππβ2
Starting with the definition of (πΏπ+1)we can define it in terms of (πΏπβ3) as:
πΏπ+1 = ππ + ππβ1 + ππβ1 β ππβ2 + ππβ1 β ππβ3 + ππβ1 β ππβ3 β π·πβ3 = ππ + ππβ1 β ππβ3 β π·πβ3 = ππ + ππβ1 β ππβ3 β ππβ4 β πΏπβ3 = ππ + π πβ1 β πΏπβ3
SLIDE 26
Friday, June 28, 2019
24
Thus the above equation and the definition of (π πβ1) can be collected together using the binary prefix operator (Β°) as:
πΏπ+1 π
πβ1
= ππ π
πβ1 Β° πΏπβ3
1
Strikingly similar!
SLIDE 27
Friday, June 28, 2019
25
SLIDE 28
Friday, June 28, 2019
26
Recurrence Relations Number of Bits Logic Levels in Critical Path Number of Gates Weinberger- Smith 8 11 107 16 13 259 32 15 611 64 17 1,411 128 19 3,203
SLIDE 29
Friday, June 28, 2019
27
Recurrence Relations Number of Bits Logic Levels in Critical Path Number of Gates Ling 8 10 118 16 12 274 32 14 646 64 16 1,478 128 18 3,334
SLIDE 30
Friday, June 28, 2019
28
Recurrence Relations Number of Bits Logic Levels in Critical Path Number of Gates Jackson- Talwar 8 9 212 16 11 460 32 13 1,004 64 15 2,188 128 17 5,260
SLIDE 31
Friday, June 28, 2019
29
Recurrence Relations Number of Bits Logic Levels in Critical Path Number of Gates Our Proposal 8 9 164 16 11 364 32 13 812 64 15 1,804 128 17 3,980
SLIDE 32
Friday, June 28, 2019
30
- The number of logic levels in the critical path for all the adders based on Ling
recurrence are 1 less than the values for the corresponding adders based on Weinberger-Smith recurrence. These levels in case of adders based on Jackson- Talwar recurrence as well as those based on our proposed novel recurrence are still lower by 1, as expected.
- The total gate count for all the adders are increasing from Weinberger-Smith
adder to Ling adder to Jackson-Talwar adder.
- The comparison between Jackson-Talwar adder and our proposed adder is
particularly interesting. Though the speeds achieved by both the adders is the same, yet the total gate count in case of our proposed adder is much lower as compared to the former.
SLIDE 33