Dominatorbased partitioning for Delay Optimization - PowerPoint PPT Presentation

1 / 119
About This Presentation
Title:

Dominatorbased partitioning for Delay Optimization

Description:

Select non-critical. Region. Dominator. partition. Area ... Partition on critical path. Partition on critical primary outputs. Non-overlapping among clusters ... – PowerPoint PPT presentation

Number of Views:52
Avg rating:3.0/5.0
Slides: 120
Provided by: dban1
Category:

less

Transcript and Presenter's Notes

Title: Dominatorbased partitioning for Delay Optimization


1
Dominator-based partitioning for Delay
Optimization
  • David Bañeres Jordi Cortadella
  • Univ. Politècnica de Catalunya
  • Spain

Mike Kishinevsky SCL, Intel Corporation Hillsboro
, USA
2
Outline
  • Introduction
  • Vertex dominator
  • Dominator-based Partition (DBP)
  • Comparisons
  • DBP vs DEPART
  • DBP vs hMetis

3
Outline
  • Introduction
  • Vertex dominator
  • Dominator-based Partition (DBP)
  • Comparisons
  • DBP vs DEPART
  • DBP vs hMetis

4
Partitioning in synthesis
Behavioural Synthesis
- RTL Partitioning
Logic Synthesis
  • Logic Minimization

- Placement - Routing
Physical Design
5
Boolean Network
6
Boolean Network
Represents a Boolean function
7
Boolean Network
Primary Outputs
8
Boolean Network
Primary Outputs
Primary Inputs
9
Boolean Network
OUTPUTS
fanouts
fanins
INPUTS
10
Boolean Network
OUTPUTS
Inmediate fanins
INPUTS
11
Boolean Network
OUTPUTS
Transitive fanins
INPUTS
12
Boolean Network
OUTPUTS
INPUTS
13
Why on Logic Synthesis?
  • Algebraic minimization Cost O(n2)
  • Extraction of algebraic divisors
  • Double cube divisor
  • Factor extraction
  • Boolean minimization Cost O(2n)
  • Dont care calculation
  • Delay minimization

14
Why on Logic Synthesis?
Algebraic minimization Boolean minimization
15
Why on Logic Synthesis?
Algebraic minimization Boolean minimization
16
Why on Logic Synthesis?
Algebraic minimization Boolean minimization
17
Why on Logic Synthesis?
Algebraic minimization Boolean minimization
18
Sweep Algebraic methods
Light computational tools
19
Sweep Algebraic methods
Light computational tools
Partition
DIVIDE CONQUER
Aggressive tools
Merge
20
Sweep Algebraic methods
Light computational tools
Partition
Dont cares Delay optimization
Aggressive tools
Merge
21
Partitioning in Synthesis
  • Placement
  • Iterative by Partitioning (Capo)
  • FPGA
  • MLC Sze04
  • Logic Time-driven Optimization
  • REDUCE DEPTH Touati91
  • CLUSTER Yang97
  • DEPART Aggarwal97

22
REDUCE DEPTH Touati91
OUTPUTS
MaxSize 5 nodes
INPUTS
23
CLUSTER Yang97
Area-driven optimization
Partition
  • Optimization
  • Delay-driven
  • Area-driven

Optimization Method
Merge
24
Partitioning in Synthesis
  • Placement
  • Iterative by Partitioning (Capo)
  • FPGA
  • MLC Sze04
  • Logic Time-driven Optimization
  • REDUCE DEPTH Touati91
  • CLUSTER Yang97
  • DEPART Aggarwal97

25
Outline
  • Introduction
  • Vertex dominator
  • Dominator-based Partition (DBP)
  • Comparisons
  • DBP vs DEPART
  • DBP vs hMetis

26
Vertex Dominator
  • Code optimization in compilers
  • Test pattern generation techniques
  • Non-disjoint decomposition of Boolean functions
    Dubrova04

27
Vertex Dominator
  • Single Dominator
  • A vertex x dominates another vertex y in a graph
    if every path from y to root contains x
    Lenguauer79.

