Layer Assignment Algorithm for RLC Crosstalk Minimization Bin Liu, Yici Cai, Qiang Zhou, Xianlong Hong Tsinghua University
Outline Motivation and Objective Motivation and Objective Crosstalk Cost Estimation Algorithm Description Experimental Results Conclusion
Motivations Crosstalk is becoming a vital factor in high performance designs. Crosstalk consideration in early design stages is necessary. Appropriate method to evaluate the crosstalk cost is needed for early crosstalk avoidance and mitigation.
Motivations Layer assignment is an ideal step to address crosstalk. Global routing: flexible but inaccurate Detailed routing: accurate but lacks flexibility As an intermediate stage, layer assignment combines accuracy and flexibility
Objective Minimize RLC crosstalk risk in layer assignment. Minimize congestion in each layer. Cooperate with further crosstalk mitigation techniques like shield insertion.
Outline Motivation and Objective Crosstalk Cost Estimation Crosstalk Cost Estimation Algorithm Description Experimental Results Conclusion
Noise Budgeting Assumption : Noises on each segment of a wire are independent on each other. Given the noise constraint at a sink, we can distribute the noise onto each segment along the net according to segment length.
Cost Function Basically, on one GRC Edge So the cost of crosstalk on one GRC is
Further Explanation From another perspective: The same noise voltage on longer nets is more dangerous, the severity is proportional to the length Severity is inversely proportional to the constraint So, we use as a weight factor of noise
Noise Calculation Various noise models with different considerations can be used. Capacitive and Inductive Statistically, the noise voltage is approximately proportional to the congestion of sensitive nets
Outline Motivation and Objective Crosstalk Cost Estimation Algorithm Description Algorithm Description Experimental Results Conclusion
Problem Formulation Given: Number of layers The GRC’s that a net passes Noise constraint at each sink Sensitive matrix Routing resources on each layer Output: Layer pair for each net
Problem Formulation Optimize Crosstalk cost Congestion Congestion should be even at each layer Including the shields to be inserted
Algorithm Flow 2-phase Algorithm Initial solution Assign the nets according to the weight Among all possible assignment, the least-cost solution is adopted Optimize using simulated annealing
Algorithm Flow Repeat Ei is the unprocessed GRG-Edge with max W(e) Repeat Nj is the unassigned net on Ei with max W(Nj) For For all layer pairs Assuming Nj is assigned to current layer pair Calculate global cost End for Assign Nj to the layer pair with min global cost Update the congestion of the layer pair Until Until all nets that pass Ei has been assigned Until Until all GRG-Edges has been processed Optimize the solution with simulated annealing Output final solution
Strategies Areas with larger congestion should take priority Nets with higher sensitive rate should take priority Nets with lower noise tolerance should take priority Longer nets should take priority
Outline Motivation and Objective Crosstalk Cost Estimation Algorithm Description Experimental Results Experimental Results Conclusion
Experimental Results Industry instance, IBM benchmark Compared to a previous layer assignment work in ASICON’03 Max coupling length of a net Congestion
Experimental Results max congestion ratio, ours /pre Sens Rate 20%30%40%50% Gdc 0.875/ / / / 0.8 mibm / / / / 0.45 mibm / / / / 0.67 mibm / / / / 0.56 mibm / / / / 0.57 mibm / / / / 0.57 max coupling length, ours/pre Sens Rate 20%30%40%50% Gdc 52/ 99 73/ / / 182 mibm0 1 74/ / / /240 mibm0 2 26/ 48 29/ 67 50/ 95 74/ 118 mibm0 7 32/ 54 62/ 67 78/ / 213 mibm0 8 55/ 79 73/ / / 233 mibm1 0 91/ / / / 340
Outline Motivation and Objective Crosstalk Cost Estimation Algorithm Description Experimental Results Conclusion Conclusion
Conclusion Crosstalk control in layer assignment is necessary and effective. With consideration of net length, we could prevent longer nets suffer too much noise. Successive work could combine layer assignment with track assignment, wire sizing/spacing to achieve better results. This work is on going.
Thanks.