0% found this document useful (0 votes)
56 views52 pages

Lec - 4 Final

Graphs are fundamental representations used in VLSI physical design. They can represent connections between electronic components, floor planning relationships between blocks, and help with routing algorithms. There are two main ways to represent graphs - adjacency lists which are better for sparse graphs, and adjacency matrices which are better for dense graphs. Graphs are made up of vertices and edges, and different types of graphs like trees, connected graphs and directed graphs have specific properties.

Uploaded by

Saksham Anand
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
56 views52 pages

Lec - 4 Final

Graphs are fundamental representations used in VLSI physical design. They can represent connections between electronic components, floor planning relationships between blocks, and help with routing algorithms. There are two main ways to represent graphs - adjacency lists which are better for sparse graphs, and adjacency matrices which are better for dense graphs. Graphs are made up of vertices and edges, and different types of graphs like trees, connected graphs and directed graphs have specific properties.

Uploaded by

Saksham Anand
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 52

VLSI Physical Design with Timing Analysis

Lecture – 4: Graphs for Physical Design

Bishnu Prasad Das


Department of Electronics and Communication Engineering

1
Contents
• Introduction
• Terminology
• Representation of Graphs
– Adjacency List
– Adjacency Matrix

• Classes of Graphs in Physical Design


– Graphs Related to a Set of Lines
– Graphs Related to a Set of Rectangles

• Graph Problems Related to Physical Design

2
Introduction
• Graphs are fundamental to VLSI physical design.

• They provide a versatile and powerful tool for

– representing, analyzing, and optimizing complex electronic


circuits.

3
Introduction
Some of the applications of Graphs in Physical Design are:

• Netlist Representation: Graphs represent connections between


electronic components in a VLSI circuit

• Floor Planning: Graphs depict relationships and constraints


between blocks.

4
Introduction
• Routing: Graphs help routing algorithms for optimal wire
connections.

• Critical Path Analysis: Graph-based algorithms help identify the


longest (critical paths) paths in a VLSI design.

5
Graph Representation of the Logic Circuit

A
G1
B
G3 Y
C
D G2

6
Terminology
• Graph: A graph G(V, E) is made up of two sets – the set of nodes
or vertices V and the set of edges E.
b
c
a

f
d
g
e
V = {a, b, c, d, e, f, g}
E = {(a, b), (b, c), (c, d), (d, e), (e, g), (g, f), (a, g), (b, f), (c, e)}

7
Terminology
• Hypergraph: Consists of nodes and hyperedges, with each
hyperedge being a subset of two or more nodes.

• Hyperedges are commonly used to represent multi-pin nets or


multi-point connections. 2 3

Hyperedge 4

1 5

8
Terminology
• Degree of the node: Number of its incident edges.

• Path: A path between two nodes is an ordered


sequence of edges from the start node to the end
node.

• Loop: A cycle (loop) is a closed path that starts and


ends at the same node.

9
Terminology
• Undirected Graph: Represents only unordered node relations
with no directed edges.

• Directed graph: A graph in which the direction of the edge


denotes a specific ordered relation between two nodes.

10
Terminology

Undirected Graph Directed Graph

11
Terminology
• Cyclic Graph: A directed graph has at least one directed cycle.
Otherwise, it is an Acyclic Graph.

– The design data used in several EDA algorithms is represented


in Directed Acyclic Graphs(DAG).

12
Terminology

Cyclic Graph Acyclic Graph

13
Terminology
• Complete Graph: A graph in which an edge connects each node
to every other node.

n(n−1)
• Contains nC2 = edges
2

14
Terminology
• Connected Graph: A graph with at least one path between each
pair of nodes.

Connected Graph Unconnected Graph

15
Terminology
• Tree: A graph with n nodes connected by n – 1 edges.
– A tree does not contain any cycles.

– A tree is a maximal acyclic graph,

• which means that adding an edge between two nodes that are not connected
would create a cycle.

– Each pair of nodes is connected by exactly one edge.

– There are two types of trees: undirected and directed.

