CS137: Electronic Design Automation
description
Transcript of CS137: Electronic Design Automation
![Page 1: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/1.jpg)
CALTECH CS137 Fall2005 -- DeHon 1
CS137:Electronic Design Automation
Day 2: September 28, 2005
Covering
![Page 2: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/2.jpg)
CALTECH CS137 Fall2005 -- DeHon 2
Why covering now?
• Nice/simple cost model• problem can be solved well
– somewhat clever solution
• general/powerful technique• show off special cases
– harder/easier cases
• show off things that make hard• show off bounding
![Page 3: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/3.jpg)
CALTECH CS137 Fall2005 -- DeHon 3
Problem
• Implement a “gate-level” netlist in terms of some library of primitives
• General– easy to change technology– easy to experiment with library
requirements (benefits of new cells…)
![Page 4: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/4.jpg)
CALTECH CS137 Fall2005 -- DeHon 4
Input
• netlist
• library
• represent both in normal form– nand gate– inverters
![Page 5: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/5.jpg)
CALTECH CS137 Fall2005 -- DeHon 5
Elements of a library - 1
INVERTER 2
NAND2 3
NAND3 4
NAND4 5
Element/Area Cost Tree Representation (normal form)
Example: Keutzer
![Page 6: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/6.jpg)
CALTECH CS137 Fall2005 -- DeHon 6
Elements of a library - 2
AOI21 4
AOI22 5
Element/Area Cost Tree Representation (normal form)
![Page 7: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/7.jpg)
CALTECH CS137 Fall2005 -- DeHon 7
Input Circuit Netlist
``subject DAG’’
![Page 8: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/8.jpg)
CALTECH CS137 Fall2005 -- DeHon 8
Problem statement
into this library
Find an ``optimal’’ (in area, delay, power) mapping of this circuit (DAG)
![Page 9: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/9.jpg)
CALTECH CS137 Fall2005 -- DeHon 9
What’s the problem? Trivial Covering
subject DAG
7 NAND2 (3) = 215 INV (2) = 10
Area cost 31
![Page 10: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/10.jpg)
CALTECH CS137 Fall2005 -- DeHon 10
Cost Models
![Page 11: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/11.jpg)
CALTECH CS137 Fall2005 -- DeHon 11
Cost Model: Area
• Assume: Area in gates
• or, at least, can pick an area/gate– so proportional to gates
• e.g.– Standard Cell design– Standard Cell/route over cell– gate array
![Page 12: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/12.jpg)
CALTECH CS137 Fall2005 -- DeHon 12
Standard Cell Area
inv nand3 AOI4inv nor3 Inv
All cellsuniformheight
Width ofchanneldeterminedby routing
Cell area Width of channelfairly constant?
![Page 13: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/13.jpg)
CALTECH CS137 Fall2005 -- DeHon 13
Cost Model: Delay
• Delay in gates– at least assignable to gates
• Twire << Tgate• Twire ~=constant
– delay exclusively/predominantly in gates• Gates have Cout, Cin• lump capacitance for output drive• delay ~ Tgate + fanoutCin• Cwire << Cin • or Cwire can lump with Cout/Tgate
![Page 14: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/14.jpg)
CALTECH CS137 Fall2005 -- DeHon 14
Cost Models• Why do I show you models?
– not clear there’s one “right” model– changes over time– you’re going to encounter many different kinds of
problems– want you to see formulations so can critique and
develop own– simple make problems tractable
• are surprisingly adequate
– simple, at least, help bound solutions
![Page 15: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/15.jpg)
CALTECH CS137 Fall2005 -- DeHon 15
Approaches
![Page 16: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/16.jpg)
CALTECH CS137 Fall2005 -- DeHon 16
Greedy work?
• Greedy = pick next locally “best” choice
2 3 4 6
![Page 17: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/17.jpg)
CALTECH CS137 Fall2005 -- DeHon 17
Greedy InOut
6
4
2
![Page 18: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/18.jpg)
CALTECH CS137 Fall2005 -- DeHon 18
Greedy InOut
8
11
![Page 19: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/19.jpg)
CALTECH CS137 Fall2005 -- DeHon 19
Greedy OutIn
6
4
2
![Page 20: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/20.jpg)
CALTECH CS137 Fall2005 -- DeHon 20
Greedy OutIn
8
11
![Page 21: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/21.jpg)
CALTECH CS137 Fall2005 -- DeHon 21
But…
4 2 4 = 10
![Page 22: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/22.jpg)
CALTECH CS137 Fall2005 -- DeHon 22
Greedy Problem
• What happens in the future (elsewhere in circuit) will determine what should be done at this point in the circuit.
• Can’t just pick best thing for now and be done.
![Page 23: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/23.jpg)
CALTECH CS137 Fall2005 -- DeHon 23
Brute force?
• Pick a node (output)
• Consider– all possible gates which may cover that
node– branch on all inputs after cover– pick least cost node
![Page 24: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/24.jpg)
CALTECH CS137 Fall2005 -- DeHon 24
Pick a Node
![Page 25: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/25.jpg)
CALTECH CS137 Fall2005 -- DeHon 25
Brute force?
• Pick a node (output)• Consider
– all possible gates which may cover that node– recurse on all inputs after cover– pick least cost node
• Explore all possible covers– can find optimum
![Page 26: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/26.jpg)
CALTECH CS137 Fall2005 -- DeHon 26
Analyze brute force?
• Time?
• Say P patterns, linear time to match each– (can do better…)
• P-way branch at each node…• …exponential
O(depthP)
![Page 27: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/27.jpg)
CALTECH CS137 Fall2005 -- DeHon 27
Structure inherent in problem to exploit?
![Page 28: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/28.jpg)
CALTECH CS137 Fall2005 -- DeHon 28
Structure inherent in problem to exploit?
• There are only N unique nodes to cover!
![Page 29: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/29.jpg)
CALTECH CS137 Fall2005 -- DeHon 29
Structure
• If subtree solutions do not depend on what happens outside of its subtree– separate tree– farther up tree
• Should only have to look at N nodes.• Time(N) = N*P*T(match)
– w/ P fixed/bounded, technically linear in N– w/ cleverness work isn’t P*T(match) at every node
![Page 30: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/30.jpg)
CALTECH CS137 Fall2005 -- DeHon 30
Idea Re-iterated
• Work from inputs• Optimal solution to subproblem is
contained in optimal, global solution• Find optimal cover for each node• Optimal cover:
– examine all gates at this node– look at cost of gate and its inputs– pick least
![Page 31: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/31.jpg)
CALTECH CS137 Fall2005 -- DeHon 31
Work front-to-back
![Page 32: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/32.jpg)
CALTECH CS137 Fall2005 -- DeHon 32
Work Example (area)
library
2 3 4 5 4 5
![Page 33: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/33.jpg)
CALTECH CS137 Fall2005 -- DeHon 33
Work Example (area)
library
2 3 4 5 4 5
3
2
2
3
![Page 34: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/34.jpg)
CALTECH CS137 Fall2005 -- DeHon 34
Work Example (area)
library
2 3 4 5 4 5
3
2
2
3
![Page 35: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/35.jpg)
CALTECH CS137 Fall2005 -- DeHon 35
Work Example (area)
library
2 3 4 5 4 5
3
2
2
3
3+3+2=8
![Page 36: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/36.jpg)
CALTECH CS137 Fall2005 -- DeHon 36
Work Example (area)
library
2 3 4 5 4 5
3
2
2
3
8
![Page 37: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/37.jpg)
CALTECH CS137 Fall2005 -- DeHon 37
Work Example (area)
library
2 3 4 5 4 5
3
2
2
3
8
![Page 38: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/38.jpg)
CALTECH CS137 Fall2005 -- DeHon 38
Work Example (area)
library
2 3 4 5 4 5
3
2
2
3
8
3+2=5
![Page 39: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/39.jpg)
CALTECH CS137 Fall2005 -- DeHon 39
Work Example (area)
library
2 3 4 5 4 5
3
2
2
3
8
5
![Page 40: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/40.jpg)
CALTECH CS137 Fall2005 -- DeHon 40
Work Example (area)
library
2 3 4 5 4 5
3
2
2
3
8
53+5=8
![Page 41: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/41.jpg)
CALTECH CS137 Fall2005 -- DeHon 41
Work Example (area)
library
2 3 4 5 4 5
3
2
2
3
8
5 4
![Page 42: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/42.jpg)
CALTECH CS137 Fall2005 -- DeHon 42
Work Example (area)
library
2 3 4 5 4 5
3
2
2
3
8
5 4
![Page 43: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/43.jpg)
CALTECH CS137 Fall2005 -- DeHon 43
Work Example (area)
library
2 3 4 5 4 5
3
2
2
3
8
5 4
8+2+3=13
![Page 44: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/44.jpg)
CALTECH CS137 Fall2005 -- DeHon 44
Work Example (area)
library
2 3 4 5 4 5
3
2
2
3
8
5 4
13
![Page 45: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/45.jpg)
CALTECH CS137 Fall2005 -- DeHon 45
Work Example (area)
library
2 3 4 5 4 5
3
2
2
3
8
5 4
1313+2=15
![Page 46: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/46.jpg)
CALTECH CS137 Fall2005 -- DeHon 46
Work Example (area)
library
2 3 4 5 4 5
3
2
2
3
8
5 4
133+2+4=9
![Page 47: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/47.jpg)
CALTECH CS137 Fall2005 -- DeHon 47
Work Example (area)
library
2 3 4 5 4 5
3
2
2
3
8
5 4
13 9
![Page 48: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/48.jpg)
CALTECH CS137 Fall2005 -- DeHon 48
Work Example (area)
library
2 3 4 5 4 5
3
2
2
3
8
5 4
13 99+4+3=16
![Page 49: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/49.jpg)
CALTECH CS137 Fall2005 -- DeHon 49
Work Example (area)
library
2 3 4 5 4 5
3
2
2
3
8
5 4
13 98+2+4+4=18
![Page 50: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/50.jpg)
CALTECH CS137 Fall2005 -- DeHon 50
Work Example (area)
library
2 3 4 5 4 5
3
2
2
3
8
5 4
13 9 16
![Page 51: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/51.jpg)
CALTECH CS137 Fall2005 -- DeHon 51
Work Example (area)
library
2 3 4 5 4 5
3
2
2
3
8
5 4
13 9 1616+2=18
![Page 52: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/52.jpg)
CALTECH CS137 Fall2005 -- DeHon 52
Work Example (area)
library
2 3 4 5 4 5
3
2
2
3
8
5 4
13 9 16 13+5+4=22
![Page 53: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/53.jpg)
CALTECH CS137 Fall2005 -- DeHon 53
Work Example (area)
library
2 3 4 5 4 5
3
2
2
3
8
5 4
13 9 16 18
![Page 54: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/54.jpg)
CALTECH CS137 Fall2005 -- DeHon 54
Work Example (area)
library
2 3 4 5 4 5
3
2
2
3
8
5 4
13 9 16 1818+3=21
![Page 55: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/55.jpg)
CALTECH CS137 Fall2005 -- DeHon 55
Work Example (area)
library
2 3 4 5 4 5
3
2
2
3
8
5 4
13 9 16 189+4+4=17
![Page 56: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/56.jpg)
CALTECH CS137 Fall2005 -- DeHon 56
Work Example (area)
library
2 3 4 5 4 5
3
2
2
3
8
5 4
13 9 16 188+2+4+5=19
![Page 57: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/57.jpg)
CALTECH CS137 Fall2005 -- DeHon 57
Work Example (area)
library
2 3 4 5 4 5
3
2
2
3
8
5 4
13 9 16 18 17
![Page 58: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/58.jpg)
CALTECH CS137 Fall2005 -- DeHon 58
Optimal Cover
library
2 3 4 5 4 5
3
2
2
3
8
5 4
13 9 16 18 17
![Page 59: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/59.jpg)
CALTECH CS137 Fall2005 -- DeHon 59
Optimal Cover
library
2 3 4 5 4 5
3
2
2
3
8
5 4
13 9 16 18 17
Much better than 31!
![Page 60: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/60.jpg)
CALTECH CS137 Fall2005 -- DeHon 60
Note
• There are nodes we cover which will not appear in final solution.
![Page 61: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/61.jpg)
CALTECH CS137 Fall2005 -- DeHon 61
“Unused” Nodes
library
2 3 4 5 4 5
3
2
2
3
8
5 4
13 916 18 17
![Page 62: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/62.jpg)
CALTECH CS137 Fall2005 -- DeHon 62
Dynamic Programming Solution
• Solution described is general instance of dynamic programming
• Require:– optimal solution to subproblems is optimal solution
to whole problem– (all optimal solutions equally good)– divide-and-conquer gets same (finite/small)
number of subproblems• Same technique used for instruction selection
![Page 63: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/63.jpg)
CALTECH CS137 Fall2005 -- DeHon 63
Delay
• Similar– Cost(node) = Delay(gate)
+Max(Delay(input))
![Page 64: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/64.jpg)
CALTECH CS137 Fall2005 -- DeHon 64
DAG
• DAG = Directed Acyclic Graph– Distinguish from tree (tree DAG)– Distinguish from cyclic Graph– DAG Directed Graph (digraph)
tree DAG Digraph
![Page 65: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/65.jpg)
CALTECH CS137 Fall2005 -- DeHon 65
Trees vs. DAGs
• Optimal for trees– why?
• Area• Delay
![Page 66: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/66.jpg)
CALTECH CS137 Fall2005 -- DeHon 66
Not optimal for DAGs
• Why?
![Page 67: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/67.jpg)
CALTECH CS137 Fall2005 -- DeHon 67
Not optimal for DAGs
• Why?
1+1+1=3
1+1+1=3
![Page 68: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/68.jpg)
CALTECH CS137 Fall2005 -- DeHon 68
Not optimal for DAGs
• Why?
1+1+1=3
1+1+1=3 3+3+1=7 ?
![Page 69: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/69.jpg)
CALTECH CS137 Fall2005 -- DeHon 69
Not Optimal for DAGs (area)
• Cost(N) = Cost(gate) + Cost(input nodes)
• think of sets• cost is magnitude of set union• Problem: minimum cost (magnitude) solution
isn’t necessarily the best pick– get interaction between subproblems– subproblem optimum not global...
![Page 70: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/70.jpg)
CALTECH CS137 Fall2005 -- DeHon 70
Not Optimal for DAGs
• Delay:– in fanout model, depends on problem you
haven’t already solved (delay of node depends on number of uses)
![Page 71: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/71.jpg)
CALTECH CS137 Fall2005 -- DeHon 71
What do people do?
• Cut DAGs at fanout nodes• optimally solve resulting trees
• Area– guarantees covered once
• get accurate costs in covering trees, made “premature” assignment of nodes to trees
• Delay – know where fanout is
![Page 72: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/72.jpg)
CALTECH CS137 Fall2005 -- DeHon 72
Bounding
• Tree solution give bounds (esp. for delay)– single path, optimal covering for delay– (also make tree by replicating nodes at fanout
points)
• no fanout cost give bounds– know you can’t do better
• delay bounds useful, too– know what you’re giving up for area– when delay matters
![Page 73: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/73.jpg)
CALTECH CS137 Fall2005 -- DeHon 73
(Multiple Objectives?)
• Like to say, get delay, then area– won’t get minimum area for that delay– algorithm only keep best delay– …but best delay on off critical path piece
not matter• …could have accepted more delay there
– don’t know if on critical path while building subtree
– (iterate, keep multiple solutions)
![Page 74: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/74.jpg)
CALTECH CS137 Fall2005 -- DeHon 74
Many more details...
• Implement well
• Combine criteria– (touch on some later)
• …see literature– (put some refs on web)
![Page 75: CS137: Electronic Design Automation](https://reader036.fdocuments.in/reader036/viewer/2022081513/56813ad2550346895da30531/html5/thumbnails/75.jpg)
CALTECH CS137 Fall2005 -- DeHon 75
Big Ideas
• simple cost models
• problem formulation
• identifying structure in the problem
• special structure
• characteristics that make problems hard
• bounding solutions