Presentation is loading. Please wait.

Presentation is loading. Please wait.

CALTECH CS137 Spring2004 -- DeHon 1 CS137: Electronic Design Automation Day 5: April 12, 2004 Covering and Retiming.

Similar presentations


Presentation on theme: "CALTECH CS137 Spring2004 -- DeHon 1 CS137: Electronic Design Automation Day 5: April 12, 2004 Covering and Retiming."— Presentation transcript:

1 CALTECH CS137 Spring2004 -- DeHon 1 CS137: Electronic Design Automation Day 5: April 12, 2004 Covering and Retiming

2 CALTECH CS137 Spring2004 -- DeHon 2 Previously Cover (map) LUTs for minimum delay –solve optimally Retiming for minimum clock period –solve optimally Simultaneous Cover and 1D placement –optimal area cover for trees

3 CALTECH CS137 Spring2004 -- DeHon 3 Today Solving cover/retime separately not optimal Cover+retime

4 CALTECH CS137 Spring2004 -- DeHon 4 Example

5 CALTECH CS137 Spring2004 -- DeHon 5 Example

6 CALTECH CS137 Spring2004 -- DeHon 6 Example: Retimed

7 CALTECH CS137 Spring2004 -- DeHon 7 Example: Retimed Note: only 4 signals here (2 w/ 2 delays each)

8 CALTECH CS137 Spring2004 -- DeHon 8 Example 2

9 CALTECH CS137 Spring2004 -- DeHon 9 Example 2 Cycle Bound: 2

10 CALTECH CS137 Spring2004 -- DeHon 10 Example 2: retimed

11 CALTECH CS137 Spring2004 -- DeHon 11 Example 2: retimed Cycle Bound: 1

12 CALTECH CS137 Spring2004 -- DeHon 12 Basic Observation Registers break up circuit, limiting coverage –fragmentation –prevent grouping

13 CALTECH CS137 Spring2004 -- DeHon 13 Phase Ordering Problem General problem we’ve seen before –e.g. placement don’t know where connected neighbors will be if unplaced… –don’t know effect/results of other mapping step Here –don’t know delay (what can be packed into LUT) if retime first –If we do not retime first fragmention: forced breaks at bad places

14 CALTECH CS137 Spring2004 -- DeHon 14 Observation #1 Retiming flops to input of (fanout free) subgraph is trivial (and always doable)

15 CALTECH CS137 Spring2004 -- DeHon 15 Observation #1: Consequence Can cover ignoring flop placement Then retime flops to input

16 CALTECH CS137 Spring2004 -- DeHon 16 Fanout Problem? Can I use the same trick here?

17 CALTECH CS137 Spring2004 -- DeHon 17 Fanout Problem? Cannot retime without replicating. Replicating increases I/O (so cut size).

18 CALTECH CS137 Spring2004 -- DeHon 18 Different Replication Problem

19 CALTECH CS137 Spring2004 -- DeHon 19 Different Replication Problem

20 CALTECH CS137 Spring2004 -- DeHon 20 Different Replication Problem Can now retime and cover with single LUT.

21 CALTECH CS137 Spring2004 -- DeHon 21 Replication Once add registers –can’t just grab max flow and get replication (compare flowmap) Or, can’t just ignore flop placement when have reconvergent fanout through flop

22 CALTECH CS137 Spring2004 -- DeHon 22 Replication Key idea: –represent timing paths in graph –differentiating based on number of registers in path –new graph: all paths from node to output have same number of flip-flops –label nodes u d where d is flip-flops to output

23 CALTECH CS137 Spring2004 -- DeHon 23 Deal with Replication Expanded Graph: –start with target output node –for each input u to current expanded graph grab its input edge (x  u) with weight (w(e)) add node x (d+w(e)) to graph (if necessary) add edge x (d+w(e))  u d with weight (w(e)) –continue breadth first until have enough enough for flow cut at most |E|=k  n node depth required

24 CALTECH CS137 Spring2004 -- DeHon 24 Example b c a c0c0 i j

25 CALTECH CS137 Spring2004 -- DeHon 25 Example b c a c0c0 a0a0 b1b1 i j

26 CALTECH CS137 Spring2004 -- DeHon 26 Example b c a c0c0 a0a0 b1b1 i j i0i0 c1c1 j0j0

27 CALTECH CS137 Spring2004 -- DeHon 27 Example b c a c0c0 a0a0 b1b1 i j i0i0 c1c1 j0j0 a1a1 b2b2

28 CALTECH CS137 Spring2004 -- DeHon 28 Example 2 e ac bd e0e0 c0c0 d0d0 a1a1 a0a0 b0b0 b1b1 i1i1 j1j1 i0i0 j0j0

29 CALTECH CS137 Spring2004 -- DeHon 29 Expanded Graph Expanded graph does not have fanout of different flip-flop depths from the same node. Can now cover ignoring flip-flops and trivially retime.

30 CALTECH CS137 Spring2004 -- DeHon 30 Labeling Key idea #1: –compute distances/delay like flowmap dynamic programming Key idea #2: –count distance from register like G-1/c graph

31 CALTECH CS137 Spring2004 -- DeHon 31 Labeling: Edge Weights To target clock period c –use graph G-1/c –paper: assign weight -c*w(e)+1 (same thing scaled by c and negated)

32 CALTECH CS137 Spring2004 -- DeHon 32 Labeling: Edge Weight Idea same idea: –will need register ever c LUT delays –credit with registers as encounter –charge a fraction (1/c) every LUT delay –know net distance at each point –if negative (delays > c*registers) cannot distribute to achieve c –otherwise labeling tells where to distribute

33 CALTECH CS137 Spring2004 -- DeHon 33 Labeling: Flow cut Label node as before (flowmap) –L(v)=min{l(u)+w(e)|  u  v} –trivially can be L(v)-1/c == new LUT Correspond to flowmap case: L(v)+1 note min vs. max and -1/c vs. +1 due to rescaling to match retiming formulation and G- 1/c graph in this formulation, a combinational circuit of depth 4 would have L(v)=-4/c –if can put this and all L(v)’s in one LUT this can be L(v) construct and compute flow cut to test

34 CALTECH CS137 Spring2004 -- DeHon 34 LUT Map and Retime Start with outputs Cover with LUT based on cut –move flip-flops to inputs of LUT Recursively cover inputs Use label to retime –r(v)=  l(v)  +1/c

35 CALTECH CS137 Spring2004 -- DeHon 35 Target Clock Period c As before (retiming) –binary search to find optimal c

36 CALTECH CS137 Spring2004 -- DeHon 36 Variations Relaxation/Iteration –original computed labels iteratively Flow cover –Cong+Wu/ICCAD96 showed can use flowmap-style min-cut Find all k-cuts first –Pan+Liu/FPGA’98

37 CALTECH CS137 Spring2004 -- DeHon 37 Summary Can optimally solve –LUT map for delay –retiming for minimum clock period But, solving separately does not give optimal solution to problem Account for registers on paths Label based on register placement and (flow) cover ignoring registers Labeling gives delay,covering, retiming

38 CALTECH CS137 Spring2004 -- DeHon 38 Admin Wednesday –No Class –Literature Review Due

39 CALTECH CS137 Spring2004 -- DeHon 39 Today’s Big Ideas Exploit freedom Cost of decomposition –benefit of composite solution Technique: –dynamic programming –network flow


Download ppt "CALTECH CS137 Spring2004 -- DeHon 1 CS137: Electronic Design Automation Day 5: April 12, 2004 Covering and Retiming."

Similar presentations


Ads by Google