Under a Concurrent and Hierarchical Scheme

Slides:



Advertisements
Similar presentations
Porosity Aware Buffered Steiner Tree Construction C. Alpert G. Gandham S. Quay IBM Corp M. Hrkic Univ Illinois Chicago J. Hu Texas A&M Univ.
Advertisements

Group: Wilber L. Duran Duo (Steve) Liu
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 22: December 2, 2005 Routing 2 (Pathfinder)
VSMC MIMO: A Spectral Efficient Scheme for Cooperative Relay in Cognitive Radio Networks 1.
Ispd-2007 Repeater Insertion for Concurrent Setup and Hold Time Violations with Power-Delay Trade-Off Salim Chowdhury John Lillis Sun Microsystems University.
Native-Conflict-Aware Wire Perturbation for Double Patterning Technology Szu-Yu Chen, Yao-Wen Chang ICCAD 2010.
Hsi-An Chien Ting-Chi Wang Redundant-Via-Aware ECO Routing ASPDAC2014.
Wen-Hao Liu1, Yih-Lang Li, and Cheng-Kok Koh Department of Computer Science, National Chiao-Tung University School of Electrical and Computer Engineering,
Ripple: An Effective Routability-Driven Placer by Iterative Cell Movement Xu He, Tao Huang, Linfu Xiao, Haitong Tian, Guxin Cui and Evangeline F.Y. Young.
© KLMH Lienig Multi-Threaded Collision Aware Global Routing Bounded Length Maze Routing.
Coupling-Aware Length-Ratio- Matching Routing for Capacitor Arrays in Analog Integrated Circuits Kuan-Hsien Ho, Hung-Chih Ou, Yao-Wen Chang and Hui-Fang.
Layer Assignment Algorithm for RLC Crosstalk Minimization Bin Liu, Yici Cai, Qiang Zhou, Xianlong Hong Tsinghua University.
VLSI Routing. Routing Problem  Given a placement, and a fixed number of metal layers, find a valid pattern of horizontal and vertical wires that connect.
Metal Layer Planning for Silicon Interposers with Consideration of Routability and Manufacturing Cost W. Liu, T. Chien and T. Wang Department of CS, NTHU,
CSE 550 Computer Network Design Dr. Mohammed H. Sqalli COE, KFUPM Spring 2007 (Term 062)
Routing 2 Outline –Maze Routing –Line Probe Routing –Channel Routing Goal –Understand maze routing –Understand line probe routing.
Chih-Hung Lin, Kai-Cheng Wei VLSI CAD 2008
Introduction to Routing. The Routing Problem Apply after placement Input: –Netlist –Timing budget for, typically, critical nets –Locations of blocks and.
MGR: Multi-Level Global Router Yue Xu and Chris Chu Department of Electrical and Computer Engineering Iowa State University ICCAD
A Topology-based ECO Routing Methodology for Mask Cost Minimization Po-Hsun Wu, Shang-Ya Bai, and Tsung-Yi Ho Department of Computer Science and Information.
Area-I/O Flip-Chip Routing for Chip-Package Co-Design Progress Report 方家偉、張耀文、何冠賢 The Electronic Design Automation Laboratory Graduate Institute of Electronics.
Authors: Jia-Wei Fang,Chin-Hsiung Hsu,and Yao-Wen Chang DAC 2007 speaker: sheng yi An Integer Linear Programming Based Routing Algorithm for Flip-Chip.
Escape Routing For Dense Pin Clusters In Integrated Circuits Mustafa Ozdal, Design Automation Conference, 2007 Mustafa Ozdal, IEEE Trans. on CAD, 2009.
IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS 2007 (TPDS 2007)
CAFE router: A Fast Connectivity Aware Multiple Nets Routing Algorithm for Routing Grid with Obstacles Y. Kohira and A. Takahashi School of Computer Science.
1 Coupling Aware Timing Optimization and Antenna Avoidance in Layer Assignment Di Wu, Jiang Hu and Rabi Mahapatra Texas A&M University.
A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment Shiyan Hu*, Zhuo Li**, Charles J. Alpert** *Dept of Electrical.
Solving Hard Instances of FPGA Routing with a Congestion-Optimal Restrained-Norm Path Search Space Keith So School of Computer Science and Engineering.
1 Global Routing Method for 2-Layer Ball Grid Array Packages Yukiko Kubo*, Atsushi Takahashi** * The University of Kitakyushu ** Tokyo Institute of Technology.
Wen-Hao Liu 1, Yih-Lang Li 1, and Kai-Yuan Chao 2 1 Department of Computer Science, National Chiao-Tung University, Hsin-Chu, Taiwan 2 Intel Architecture.
Low-Power Gated Bus Synthesis for 3D IC via Rectilinear Shortest-Path Steiner Graph Chung-Kuan Cheng, Peng Du, Andrew B. Kahng, and Shih-Hung Weng UC San.
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 5: Global Routing © KLMH Lienig 1 EECS 527 Paper Presentation High-Performance.
Archer: A History-Driven Global Routing Algorithm Mustafa Ozdal Intel Corporation Martin D. F. Wong Univ. of Illinois at Urbana-Champaign Mustafa Ozdal.
An Efficient Clustering Algorithm For Low Power Clock Tree Synthesis Rupesh S. Shelar Enterprise Microprocessor Group Intel Corporation, Hillsboro, OR.
BSG-Route: A Length-Matching Router for General Topology T. Yan and M. D. F. Wong University of Illinois at Urbana-Champaign ICCAD 2008.
Efficient Multi-Layer Obstacle- Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Shih-Lun Huang, Kai-Chi Hsu,Meng-Xiang Li, Yao-Wen Chang.
Wire Planning with consideration of Electromigration and Interference Avoidance in Analog Circuits 演講者 : 黃信雄 龍華科技大學 電子工程系.
Bus-Pin-Aware Bus-Driven Floorplanning B. Wu and T. Ho Department of Computer Science and Information Engineering NCKU GLSVLSI 2010.
AUTOMATIC BUS PLANNER FOR DENSE PCBS Hui Kong, Tan Yan and Martin D.F. Wong Department of Electrical and Computer Engineering, University of Illinois at.
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 6: Detailed Routing © KLMH Lienig 1 What Makes a Design Difficult to Route Charles.
ARCHER:A HISTORY-DRIVEN GLOBAL ROUTING ALGORITHM Muhammet Mustafa Ozdal, Martin D. F. Wong ICCAD ’ 07.
A Faster Approximation Scheme for Timing Driven Minimum Cost Layer Assignment Shiyan Hu*, Zhuo Li**, and Charles J. Alpert** *Dept of ECE, Michigan Technological.
1 Efficient Obstacle-Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Szu-Yu Chen, Chi-Feng Li, Yao-Wen Chang, Chia-Lin Yang National Taiwan.
GLOBAL ROUTING Anita Antony PR11EC1011. Approaches for Global Routing Sequential Approach: – Route the nets one at a time. Concurrent Approach: – Consider.
A Negotiated Congestion based Router for Simultaneous Escape Routing Q.Ma, T.Yan and Martin D.F. Wong Department of Electrical and Computer Engineering.
1 A Min-Cost Flow Based Detailed Router for FPGAs Seokjin Lee *, Yongseok Cheon *, D. F. Wong + * The University of Texas at Austin + University of Illinois.
On Routing Fixed Escaped Boundary Pins for High Speed Boards T. Tsai, R. Lee, C. Chin and Y. Kajitani Global UniChip Corp. Hsinchu, Taiwan DATE 2011.
ECE 260B – CSE 241A /UCB EECS Kahng/Keutzer/Newton Physical Design Flow Read Netlist Initial Placement Placement Improvement Cost Estimation Routing.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 13: February 20, 2002 Routing 1.
Timing-Driven Routing for FPGAs Based on Lagrangian Relaxation
Simultaneous Analog Placement and Routing with Current Flow and Current Density Considerations H.C. Ou, H.C.C. Chien and Y.W. Chang Electronics Engineering,
Maze Routing Algorithms with Exact Matching Constraints for Analog and Mixed Signal Designs M. M. Ozdal and R. F. Hentschke Intel Corporation ICCAD 2012.
High-Performance Global Routing with Fast Overflow Reduction Huang-Yu Chen, Chin-Hsiung Hsu, and Yao-Wen Chang National Taiwan University Taiwan.
Example Apply hierarchical clustering with d min to below data where c=3. Nearest neighbor clustering d min d max will form elongated clusters!
An Exact Algorithm for Difficult Detailed Routing Problems Kolja Sulimma Wolfgang Kunz J. W.-Goethe Universität Frankfurt.
SEMI-SYNTHETIC CIRCUIT GENERATION FOR TESTING INCREMENTAL PLACE AND ROUTE TOOLS David GrantGuy Lemieux University of British Columbia Vancouver, BC.
1 Double-Patterning Aware DSA Template Guided Cut Redistribution for Advanced 1-D Gridded Designs Zhi-Wen Lin and Yao-Wen Chang National Taiwan University.
Placement and Routing Algorithms. 2 FPGA Placement & Routing.
Modelling and Solving Configuration Problems on Business
VLSI Physical Design Automation
Surviving Holes and Barriers in Geographic Data Reporting for
2 University of California, Los Angeles
Iterative Deletion Routing Algorithm
Instructor: Shengyu Zhang
Routing Algorithms.
EE4271 VLSI Design, Fall 2016 VLSI Channel Routing.
Minimax strategies, alpha beta pruning
ICS 252 Introduction to Computer Design
Minimax strategies, alpha beta pruning
Communication Driven Remapping of Processing Element (PE) in Fault-tolerant NoC-based MPSoCs Chia-Ling Chen, Yen-Hao Chen and TingTing Hwang Department.
Presentation transcript:

