Post on 14-Apr-2018
7/27/2019 CAD of VLSI Systems intro cntd 4.pdf
1/27
CAD of VLSI Systems
ntro uct on ont ..
Virendra Sin hIndian Institute of Science
Ban alorevirendra@computer.org
E0-285: CAD of VLSI Systems
7/27/2019 CAD of VLSI Systems intro cntd 4.pdf
2/27
CAD of VLSI Systems
z Design of VLSI Systemsz Com lex s stem
z Need systematic methodology
z Can be automated
z ou an e very arge es gns
Aug 17, 2010 E0-285@SERC 2
7/27/2019 CAD of VLSI Systems intro cntd 4.pdf
3/27
Design Domains (Y - Chart)
e ava ora oma n ruc ura oma n
System
Al orithms Processors
Reg. Transfers
Logic
ALU, RAM, ..
Gates, FFs, ..
Transistor Layout
Cell Layout
Module Layout
Floorplan
Aug 17, 2010 E0-285@SERC 3
Physical Domain
a s ,
7/27/2019 CAD of VLSI Systems intro cntd 4.pdf
4/27
Algorithms
z ost y ntracta e pro ems
z Exact Algorithms
z Branch and Bound
z Dynamic Programmingz Greedy Algorithms
z Soft computing techniques
Ant colony optimization Tabu search etc..
Aug 17, 2010 E0-285@SERC 4
7/27/2019 CAD of VLSI Systems intro cntd 4.pdf
5/27
Algorithms
z
A Graph G(V, E) is a pair (V, E), where V is a setand E is a relation on V
-
vertices
z Undirected Graph edges are unordered pairs
Aug 17, 2010 E0-285@SERC 5
7/27/2019 CAD of VLSI Systems intro cntd 4.pdf
6/27
rc ec ura yn es s
Computation: Differential Equation Solver
xl = x + dx
ul = u 3*x*u*dx 3* *dx
c = xl < a
Data Flow Graph (DFG): represent operation and data
Aug 17, 2010 E0-285@SERC 6
7/27/2019 CAD of VLSI Systems intro cntd 4.pdf
7/27
a a ow rap
1 2
x
3
udx
3 y
u dx x dx
* * +6 8 10
dx ya
xl
* +
7/27/2019 CAD of VLSI Systems intro cntd 4.pdf
8/27
Graph Representation
1 2a
1 2 3 4
1 0 1 1 1
4 3
bed 2 0 0 1 0
3 0 0 0 1
4 0 0 0 0
Aug 17, 2010 E0-285@SERC 8
7/27/2019 CAD of VLSI Systems intro cntd 4.pdf
9/27
Graph Representation
1 2a
2 3 41
4 3
bed
32
43
4
Aug 17, 2010 E0-285@SERC 9
7/27/2019 CAD of VLSI Systems intro cntd 4.pdf
10/27
Graph Algorithms
Shortest Path Algorithms Longest Path Algorithms
Traveling Salesman Problem
ax ma ques
Graph Colouring
Vertex Covering
Aug 17, 2010 E0-285@SERC 10
n mum pann ng ree
7/27/2019 CAD of VLSI Systems intro cntd 4.pdf
11/27
Graph Algorithms
z
Mostly intractable problemsz Approximate algorithms
z ranc an oun
z
Dynamic Programming
z Soft computing techniques Genetic Al orithms Ant colony optimization Tabu search etc..
Aug 17, 2010 E0-285@SERC 11
7/27/2019 CAD of VLSI Systems intro cntd 4.pdf
12/27
Graph Algorithms
z Shortest Path algorithmsz Di kstras al orithm
110 100
Greedy algorithm
Make local decision reedil
52
Gives shortest path from asource node 3 420
60
Aug 17, 2010 E0-285@SERC 12
7/27/2019 CAD of VLSI Systems intro cntd 4.pdf
13/27
Dijkstras Algorithms
1Iter. S V-S w D[2] D[3] D[4] D[5]
52
30
, , , -
1 {1,2} {3,4,5} 2 10 60 30 100
5010
60 2 {1,2,4} {3,5} 4 10 50 30 90
20 3 {1,2,4,3} {5} 3 10 50 30 60
4 {1,2,4,3,5} 5 10 50 30 60
Aug 17, 2010 E0-285@SERC 13
7/27/2019 CAD of VLSI Systems intro cntd 4.pdf
14/27
Dijkstras Algorithms
z Begin
z S = {1}52
10 10030
z or = o n o
D[i] = C [1,i] initializez = - 3 4
10 60
Choose a vertex w in V-S s.t. D[w] is minimum Add w to S
or eac ver ex v n - o D[v] = Min{D[v], D[w]+C[w,v]}
z end
Aug 17, 2010 E0-285@SERC 14
7/27/2019 CAD of VLSI Systems intro cntd 4.pdf
15/27
Floyds Algorithms
zAll Pair Shortest Path algorithmsz Flo ds al orithm
Make local decision and refine it later
Gives shortest ath for all airs
1 2 32
3
Aug 17, 2010 E0-285@SERC 15
7/27/2019 CAD of VLSI Systems intro cntd 4.pdf
16/27
Floyds Algorithms
1 2 322
3
5
1 2 3
1 0 8 5
1
2
0 8 5
3 0 8
3 2 0 3 2 0
Aug 17, 2010 E0-285@SERC 16
A0[i,j] A 1[i,j]
7/27/2019 CAD of VLSI Systems intro cntd 4.pdf
17/27
Floyds Algorithms
1 2 322
3
5
1 2 3
1 0 8 5 1
2
0 7 5
3 0 8
3 5 2 0 3 5 2 0
Aug 17, 2010 E0-285@SERC 17
A2[i,j] A 3[i,j]
7/27/2019 CAD of VLSI Systems intro cntd 4.pdf
18/27
Floyds Algorithmsz Be in
z S = {1}z For I = 2 to n do 1 2 3
2
2
3
A[I,j] = C [i,j] initializez
For I = 1 to n do
5
,
z For k = 1 to n-1 do begin
For i = 1 to n do
For j = 1 to n do If A[I,k]+A[k,j] < A[I,j] then A[I,j] = A[I,k]+A[k,j] =
Aug 17, 2010 E0-285@SERC 18
,
z end
7/27/2019 CAD of VLSI Systems intro cntd 4.pdf
19/27
Spanning Tree
z ree ree a connec s a e ver ces
z Cost of a spanning tree is sum of edges
z Minimum Spanning Tree (MST)
z Prims AlgorithmGreedy algoritthm
Start from an intial node U = {1}
rows , one e ge a a meAt each step, it finds a shortest edge (u,v) that
connects U and V-U and adds v to V-U from U
Aug 17, 2010 E0-285@SERC 19
7/27/2019 CAD of VLSI Systems intro cntd 4.pdf
20/27
Prims Algorithm
1 1
423
15 5 42
3
15
5 6
3
6
2 2
5 6
3
Aug 17, 2010 E0-285@SERC 20
7/27/2019 CAD of VLSI Systems intro cntd 4.pdf
21/27
7/27/2019 CAD of VLSI Systems intro cntd 4.pdf
22/27
Kruskals Algorithm
z Start with a graph t = (V,) only verticesz
z As algorithm progresses,
Have collection of connected componentsz To build progressively larger connected
component
Examine edges for E in order of increasing cost If the edge connects two vertices in two differentconnected component, tthen add edge to T
Aug 17, 2010 E0-285@SERC 22
7/27/2019 CAD of VLSI Systems intro cntd 4.pdf
23/27
7/27/2019 CAD of VLSI Systems intro cntd 4.pdf
24/27
Vertex Covering Problem
z Vertex Covering of an undirected graph G
is a subset of the vertices s.t. each edge in
as a eas one e ge n a su se
z Heuristic Select vertex with largest degree Deletion of a vertex corresponds to the removal
of vertex itself and all edges incident to it
Aug 17, 2010 E0-285@SERC 24
7/27/2019 CAD of VLSI Systems intro cntd 4.pdf
25/27
Vertex Covering Problem
1 2 3 4 5
1 2 3 4 5
1 2 1 2
Aug 17, 2010 E0-285@SERC 25
7/27/2019 CAD of VLSI Systems intro cntd 4.pdf
26/27
Graph Colouring Problem
z rap co our ng pro em o an un rec egraph G is a labeling of vertices such that
-same label
number of colours
scan of vertex set where vertices arecoloured one at a time
Aug 17, 2010 E0-285@SERC 26
7/27/2019 CAD of VLSI Systems intro cntd 4.pdf
27/27
Aug 17, 2010 E0-285@SERC 27