28
Vertex Dominator
OUTPUTS
Single vertex dominator
INPUTS
29
Vertex Dominator
OUTPUTS
Single vertex dominator
INPUTS
30
Vertex Dominator
OUTPUTS
INPUTS
31
Vertex Dominator
OUTPUTS
INPUTS
32
Vertex Dominator
OUTPUTS
INPUTS
33
Vertex Dominator
  • Single Dominator
  • A vertex x dominates another vertex y in a graph
    if every path from y to root contains x
    Languager79.
  • K-Vertex Dominator
  • A set of vertices Xx1, x2,, xk dominates
    another vertex y in a graph if every path from y
    to root contains some vertex xi ? X Dubrova04.

34
Vertex Dominator
OUTPUTS
2-vertex dominator
INPUTS
35
Vertex Dominator
OUTPUTS
3-vertex dominator
INPUTS
36
Why Vertex Dominator?
OUTPUTS
INPUTS
37
Why Vertex Dominator?
OUTPUTS
INPUTS
38
Why Vertex Dominator?
OUTPUTS
INPUTS
39
Why Vertex Dominator?
OUTPUTS
  • High interaction rest of the network

INPUTS
40
Why Vertex Dominator?
OUTPUTS
  • High interaction rest of the network
  • Low freedom for restructuring

INPUTS
41
Why Vertex Dominator?
OUTPUTS
INPUTS
42
Why Vertex Dominator?
OUTPUTS
INPUTS
43
Why Vertex Dominator?
OUTPUTS
  • Low interaction rest of the network

INPUTS
44
Why Vertex Dominator?
OUTPUTS
  • Low interaction rest of the network
  • High freedom for restructuring

INPUTS
45
Outline
  • Introduction
  • Vertex dominator
  • Dominator-based Partition (DBP)
  • Comparisons
  • DBP vs DEPART
  • DBP vs hMetis

46
Critical path
47
Flowchart DBP
Select critical Region
Select non-critical Region
Dominator partition
Dominator partition
Delay Optimization
Area Optimization
NO
YES
YES
Improvement?
Improvement?
48
Notation
49
Notation
Primary outputs
Internal nodes
Primary inputs
50
Dominator-based partition
MaxSize 8 nodes
51
Dominator-based partition
  • Single Dominators

MaxSize 8 nodes
52
Dominator-based partition
4
  • Single Dominators

MaxSize 8 nodes
53
Dominator-based partition
4
  • Single Dominators

MaxSize 8 nodes
54
Dominator-based partition
4
  • Single Dominators

MaxSize 8 nodes
55
Dominator-based partition
2
4
  • Single Dominators
  • Double-vertex Dominators

MaxSize 8 nodes
56
Dominator-based partition
NODES 14 !!
2
4
  • Single Dominators
  • Double-vertex Dominators

MaxSize 8 nodes
57
Dominator-based partition
2
4
  • Single Dominators
  • Double-vertex Dominators
  • k-vertex Dominators

MaxSize 8 nodes
58
Dominator-based partition
2
4
  • Single Dominators
  • Double-vertex Dominators
  • Cluster remaining single nodes

MaxSize 8 nodes
59
Dominator-based partition
2
  • Single Dominators
  • Double-vertex Dominators
  • Cluster remaining single nodes

MaxSize 8 nodes
60
Dominator-based partition
2
??
  • Single Dominators
  • Double-vertex Dominators
  • Cluster remaining single nodes

MaxSize 8 nodes
61
Dominator-based partition
2
  • Single Dominators
  • Double-vertex Dominators
  • Cluster remaining single nodes
  • Cluster small windows

MaxSize 8 nodes
62
Dominator-based partition
2
  • Single Dominators
  • Double-vertex Dominators
  • Cluster remaining single nodes
  • Cluster small windows

MaxSize 8 nodes
63
Dominator-based partition
64
Consistent delay propagation
Topological Order
65
Preserving topological order
66
(No Transcript)
67
(No Transcript)
68
(No Transcript)
69
1
70
(No Transcript)
71
2
1
72
(No Transcript)
73
Outline
  • Introduction
  • Vertex dominator
  • Dominator-based Partition (DBP)
  • Comparisons
  • DBP vs DEPART
  • DBP vs hMetis

74
DEPART
  • DElay optimization using PARTitioning
    Aggarwal97.

75
Size of clusters in DEPART
MaxSize 8 nodes
76
Size of clusters in DEPART
MaxSize 8 nodes
77
Size of clusters in DEPART
MaxSize 8 nodes
78
Size of clusters in DEPART
MaxSize 8 nodes
  • Disadvantage
  • Root nodes are excluded from minimization

79
Delay Optimization
DBP
DEPART
Select Critical Region
Select Critical Outputs
50 Nodes 200 Nodes
Transitive partition
Dominator partition
Delay Optimization
Delay Optimization
Speed_up
YES
YES
Improvement?
Improvement?
80
Delay Optimization
Delay script speed_up Size clusters DBP -gt 50
nodes DEPART -gt 200 nodes
81
Delay Optimization
Delay script speed_up Size clusters DBP -gt 50
nodes DEPART -gt 200 nodes
82
Delay Optimization
Delay script speed_up Size clusters DBP -gt 50
nodes DEPART -gt 200 nodes
83
Delay Optimization
Delay script speed_up Size clusters DBP -gt 50
nodes DEPART -gt 200 nodes
84
Delay Optimization
Even better that internal partitioning of
speed_up!!!
85
Outline
  • Introduction
  • Vertex dominator
  • Dominator-based Partition (DBP)
  • Comparisons
  • DBP vs DEPART
  • DBP vs hMetis

86
hMetis
87
hMetis
??
88
hMetis with weighted critical paths
89
Time propagation on hMetis
INPUTS
OUTPUTS
90
Time propagation on hMetis
DBP
INPUTS
OUTPUTS
91
Time propagation on hMetis
Cut of 7 edges
DBP
INPUTS
OUTPUTS
hMetis
92
Experimental Results
DBP
hMetis
Select Critical Region
Select Critical Region
hMetis
Dominator partition
50 Nodes
Delay Optimization
Delay Optimization
Speed_up
YES
YES
Improvement?
Improvement?
93
DBP vs hMetis
94
DBP vs hMetis
95
DBP vs hMetis
96
Size of clusters
DBP
hMetis
97
Conclusions
  • DBP produces good partitions of Logic
    minimization
  • Selection of dominators
  • Topological order to propagate delay information
  • Size of clusters is crucial to obtain a trade-off
    between runtime and results
  • Future work extend to sequential circuits.

98
(No Transcript)
99
hMetis with weights
100
Importance of Dominators
101
Importance of Dominators
DBP
hMetis






a
c
c
a
b
b
102
Why on Logic Synthesis?
RTL
Partition
Logic Synthesis
Merge
103
Why on Boolean Minimization?
RTL
Partition
Logic Synthesis
Merge
104
Vertex Dominator
  • K-vertex dominator
  • Given a network G (V,E), a subset of nodes X
    x1,x2, ,xk ? V is a dominator of a node u ?
    V - X if
  • Every path from u to a primary output contains
    some vertex xi ? X, and
  • no proper subset of X is a dominator of u.

105
Vertex Dominator
2-vertex dominator
106
Vertex Dominator
107
(No Transcript)
108
DEPART
  • DElay optimization using PARTitioning
    Aggarwal97.
  • Non-overlapping among clusters (bins).
  • Select critical primary outputs.
  • Select clusters by cones of influence of the root
    node.
  • Order of minimization by criticality of the
    clusters

109
Time propagation on hMetis
DBP
hMetis
3
1
45
45
15
16
3
3
7
3
7
45
45
17
17
110
Why on Logic Synthesis?
Cost Minimization Tools O(n2)
Espresso Brayton84 Speed_up Singh88
Full_simplify Savoj91 Time_dec Cortadella03
111
Dominator-based partition
2
4
  • Single Dominators

MaxSize 8 nodes
112
Dominator-based partition
2
4
  • Single Dominators

MaxSize 8 nodes
113
hMetis
  • Graph to Hypergraph

114
hMetis without weights
??
115
hMetis with weights
116
Preserving topological order
117
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
118
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
119
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
120
1
121
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
122
2
1
123
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
Write a Comment
User Comments (0)
About PowerShow.com