Under a Concurrent and Hierarchical Scheme MARCH: MAze Routing Under a Concurrent and Hierarchical Scheme for Buses Speaker: Jingsong Chen Authors: Jingsong Chen, Ph.D. student, CSE, CUHK Jinwei Liu, Ph.D. student, CSE, CUHK Gengjie Chen, Ph.D. student, CSE, CUHK Dan Zheng, Ph.D. student, CSE, CUHK Evangeline F. Y. Young, Professor, CSE, CUHK

Outline Problem Formulation Our Methodology: MARCH Experimental Results Conclusion

Outline Problem Formulation Our Methodology: MARCH Experimental Results Conclusion

Problem Formulation Input: A set of routing layers With preferred track direction for each layer With min spacing constraint for each layer With design boundary for each layer With a set of obstacles for each layer A set of routing tracks With wire width constraint for each track A set of buses With a set of bits to be routed on tracks for each bus With width constraint for each layer for each bus With pin shapes for each bit in a bus Pin 0 Pin 1 Obstacles L2 Track L1 A toy case* *This case comes from the slides “ICCAD 2018 CAD Contest Problem B Summary” (link: http://iccad-contest.org/2018/)

Problem Formulation Output: A set of on-track wires and vias that connect pins for all buses The bits in the same bus must share the exactly same topology Pin 0 Pin 1 L2 Wire Via L1 A toy case* *This case comes from the slides “ICCAD 2018 CAD Contest Problem B Summary” (link: http://iccad-contest.org/2018/)

Problem Formulation Evaluation rule: Overall cost consists of routing cost and penalty cost Routing cost is the summation of : Wire length cost: shorter -> better Segment cost: less -> better Compactness cost: more compact -> better Better Worse Wire length Segment number Compactness Routing cases* *These cases come from the slides “ICCAD 2018 CAD Contest Problem B Summary” (link: http://iccad-contest.org/2018/)

Four types of topology inconsistency Problem Formulation p1 p2 L1 S1 O1 ≥ Evaluation rule: Overall cost consists of routing cost and penalty cost Penalty cost is the summation of: Spacing violation penalty Routing failure penalty Wire off-track Track width violation Bit open Topology inconsistency Spacing constraint* 2 1 M1 M2 M3 3 Four types of topology inconsistency *This figure comes from the slides “ICCAD 2018 CAD Contest Problem B Summary” (link: http://iccad-contest.org/2018/)

Outline Problem Formulation Our Methodology: MARCH Experimental Results Conclusion

Our Methodology: MARCH If routing bit by bit: Advantage: traditional routing methods can be applied naturally. Disadvantage: topology consistency can hardly be maintained in a relatively complex routing environment. Pin Obstacle M1 Track M2 Track Wire

Our Methodology: MARCH Two key features of MARCH: Hierarchically: a topology-aware path planning (coarse-grained) and a track assignment for bits (fine-grained). EFFICIENCY Concurrently: route all the bits in a bus concurrently. CORRECT-BY-CONSTRUCTION

Our Methodology: MARCH Data Structures: Bus-based Grid Graph (BGG): A multilayer grid graph with uniform grid cells (G-cells) A row of G-cells, named frontline, is the propagation unit in routing process. Each edge stores edge capacity for the bus and history cost. Track occupancy of each track: Record the positions of the track segments which cannot be used since: Occupied by obstacles Occupied by the routed wires of the other buses frontline e1 e2 e3 e5 e4 e6 spacing constraint t1 t2 t3 t4 t5 Track Occupied by Obstacle Edge Obstacle Routed Wire Occupied by Routed Wire Track occupancy of t1

Our Methodology: MARCH Initialization Bus-based Grid Graph (BGG) Update Topology-aware Path Planning (TAP) Evaluation & Best Solution Update Need Rip-up and Reroute (RR)? Final Solution Y N Obstacle Info Track Info Bus Info Track Assignment for Bits (TAB) Track Occupancy Update All Buses Routed? The overall flow of MARCH: Initialization Construct a BGG with empty edge capacities Inner loop for each bus b: Update the BGG for b: Edge capacities meeting width constraint Pin locations Generate a routing path consisting of a set of rectangular regions in topology-aware path planning (TAP) Assign the track segments to the bits within each rectangular region in track assignment for bits (TAB) Update the track occupancies of all the tracks by the routed b Outer loop for rip-up and reroute (RR): Add history cost to the edge of BGG Enlarge the frontline size

Our Methodology: MARCH Pin 0 Topology-aware Path Planning (TAP): Same layer propagation Layer switching Build routing paths for multi-pin buses frontline F1 Pin 2 Pin 1

Our Methodology: MARCH frontline F2 Pin 0 Topology-aware Path Planning (TAP): Same layer propagation: Propagate the frontline along the track direction (F1 -> F2) Generate a TAP region (T1) Maintain running capacity which will only decrease when some tracks are broken midway TAP region T1 frontline F1 Pin 2 Pin 1 F2 T1 F1 running capacity F1 -> F2 (3, 2) -> (2, 1)

Our Methodology: MARCH frontline F2 Pin 0 frontline F3 Topology-aware Path Planning (TAP): Layer switching: Go from one layer to its upper layer or lower layer (F2 on L3 -> F3 on L2) through a switching node node N3 L3 L2 Pin 2 Pin 1 L1

Our Methodology: MARCH Topology-aware Path Planning (TAP): Layer switching: Go from one layer to its upper layer or lower layer (F2 on L3 -> F3 on L2) Compute the max number of bits that can pass through the node Without any bottleneck edge: trivial With bottleneck edge(s): With bit order unchanged: Solved by a greedy method With bit order changed: Solved by the right recursive algorithm The efficiency can be guaranteed by pruning

Our Methodology: MARCH Pin 0 Topology-aware Path Planning (TAP): Build routing paths for multi-pin buses: Find the path between the source pin and one of the sink pins through the propagation from the source pin Start the propagation from the current path to connect to the next pin Repeat this process until all the pins are connected TAP region T1 Pin 2 Pin 1 TAP region T2 TAP region T3 Pin 0 Pin 1

Our Methodology: MARCH Track Assignment for Bits (TAB) Track segment range estimation: By determining the column/row of G-cells where the bit will be routed Estimated Track Segment Range TAP Region on L1 Actual Routed Wires Segment TAP Region on L2 Obstacle on M2 Occupied by Obstacle T3 bit4 bit3 T2 bit2 bit1 T1

Our Methodology: MARCH Track Assignment for Bits (TAB) Track segment range estimation: By determining the column/row of G-cells where the bit will be routed Exact track selection: Three conditions: Satisfy the width constraint Have long enough track segment With as less as possible spacing violations Estimated Track Segment Range TAP Region on L1 Actual Routed Wires Segment TAP Region on L2 Obstacle on M2 Occupied by Obstacle T3 t7 bit4 t6 bit3 t5 T2 bit2 t4 t3 t2 t1 bit1 T1

Our Methodology: MARCH Track Assignment for Bits (TAB) Track segment range estimation: By determining the column/row of G-cells where the bit will be routed Exact track selection: Three conditions: Satisfy the width constraint Have long enough track segment With less spacing violations Exact track segment range assignment See the actual routed wires Estimated Track Segment Range TAP Region on L1 Actual Routed Wires Segment TAP Region on L2 Obstacle on M2 Occupied by Obstacle T3 t7 bit4 t6 bit3 t5 T2 bit2 t4 t3 t2 t1 bit1 T1

Our Methodology: MARCH Rip-up and Reroute Scheme (RR): Add history cost to the edge of BGG: To eliminate the congested regions on the BGG hnew = α · nvio + β · hold where nvio is the number of spacing violations on the edge, and α and β are weights. Enlarge the frontline size: To handle the insufficiency of violation-free routing resources Enlarge the frontline size of the bus by 1 on the layer where: The number of spacing violations in a TAP region is larger than the bit number in 2 successive RR iterations.

Outline Problem Formulation Our Methodology: MARCH Experimental Results Conclusion

Experimental Results Characteristics Metric Weights bus no. net no. layer no. track no. wwire wseg wcom wspace wfail beta1 34 1260 3 49209 5 1 8 2000 beta2 26 1262 beta3 60 665 22732 12 4 beta4 62 698 beta5 6 1964 54150 final1 18 1032 81226 10 final2 70 1285 14209 final3 47 852 21379

Experimental Results First Place Second Place Third Place MARCH Croute Cspace Cfail Ctotal Time (s) beta1 689 280 969 3600 701 5096 5797 - 641 8744 4000 13385 765 50 beta2 515 760 1275 563 4904 5467 484 9472 2000 11956 578 9 beta3 1936 71 2024 1999 1928 3927 1942 72 beta4 2192 64 2271 2250 1048 3298 2165 39 beta5 119 1848 1967 95 616 2711 98 1216 3314 118 1966 12 final1 327 830 3157 3317 367 2750 5117 252 10000 10252 356 840 1196 352 final2 1824 4500 8000 14324 1890 2990 12880 1976 6910 8886 2071 1480 3551 199 final3 2966 490 13456 2678 300 4978 4238 20 24000 28258 3313 150 3463 133 Avg. Ratio 2.130 105.45 3.731 7.832 1.000 *The scores of top 3 teams of IC/CAD 2018 contest are provided by the contest organizer. A binary is also obtained from the first place to get its runtime information.

Outline Problem Formulation Our Methodology: MARCH Experimental Results Conclusion

Conclusion We propose MARCH for bus routing: Have a hierarchical framework (TAP & TAB) for efficiency Route all the bits of a bus concurrently for topology consistency Apply a RR scheme to reduce the routing congestion Performance compared with the top contest teams Reduce spacing violations greatly Avoid any routing failure Have competitive routing costs Have a much shorter runtime

Thank you for attention!

Q & A