ut da
play

UT DA DSAR: DSAR: DSA aware Routing with DSA aware Routing with - PowerPoint PPT Presentation

UT DA DSAR: DSAR: DSA aware Routing with DSA aware Routing with Simultaneous DSA Guiding Simultaneous DSA Guiding Pattern and Double Patterning Pattern and Double Patterning Ass Assignment ignment Jiaojiao Ou 1 , Bei Yu 2 , Xiaoqing Xu 1


  1. UT DA DSAR: DSAR: DSA aware Routing with DSA aware Routing with Simultaneous DSA Guiding Simultaneous DSA Guiding Pattern and Double Patterning Pattern and Double Patterning Ass Assignment ignment Jiaojiao Ou 1 , Bei Yu 2 , Xiaoqing Xu 1 , Joydeep Mitra 3 , Yibo Lin 1 , David Z. Pan 1 1 ECE Department, University of Texas at Austin 2 CSE Department, CUHK 3 Mentor Graphics Inc. 1

  2. Outline Outline Introduction Problem formulation Detailed routing algorithms Experimental results Conclusion 2

  3. Intr Introduction: oduction: Technology Technology Scaling Scaling Opto Connect eNVM EUV DSA Transistors EUV LELE CNT 3D IC VNW Graphene Patterning SAQP EUV EBL Interconnect SADP HNW Complexity [Courtesy ARM] LELELE LELE EUV FinFET W LI Cu Doping Planar CMOS LE 10 nm 7 nm 5 nm 3 nm AI / Cu / W wires 2005 2010 2015 2020 2025 3

  4. Technology Technology Scaling: M Scaling: More Mas ore Masks ks Via density increases  Triple/Quadruple patternings are required • Placement error problem • Cost increases  More via: 1D design Metal 2 Metal 3 Via Mask 1 Mask 2 Mask 3 Mask 4 (a) Original layout (b) Via layer with quadruple patterning 4

  5. Motivation Motivation of DSA of DSA on Via on Via Layer Layer Reduce mask number by grouping vias in the same guiding pattern Reduce 2 mask with DSA 5

  6. Consider Consider DSA DSA during Routing during Routing 1 Initial detailed routing without DSA consideration  3 masks are required 6

  7. Consider Consider DSA DSA during Routing during Routing 2 Initial detailed routing without DSA consideration  3 masks are required Reroute n1 and n3 7

  8. Consider Consider DSA DSA during Routing during Routing 3 Initial detailed routing without DSA consideration  3 masks are required Reroute n1 and n3  Reduce 1 more mask 8

  9. Previous Previous Works Works DSA-aware detailed routing for via layer optimization [Du+, SPIE’14]  Resolve conflicts and infeasible via patterns during rip-up and reroute with negotiated congestion based scheme  Incapable to handle DSA with multiple patternings  More wire length may be introduced Redundant Via insertion consideration [Lin+, ASPDAC’17]  Simultaneously consideration of redundant via insertion and guiding template feasibility  Increase redundant via insertion rate  Multiple patterning for via is not considered, not compatible for 1D design 9

  10. Problem Formulation: Problem Formulation: DSAR DSAR DSA and double patterning aware detailed routing Input: ▷ Netlist with source/target pins ▷ Feasible DSA patterns ▷ Design rules Output: ▷ Minimize wirelength, unroutable nets ▷ DSA-DP compatible via layer 10

  11. Design Design Rules Rules DSA design rules Forbidden Via distribution Metal 2 Metal 3 Via Cut mask More complex guiding templates 11

  12. Pre Pre-rout route N e Net Planning et Planning - 1 Construct conflict graph  Vertices: bbox corners  Edge weight: DSA friendly? 1: 5 12

  13. Pre Pre-rout route N e Net Planning et Planning - 1 Construct conflict graph  Vertices: bbox corners  Edge weight: DSA friendly? 1: 5 13

  14. Pre Pre-rout route N e Net Planning et Planning - 1 Construct conflict graph  Vertices: bbox corners  Edge weight: DSA friendly? 1: 5 14

  15. Pre Pre-rout route N e Net Planning et Planning - 1 Construct conflict graph  Vertices: bbox corners  Edge weight: DSA friendly? 1: 5 15

  16. Pre Pre-rout route N e Net Planning et Planning - 1 Construct conflict graph  Vertices: bbox corners  Edge weight: DSA friendly? 1: 5 16

  17. Pre Pre-rout route N e Net Planning et Planning - 1 Construct conflict graph  Vertices: bbox corners  Edge weight: DSA friendly? 1: 5 17

  18. Pre Pre-rout route N e Net Planning et Planning - 1 Construct conflict graph  Vertices: bbox corners  Edge weight: DSA friendly? 1: 5 18

  19. Pre Pre-rout route N e Net Planning et Planning - 1 Construct conflict graph  Vertices: bbox corners  Edge weight: DSA friendly? 1: 5 19

  20. Pre Pre-rout route N e Net Planning et Planning - 2 Conflict graph constraints  At most 1 corner of each net 20

  21. Pre Pre-rout route N e Net Planning et Planning - 2 Conflict graph constraints  At most 1 corner of each net  Corners cross the pins of other nets 21

  22. Pre Pre-rout route N e Net Planning et Planning - 3 Conflict graph constraints  At most 1 corner of each net  Corners cross the pins of other nets Conflict graph bipartization  Pre-determine (estimate) the routing paths for nets 22

  23. Pre Pre-rout route N e Net Planning et Planning - 3 Conflict graph constraints  At most 1 corner of each net  Corners cross the pins of other nets Conflict graph bipartization  Pre-determine (estimate) the routing paths for nets  Minimize deleted vertices from conflict graph • DSA unfriendly vertices 23

  24. Pre Pre-rout route N e Net Planning et Planning - 4 Net ordering for undetermined nets More WL  Smaller bbox (HPWL)  Overlaps Route b first Route a first 24

  25. Detailed Detailed Routing Routing - 1 Routing graph model Routing box All vias are One color Via inserted forbidden assignment 25 forbidden

  26. Detailed Detailed Routing Routing - 2 Routing box state update Nearby routing box update Example Empty via Green via Red via Red via is forbidden All via forbidden grid Green via is forbidden M2 M3 26

  27. Detailed Detailed Routing Routing - 3 Routing scheme  Negotiated congestion based  A* search 27

  28. Detailed Detailed Routing Routing - 3 Routing scheme  Negotiated congestion based  A* search 28

  29. Post Routing Post Routing Optimization Optimization Assign DSA guiding patterns  Minimize DSA groups and conflicts  Edge bipartization 29

  30. Post Routing Post Routing Optimization Optimization Assign DSA guiding patterns  Minimize DSA groups and conflicts  Edge bipartization 30

  31. Experimental Experimental Setup Setup Implemented in C++ 3.4GHz Linux server, 32GB RAM ILP solver: GUROBI 6.5 OpenSparc T1 design:  M2, M3 for routing  [Du+,SPIE’14], 1D router 31

  32. Routing Result Routing Result Comparison Comparison 70000 600000 60000 1% better 1D router 500000 20% better SPIE’14 50000 400000 40000 300000 30000 200000 20000 100000 10000 0 0 ecc efc ctl alu div top ecc efc ctl alu div top Conventional 1D router Du+,SPIE'14 DSAR Conventional 1D router Du+,SPIE'14 DSAR (a) Number of Vias (b) Wirelength 300 5000 250 4000 200 3000 150 2000 100 1000 50 0 0 ecc efc ctl alu div top ecc efc ctl alu div top Conventional 1D router Du+,SPIE'14 DSAR Conventional 1D router Du+,SPIE'14 DSAR (c) DSA conflicts (d) CPU(s) 32

  33. Routing Result Comparison Routing Result Comparison 70000 600000 60000 1% better 1D router 1% overhead 1D router 500000 20% better SPIE’14 15% better SPIE’14 50000 400000 40000 300000 30000 200000 20000 100000 10000 0 0 ecc efc ctl alu div top ecc efc ctl alu div top Conventional 1D router Du+,SPIE'14 DSAR Conventional 1D router Du+,SPIE'14 DSAR (a) Number of Vias (b) Wirelength 300 5000 250 4000 200 3000 150 2000 100 1000 50 0 0 ecc efc ctl alu div top ecc efc ctl alu div top Conventional 1D router Du+,SPIE'14 DSAR Conventional 1D router Du+,SPIE'14 DSAR (c) DSA conflicts (d) CPU(s) 33

  34. Routing Result Routing Result Comparison Comparison 70000 600000 60000 1% better 1D router 1% overhead 1D router 500000 20% better SPIE’14 15% better SPIE’14 50000 400000 40000 300000 30000 200000 20000 100000 10000 0 0 ecc efc ctl alu div top ecc efc ctl alu div top Conventional 1D router Du+,SPIE'14 DSAR Conventional 1D router Du+,SPIE'14 DSAR (a) Number of Vias (b) Wirelength 300 5000 250 269 conflicts 1D router 4000 8 conflicts SPIE’14 200 3000 150 2000 100 1000 50 0 0 ecc efc ctl alu div top ecc efc ctl alu div top Conventional 1D router Du+,SPIE'14 DSAR Conventional 1D router Du+,SPIE'14 DSAR (c) DSA conflicts (d) CPU(s) 34

  35. Routing Result Comparison Routing Result Comparison 70000 600000 60000 1% better 1D router 1% overhead 1D router 500000 20% better SPIE’14 15% better SPIE’14 50000 400000 40000 300000 30000 200000 20000 100000 10000 0 0 ecc efc ctl alu div top ecc efc ctl alu div top Conventional 1D router Du+,SPIE'14 DSAR Conventional 1D router Du+,SPIE'14 DSAR (a) Number of Vias (b) Wirelength 300 5000 250 269 conflicts 1D router 62% overhead 1D router 4000 8 conflicts SPIE’14 5% better SPIE’14 200 3000 150 2000 100 1000 50 0 0 ecc efc ctl alu div top ecc efc ctl alu div top Conventional 1D router Du+,SPIE'14 DSAR Conventional 1D router Du+,SPIE'14 DSAR (c) DSA conflicts (d) CPU(s) 35

Recommend


More recommend