16
Terminology

Graph Tree

17
Terminology
• Spanning Tree: A connected, acyclic subgraph G’ contained within
G(V, E) that includes (spans) every node v ϵ V.

• Minimum spanning tree (MST): A spanning tree with the smallest


possible sum of edge costs (i.e., edge lengths).

18
Representation of Graphs
• There are two standard ways of representing a graph:
– Adjacency Lists
• For Sparse graphs – for which |E| is much less than |V|2, Adjacency list
representation is preferred as they provide compact representation.

– Adjacency Matrices
• For dense graphs – |E| is close to the |V|2,
Adjacency Matrix representation is preferred.

19
Adjacency List Representation of Graphs
• The adjacency-list representation of a graph G = (V, E) consists of
an array Adj of |V| lists, one for each vertex in V.

• For each u ϵ V, the adjacency list Adj[u] contains all the vertices v
such that there is an edge (u, v) ϵ E.

20
1 2 6 /
2 3 1 6 /
3 2 6 5 4 /
4 3 5 /
5 6 4 3 /
6 1 2 3 5 /
Adj

Adjacency List Representation of the Undirected Graph

21
1 2 4 5 /
2 3 4 /
3 3 /
4 3 5 /
5 2 /

Adj

Adjacency List Representation of the Directed Graph

22
Representation of Graphs
• For example, let G = (V, E) be a weighted graph with weight
function w.
– The weight w(u, v) of the edge (u, v) ϵ E can be stored with vertex v
in u’s adjacency list.

23
2 1 2 4 5 /
1
4 2 3 4 /
6 7 9 3 3 /
8 4 3 5 /
5
3 5 2 /

Adj

Adjacency List Representation of the weighted directed Graph

24
Adjacency Matrix Representation of Graphs
• The adjacency matrix representation of a graph G consists of a
|V| × |V| matrix A = (aij) such that

1 If (i, j) ϵ E,
aij =
0 otherwise.

25
1 2 3 4 5 6
1 0 1 0 0 0 1
2 1 0 1 0 0 1
3 0 1 0 1 1 1
4 0 0 1 0 1 0
5 0 0 1 1 0 1
6 1 1 1 0 1 0

Adjacency Matrix Representation of the Undirected Graph

26
1 2 3 4 5
1 0 1 0 1 1
2 0 0 1 1 0
3 0 0 1 0 0
4 0 0 1 0 1
5 0 1 0 0 0

Adjacency Matrix Representation of the Directed Graph

27
Adjacency Matrix Representation of Graphs
• For example, if G = (V, E) is a weighted graph with edge-weight
function w.
– The weight w(u, v) of the edge (u, v) ϵ E can be stored as the entry in
row u and column v of the adjacency matrix.

28
1 2 3 4 5
1 0 2 0 4 6
2
1 2 0 0 1 7 0
4
6 7 9 3 0 0 9 0 0
8 4 0 0 5 0 3
5
3 5 0 8 0 0 0

Adjacency Matrix Representation of the weighted directed Graph

29
Adjacency Matrix vs Adjacency List
Adjacency List Adjacency Matrix

The amount of memory it requires is Θ(V+E). The adjacency matrix of a graph requires
Θ(V2) memory
Finding each edge in the graph takes Θ(V+E) Because finding each edge in the graph
time. requires examining the entire adjacency
matrix, doing so takes Θ(V2) time.

30
Classes of Graphs in Physical Design
• Layouts consist of collections of rectangles.

• In routing problems, rectangles represent routing wires and are


often thin and long.

• In placement and compaction problems, rectangles represent


circuit blocks.

31
Classes of Graphs in Physical Design
• To optimize the arrangement of lines or rectangles in two or three
dimensions, various graphs are defined to represent their
relationships and adjacencies.

– Graphs Related to a Set of Lines

– Graphs Related to a Set of Rectangles

32
Graphs Related to a Set of Lines
• Lines can be classified into two types:

A
lA rA

Aligned to the axis Not aligned to the axis

33
Graphs Related to a Set of Lines
• Interval: An interval is represented by its left and right endpoints,
denoted by li and ri, respectively for lines aligned to axes.

A
lA rA Interval A: (lA, rA)

34
Graphs Related to a Set of Lines
• Given a set of intervals I = {I1, I2, .., In}, three graphs are defined
based on their different relationships.
– Overlap graph
– Containment graph
– Interval graph

• Overlap, containment, and interval graphs arise


in many routing problems.
35
Overlap graph
• Overlap graph GO = (V, EO), is defined as F
D E
– V = {vi | vi represents interval Ii} B C
A
– EO = {(vi, vj) | li < lj < ri < rj}

• An edge is defined between vi and vj if interval Ii

overlaps with Ij but does not completely contain

or reside within Ij.


36
Overlap graph

F B
D E
B C
A E F
A
C D

37
Containment graph
• Containment graph GC = (V, EC), is defined as F
D E
– V = {vi | vi represents interval Ii} B C
A
– EC = {(vi, vj) | li < lj , ri > rj}
• An edge is defined between vi and vj if interval Ii completely
contains Ij.

38
Containment graph

F D C
D E
B C
A B
A
F E

39
Interval graph
• Interval graph GI = (V, EI), is defined as F
D E
– V = {vi | vi represents interval Ii} B C
A
– EI = EO U EC
• An edge is defined between vi and vj if interval Ii has a non-empty
intersection with Ij.

40
Interval graph

F B F
D E
B C
A E
A
C D

41
Permutation Graph
• Matching diagram: A matching diagram is a diagram where all the
lines begin at a designated y-coordinate and end at another
specified y-coordinate. This case typically occurs in channel
routing.
• Permutation graph GP = (V, EP), is defined as
– V = {vi | vi represents interval Ii}
– EC = {(vi, vj) | if line i intersects line j}

42
Permutation Graph

1 2 3 4 5 1

Channel 2 3

3 5 4 2 1 4 5

43
Circle Graph
1 2 3 4
2 3
6 2
1 4
5 5
6 5
4 1 3 6

44
Graphs Related to a Set of Rectangles
• Given a set of rectangles R = {R1, R2, .., Rm} corresponding to a
layout in a plane, a neighborhood graph is a graph G = (V, E),
where

– V = {vi | vi represents rectangle Ri}

– EC = {(vi, vj) | Ri and Rj are neighbors}

45
Graphs Related to a Set of Rectangles
• The neighborhood graph is used in the global routing phase of
design automation.

– Each channel is depicted as a rectangle

– Channels are considered neighbors if they share a boundary.

46
Neighborhood Graph

B
A A C

C B D
E
D F E

47
Graph Problems Related to Physical Design
• Independent Set Problem:
– Instance: Graph G = (V, E), positive integer K ≤ |V|.
– Question: Does G contain an independent set of size K or more, i.e., a
subset V’ ⊂ V such that |V’| ≥ K and such that no two vertices in V’ are
joined by an edge in E?
• The problem is NP-complete for general graphs.
• The problem is solvable in polynomial time for
interval, permutation, and circle graphs.

48
Graph Problems Related to Physical Design
• Graph K – Colorability:
– Instance: Graph G = (V, E), positive integer K ≤ |V|.
– Question: Is G K- colorable, i.e., does there exist a function f : V → {1, 2, ..,
K} such that f(u) ≠ f(v) whenever {u, v} ϵ E?

• The problem is NP-complete for general graphs


and remains so for all fixed K ≥ 3.
• It is polynomial for K = 2.

49
Graph Problems Related to Physical Design
• Clique Problem:
– Instance: Graph G = (V, E), positive integer K ≤ |V|.

– Does G contain a clique of size K or more, i.e., a subset V’ ⊂ V such that |V’| ≥
K and such that every two vertices in V’ are joined by an edge in E ?

• The problem is NP-complete for general graphs.

• the problem is solvable in polynomial time for

– chordal, interval, and comparability graphs

50
51
Thank You

52

You might also like