cs137 electronic design automation
play

CS137: Electronic Design Automation Day 5: April 12, 2004 - PDF document

CS137: Electronic Design Automation Day 5: April 12, 2004 Covering and Retiming 1 CALTECH CS137 Spring2004 -- DeHon Previously Cover (map) LUTs for minimum delay solve optimally Retiming for minimum clock period solve


  1. CS137: Electronic Design Automation Day 5: April 12, 2004 Covering and Retiming 1 CALTECH CS137 Spring2004 -- DeHon 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 2 CALTECH CS137 Spring2004 -- DeHon 1

  2. Today • Solving cover/retime separately not optimal • Cover+retime 3 CALTECH CS137 Spring2004 -- DeHon Example 4 CALTECH CS137 Spring2004 -- DeHon 2

  3. Example 5 CALTECH CS137 Spring2004 -- DeHon Example: Retimed 6 CALTECH CS137 Spring2004 -- DeHon 3

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

  5. Example 2 Cycle Bound : 2 9 CALTECH CS137 Spring2004 -- DeHon Example 2: retimed 10 CALTECH CS137 Spring2004 -- DeHon 5

  6. Example 2: retimed Cycle Bound : 1 11 CALTECH CS137 Spring2004 -- DeHon Basic Observation • Registers break up circuit, limiting coverage – fragmentation – prevent grouping 12 CALTECH CS137 Spring2004 -- DeHon 6

  7. 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 13 CALTECH CS137 Spring2004 -- DeHon Observation #1 • Retiming flops to input of (fanout free) subgraph is trivial (and always doable) 14 CALTECH CS137 Spring2004 -- DeHon 7

  8. Observation #1: Consequence • Can cover ignoring flop placement • Then retime flops to input 15 CALTECH CS137 Spring2004 -- DeHon Fanout Problem? Can I use the same trick here? 16 CALTECH CS137 Spring2004 -- DeHon 8

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

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

  11. 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 21 CALTECH CS137 Spring2004 -- DeHon 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 22 CALTECH CS137 Spring2004 -- DeHon 11

  12. 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 23 CALTECH CS137 Spring2004 -- DeHon Example c c 0 a b i j 24 CALTECH CS137 Spring2004 -- DeHon 12

  13. Example c c 0 a 0 b 1 a b i j 25 CALTECH CS137 Spring2004 -- DeHon Example c c 0 a 0 b 1 a b i 0 j 0 c 1 i j 26 CALTECH CS137 Spring2004 -- DeHon 13

  14. Example c c 0 a 0 b 1 a b i 0 j 0 c 1 i j a 1 b 2 27 CALTECH CS137 Spring2004 -- DeHon Example 2 a c e e 0 b d c 0 d 0 a 1 a 0 b 0 b 1 i 1 j 1 i 0 j 0 28 CALTECH CS137 Spring2004 -- DeHon 14

  15. 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. 29 CALTECH CS137 Spring2004 -- DeHon Labeling • Key idea #1: – compute distances/delay like flowmap • dynamic programming • Key idea #2: – count distance from register • like G-1/c graph 30 CALTECH CS137 Spring2004 -- DeHon 15

  16. 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) 31 CALTECH CS137 Spring2004 -- DeHon 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 32 CALTECH CS137 Spring2004 -- DeHon 16

  17. 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 33 CALTECH CS137 Spring2004 -- DeHon 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 34 CALTECH CS137 Spring2004 -- DeHon 17

  18. Target Clock Period c • As before (retiming) – binary search to find optimal c 35 CALTECH CS137 Spring2004 -- DeHon 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 36 CALTECH CS137 Spring2004 -- DeHon 18

  19. 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 37 CALTECH CS137 Spring2004 -- DeHon Admin • Wednesday – No Class – Literature Review Due 38 CALTECH CS137 Spring2004 -- DeHon 19

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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend