High Performance Circuit Design By Prof. V. Kamakoti Department of Computer Science and Engineering...
-
Upload
ellen-doyle -
Category
Documents
-
view
215 -
download
0
Transcript of High Performance Circuit Design By Prof. V. Kamakoti Department of Computer Science and Engineering...
![Page 1: High Performance Circuit Design By Prof. V. Kamakoti Department of Computer Science and Engineering Indian Institute of Technology, Madras Chennai – 600.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649ec05503460f94bcade1/html5/thumbnails/1.jpg)
High Performance Circuit Design
By
Prof. V. Kamakoti
Department of Computer Science and Engineering
Indian Institute of Technology, Madras
Chennai – 600 036, India
![Page 2: High Performance Circuit Design By Prof. V. Kamakoti Department of Computer Science and Engineering Indian Institute of Technology, Madras Chennai – 600.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649ec05503460f94bcade1/html5/thumbnails/2.jpg)
To learn
• High speed Adder Circuits– Carry Ripple – Inherently Sequential– Carry Look ahead – Parallel version– You should understand the conversion portion
• Multipliers– Wallace-tree multipliers
![Page 3: High Performance Circuit Design By Prof. V. Kamakoti Department of Computer Science and Engineering Indian Institute of Technology, Madras Chennai – 600.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649ec05503460f94bcade1/html5/thumbnails/3.jpg)
High Speed Circuit Design
• Performance of a circuit– Circuit depth – maximum level in the
topological sort.– Circuit Size – Number of combinational
elements.
• Optimize both for high performance.
• Both are inversely proportional – so a balance to be arrived.
![Page 4: High Performance Circuit Design By Prof. V. Kamakoti Department of Computer Science and Engineering Indian Institute of Technology, Madras Chennai – 600.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649ec05503460f94bcade1/html5/thumbnails/4.jpg)
Carry Ripple Adder
• Given two n-bit numbers (a(n-1), a(n-2), a(n-3), …, a(0)) and (b(n-1), b(n-2), b(n-3) ,…, b(0)).
• A full adder adds three bits (a,b,c), where ‘a’ and ‘b’ are data inputs and ‘c’ is the carry-in bit. It outputs a sum bit ‘s’ and a carry-out bit ‘co’
![Page 5: High Performance Circuit Design By Prof. V. Kamakoti Department of Computer Science and Engineering Indian Institute of Technology, Madras Chennai – 600.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649ec05503460f94bcade1/html5/thumbnails/5.jpg)
ab
acbc
co
abc
s
Full Adder
![Page 6: High Performance Circuit Design By Prof. V. Kamakoti Department of Computer Science and Engineering Indian Institute of Technology, Madras Chennai – 600.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649ec05503460f94bcade1/html5/thumbnails/6.jpg)
n-bit carry ripple adder
A(0)B(0)A(1)B(1)A(2)B(2)A(n-1)B(n-1)
S(0)C(1)S(1)C(2)
S(2)C(3)S(n-1)C(n)
C(n-2)
Circuit Depth is ‘n’. Circuit area is ‘n’ times size of a Full Adder
FA(0)
FA(1)
FA(2)
FA(n-1)C(0)
![Page 7: High Performance Circuit Design By Prof. V. Kamakoti Department of Computer Science and Engineering Indian Institute of Technology, Madras Chennai – 600.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649ec05503460f94bcade1/html5/thumbnails/7.jpg)
Carry look ahead adder
• The depth is ‘n’ because of the carry.• Some interesting facts about carry
a(j) b(j) c(j) c(j+1)
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
If a(j) = b(j) then
c(j+1) = a(j) = b(j)
If a(j) <> b(j) then
c(j+1) = c(j)
![Page 8: High Performance Circuit Design By Prof. V. Kamakoti Department of Computer Science and Engineering Indian Institute of Technology, Madras Chennai – 600.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649ec05503460f94bcade1/html5/thumbnails/8.jpg)
Carry Lookahead Circuit
a(j) b(j) c(j+1) Status (x(j+1))
0 0 0 Kill (k)
0 1 c(j) Propagate (p)
1 0 c(j) Propagate (p)
1 1 1 Generate (g)
![Page 9: High Performance Circuit Design By Prof. V. Kamakoti Department of Computer Science and Engineering Indian Institute of Technology, Madras Chennai – 600.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649ec05503460f94bcade1/html5/thumbnails/9.jpg)
Carry Lookahead Circuit
(*) k p g
k k k g
p k p g
g k g g
x(j)
x(j+1)
y(j) = x(0) (*) x(1) (*) … x(j)
x(0) = k
If y(j) = k then c(j) = 0
If y(j) = g then c(j) = 1
Note that y(j) <> p
New (j+1)th carry status as influenced by x(j)
(*) is associative
![Page 10: High Performance Circuit Design By Prof. V. Kamakoti Department of Computer Science and Engineering Indian Institute of Technology, Madras Chennai – 600.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649ec05503460f94bcade1/html5/thumbnails/10.jpg)
Carry Calculation
• A prefix computation– y(0) = x(0) = k– y(1) = x(0) (*) x(1)– y(2) = x(0) (*) x(1) (*) x(2)– …….– y(n) = x(0) (*) x(1) (*) …. x(n)
• Let [i,j] = x(i) (*) x(i+1) (*) … x(j)• [i,j] (*) [j+1,k] = [i,k]
– By associative property
![Page 11: High Performance Circuit Design By Prof. V. Kamakoti Department of Computer Science and Engineering Indian Institute of Technology, Madras Chennai – 600.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649ec05503460f94bcade1/html5/thumbnails/11.jpg)
An 8-node Carry look ahead adder
![Page 12: High Performance Circuit Design By Prof. V. Kamakoti Department of Computer Science and Engineering Indian Institute of Technology, Madras Chennai – 600.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649ec05503460f94bcade1/html5/thumbnails/12.jpg)
Parallel Prefix circuit
Input x(0), x(1), … x(n) – for an n-bit CLA, where x(0) = k.
Each x(i) is a 2-bit vector
To compute the prefix (*) and pipeline the same.
y(i) = x(0) (*) x(1) (*) … x(i)
We use the Recursive Doubling Technique described earlier
![Page 13: High Performance Circuit Design By Prof. V. Kamakoti Department of Computer Science and Engineering Indian Institute of Technology, Madras Chennai – 600.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649ec05503460f94bcade1/html5/thumbnails/13.jpg)
Pipelined Prefix Calculation based on Recursive Doubling Technique
g k g p g p p k
g k g g g p k k
g k g g g k k k
g k g g g k k k
![Page 14: High Performance Circuit Design By Prof. V. Kamakoti Department of Computer Science and Engineering Indian Institute of Technology, Madras Chennai – 600.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649ec05503460f94bcade1/html5/thumbnails/14.jpg)
Pipelined Prefix Calculation based on Recursive Doubling Technique
g k g p g p p k
g k g g g p k k
g k g g g k k k
g k g g g k k k
![Page 15: High Performance Circuit Design By Prof. V. Kamakoti Department of Computer Science and Engineering Indian Institute of Technology, Madras Chennai – 600.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649ec05503460f94bcade1/html5/thumbnails/15.jpg)
What is achieved?
• The depth of circuit reduced from O(n) to O(log2n)
• Size is still O(n)
• This results in a fast adder.
![Page 16: High Performance Circuit Design By Prof. V. Kamakoti Department of Computer Science and Engineering Indian Institute of Technology, Madras Chennai – 600.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649ec05503460f94bcade1/html5/thumbnails/16.jpg)
Carry Save Addition
• Given three n-bit numbers x, y and z.
• The circuit computes a n-bit number ‘u’ and a (n+1)-bit number ‘v’ such that – x+y+z = u + v.
![Page 17: High Performance Circuit Design By Prof. V. Kamakoti Department of Computer Science and Engineering Indian Institute of Technology, Madras Chennai – 600.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649ec05503460f94bcade1/html5/thumbnails/17.jpg)
Carry Save addition - example
![Page 18: High Performance Circuit Design By Prof. V. Kamakoti Department of Computer Science and Engineering Indian Institute of Technology, Madras Chennai – 600.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649ec05503460f94bcade1/html5/thumbnails/18.jpg)
Carry Save Adder Circuit
![Page 19: High Performance Circuit Design By Prof. V. Kamakoti Department of Computer Science and Engineering Indian Institute of Technology, Madras Chennai – 600.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649ec05503460f94bcade1/html5/thumbnails/19.jpg)
Multipliers
• Simple grade-school multiplication method.– Concept of partial-products
• Partial products generated in parallel and carry save addition results in faster array multiplier
![Page 20: High Performance Circuit Design By Prof. V. Kamakoti Department of Computer Science and Engineering Indian Institute of Technology, Madras Chennai – 600.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649ec05503460f94bcade1/html5/thumbnails/20.jpg)
Grade-school multiplication
• 1 1 1 0 = a• 1 1 0 1 = b• ------------------------------• 1 1 1 0 = m(0)
• 0 0 0 0 = m(1)
• 1 1 1 0 = m(2)
• 1 1 1 0 = m(3)
• -------------------------------• 1 0 1 1 0 1 1 0 = p
![Page 21: High Performance Circuit Design By Prof. V. Kamakoti Department of Computer Science and Engineering Indian Institute of Technology, Madras Chennai – 600.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649ec05503460f94bcade1/html5/thumbnails/21.jpg)
Carry Save Addition based Multiplication
![Page 22: High Performance Circuit Design By Prof. V. Kamakoti Department of Computer Science and Engineering Indian Institute of Technology, Madras Chennai – 600.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649ec05503460f94bcade1/html5/thumbnails/22.jpg)
Wallace-Tree Multipliers
• While multiplying two n-bit numbers a total of n partial products have to be added.
• Use floor(n/3) carry save adders and reduce the number to ceil(2n/3).
• Apply it recursively.
• O(log n) depth circuit of size O(n2).
![Page 23: High Performance Circuit Design By Prof. V. Kamakoti Department of Computer Science and Engineering Indian Institute of Technology, Madras Chennai – 600.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649ec05503460f94bcade1/html5/thumbnails/23.jpg)
8-bit Wallace-tree multiplier
![Page 24: High Performance Circuit Design By Prof. V. Kamakoti Department of Computer Science and Engineering Indian Institute of Technology, Madras Chennai – 600.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649ec05503460f94bcade1/html5/thumbnails/24.jpg)