1 / 31

Conditional-Sum Adders and Parallel Prefix Network Adders

ECE 645: Lecture 3. Conditional-Sum Adders and Parallel Prefix Network Adders . Required Reading. Behrooz Parhami, Computer Arithmetic: Algorithms and Hardware Design. Chapter 7 .4, Conditional-Sum Adder Chapter 6 .4, Carry Determination as Prefix Computation

Sophia
Download Presentation

Conditional-Sum Adders and Parallel Prefix Network Adders

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ECE 645: Lecture 3 Conditional-Sum Adders and Parallel Prefix Network Adders

  2. Required Reading Behrooz Parhami, Computer Arithmetic: Algorithms and Hardware Design Chapter 7.4, Conditional-Sum Adder Chapter 6.4, Carry Determination as Prefix Computation Chapter 6.5, Alternative Parallel Prefix Networks

  3. Conditional-Sum Adders

  4. One-level k-bit Carry-Select Adder

  5. Two-level k-bit Carry Select Adder

  6. Conditional Sum Adder • Extension of carry-select adder • Carry select adder • One-level using k/2-bit adders • Two-level using k/4-bit adders • Three-level using k/8-bit adders • Etc. • Assuming k is a power of two, eventually have an extreme where there are log2k-levels using 1-bit adders • This is a conditional sum adder

  7. Conditional Sum Adder:Top-Level Block for One Bit Position

  8. Three Levels of a Conditional Sum Adder xi xi+3 yi+3 yi+2 yi+1 yi xi+2 xi+1 branch point 1-bit conditional sum block concatenation c=1 c=1 c=1 c=1 c=0 c=0 c=0 c=0 2 2 2 2 2 2 2 2 1 1 1+1 1 1 2 2 1 1 2 2 1 1 c=0 c=0 c=1 c=1 3 3 3 3 1 2+1 1 2 2 3 3 block carry-indetermines selection 5 4+1 5 c=0 c=1

  9. 16-Bit Conditional Sum Adder Example

  10. Conditional Sum Adder Metrics

  11. Parallel Prefix Network Adders

  12. Parallel Prefix Network Adders Basic component - Carry operator (1) g p B” B’ B g” g’ p” p’ g = g” + g’p” p = p’p” (g, p) = (g’, p’) ¢ (g”, p”) = (g” + g’p”, p’p”)

  13. Parallel Prefix Network Adders Basic component - Carry operator (2) g p overlap okay! B” B’ B g” g’ p” p’ g = g” + g’p” p = p’p” (g, p) = (g’, p’) ¢ (g”, p”) = (g” + g’p”, p’p”)

  14. Properties of the carry operator ¢ Associative [(g1, p1) ¢ (g2, p2)] ¢ (g3, p3) = (g1, p1) ¢ [(g2, p2) ¢ (g3, p3)] Not commutative (g1, p1) ¢ (g2, p2)  (g2, p2) ¢ (g1, p1)

  15. Parallel Prefix Network Adders Major concept Given: (g0, p0) (g1, p1) (g2, p2) …. (gk-1, pk-1) Find: (g[0,0], p[0,0]) (g[0,1], p[0,1]) (g[0,2], p[0,2]) … (g[0,k-1], p[0,k-1]) block generate from index 0 to k-1 ci = g[0,i-1] + c0p[0,i-1]

  16. Similar to Parallel Prefix Sum Problem Parallel Prefix Sum Problem Given: x0 x1 x2 … xk-1 Find: x0 x0+x1 x0+x1+x2 … x0+x1+x2+ …+ xk-1 Parallel Prefix Adder Problem Given: x0 x1 x2 … xk-1 Find: x0 x0 ¢ x1 x0 ¢ x1 ¢ x2 … x0 ¢ x1 ¢ x2 ¢ … ¢ xk-1 where xi = (gi, pi)

  17. Parallel Prefix Sums Network I

  18. Parallel Prefix Sums Network I – Cost (Area) Analysis Cost = C(k) = 2 C(k/2) + k/2 = = 2 [2C(k/4) + k/4] + k/2 = 4 C(k/4) + k/2 + k/2 = = …. = = 2 log k-1C(2) + k/2 (log2k-1) = = k/2 log2k 2 C(2) = 1 Example: C(16) = 2 C(8) + 8 = 2[2 C(4) + 4] + 8 = = 4 C(4) + 16 = 4 [2 C(2) + 2] + 16 = = 8 C(2) + 24 = 8 + 24 = 32 = (16/2) log2 16

  19. Parallel Prefix Sums Network I – Delay Analysis Delay = D(k) = D(k/2) + 1 = = [D(k/4) + 1] + 1 = D(k/4) + 1 + 1 = = …. = = log2k D(2) = 1 Example: D(16) = D(8) + 1 = [D(4) + 1] + 1 = = D(4) + 2 = [D(2) + 1] + 2 = = 4 = log2 16

  20. Parallel Prefix Sums Network II (Brent-Kung)

  21. Parallel Prefix Sums Network II – Cost (Area) Analysis Cost = C(k) = C(k/2) + k-1 = = [C(k/4) + k/2-1] + k-1 = C(k/4) + 3k/2 - 2 = = …. = = C(2) + (2k - 2k/2(log k-1)) - (log2k-1) = = 2k - 2 - log2k 2 C(2) = 1 Example: C(16) = C(8) + 16-1 = [C(4) + 8-1] + 16-1 = = C(2) + 4-1 + 24-2 = 1 + 28 - 3 = 26 = 2·16 - 2 - log216

  22. Parallel Prefix Sums Network II – Delay Analysis Delay = D(k) = D(k/2) + 2 = = [D(k/4) + 2] + 2 = D(k/4) + 2 + 2 = = …. = = 2 log2k - 1 D(2) = 1 Example: D(16) = D(8) + 2 = [D(4) + 2] + 2 = = D(4) + 4 = [D(2) + 2] + 4 = = 7 = 2 log2 16 - 1

  23. 8-bit Brent-Kung Parallel Prefix Network

  24. 4-bit Brent-Kung Parallel Prefix Network x7’ x5’ x3’ x1’ 2 –bit B-K PPN s3’ s1’ s7’ s5’

  25. 8-bit Brent-Kung Parallel Prefix Network Adder

  26. GP c C S Critical Path gi = xi yi pi = xi yi 1 gate delay g= g” + g’ p” p = p’ p” 2 gate delays ci+1 = g[0,i] + c0 p[0,i] 2 gate delays si = pi ci 1 gate delay

  27. Brent-Kung Parallel Prefix Graph for 16 Inputs

  28. Kogge-Stone Parallel Prefix Graph for 16 Inputs

  29. Parallel Prefix Network Adders Comparison of architectures Hybrid Network 2 Brent-Kung Kogge-Stone Delay(k) 2 log2k - 2 log2k log2k+1 Cost(k) 2k - 2 - log2k k/2 log2k k log2k - k + 1 6 5 Delay(16) 4 32 49 Cost(16) 26 Delay(32) 8 6 5 80 129 57 Cost(32)

  30. Latency vs. Area Tradeoff

  31. Hybrid Brent-Kung/Kogge-Stone Parallel Prefix Graph for 16 Inputs

More Related