© KLMH Lienig Paper: A Unified Theory of Timing Budget Management Presented by: Hangcheng Lou Original Authors: Soheil Ghiasi, Elaheh Bozorgzadeh, Siddharth Choudhuri, Majid Sarrafzadeh 1
© KLMH Lienig EECS 527 Paper Presentation Outlines Introduction Problem formulation Solution and algorithm Equivalent formulations Optimal algorithm Extension to other budget policies Weighted budget distribution Bounded budget distribution Min-Max budget distribution Experimental results Q & A 2
© KLMH Lienig Timing budgeting versus Path-based placement Delay and placement dilemma Efficiency and performance Previous solutions Zero slack algorithm 3 Introduction Problem Formulation Solution and Algorithm Extension to other budget policies Experimental Results
© KLMH Lienig Zero-Slack Algorithm Example 4 Example: Use the zero-slack algorithm to distribute slack Format:, [timing budget] I1I1 I2I2 I3I3 I4I4 O1O1 O2O2 [0] [0] [0] [0] [0] [0] [0] [0] O 1 : O 2 : Introduction Problem Formulation Solution and Algorithm Extension to other budget policies Experimental Results
© KLMH Lienig Zero-Slack Algorithm Example 5 Example: Use the zero-slack algorithm to distribute slack Format:, [timing budget] Find the path with the minimum slack 3 0 I1I1 I2I2 I3I3 I4I4 O1O1 O2O2 [0] [0] [0] [0] [0] [0] [0] [0] O 1 : O 2 : Introduction Problem Formulation Solution and Algorithm Extension to other budget policies Experimental Results
© KLMH Lienig Zero-Slack Algorithm Example 6 Example: Use the zero-slack algorithm to distribute slack Format:, [timing budget] Find the path with the minimum slack Distribute the slacks and update the timing budgets 3 0 I1I1 I2I2 I3I3 I4I4 O1O1 O2O2 [1][1] [0] <4,0,4><4,0,4> [1][1] <9,0,9><9,0,9> [1][1] [0] [0] [0] [1][1] [0] O 1 : O 2 : Introduction Problem Formulation Solution and Algorithm Extension to other budget policies Experimental Results
© KLMH Lienig Zero-Slack Algorithm Example 7 Example: Use the zero-slack algorithm to distribute slack Format:, [timing budget] Find the path with the minimum slack Distribute the slacks and update the timing budgets 3 0 I1I1 I2I2 I3I3 I4I4 O1O1 O2O2 [1] [2][2] [1] [1] [0] [0] [0] [1] [0] O 1 : O 2 : Introduction Problem Formulation Solution and Algorithm Extension to other budget policies Experimental Results
© KLMH Lienig Zero-Slack Algorithm Example 8 Example: Use the zero-slack algorithm to distribute slack Format:, [timing budget] Find the path with the minimum slack Distribute the slacks and update the timing budgets 3 0 I1I1 I2I2 I3I3 I4I4 O1O1 O2O2 [1] [2] [1] [1] [2][2] [0] [2][2] [1] [0] O 1 : O 2 : Introduction Problem Formulation Solution and Algorithm Extension to other budget policies Experimental Results
© KLMH Lienig Zero-Slack Algorithm Example 9 Example: Use the zero-slack algorithm to distribute slack Format:, [timing budget] Find the path with the minimum slack Distribute the slacks and update the timing budgets 3 0 I1I1 I2I2 I3I3 I4I4 O1O1 O2O2 [1] [2] [1] [1] [3][3] [0] <7,0,7><7,0,7> [3][3] [1] [0] O 1 : O 2 : Introduction Problem Formulation Solution and Algorithm Extension to other budget policies Experimental Results
© KLMH Lienig Zero-Slack Algorithm Example 10 Example: Use the zero-slack algorithm to distribute slack Format:, [timing budget] Find the path with the minimum slack Distribute the slacks and update the timing budgets 3 0 I1I1 I2I2 I3I3 I4I4 O1O1 O2O2 [1] [2] [1] [1] [3] [1][1] [3] [1] [4][4] O 1 : O 2 : Introduction Problem Formulation Solution and Algorithm Extension to other budget policies Experimental Results
© KLMH Lienig Zero-Slack Algorithm Example 11 Example: Use the zero-slack algorithm to distribute slack Format:, [timing budget] Find the path with the minimum slack Distribute the slacks and update the timing budgets 3 0 I1I1 I2I2 I3I3 I4I4 O1O1 O2O2 [1] [2] [1] [1] [3] [1] [3] [1] [4][4] O 1 : O 2 : Introduction Problem Formulation Solution and Algorithm Extension to other budget policies Experimental Results
© KLMH Lienig DAG G(V,E) model the delay for nodes Goal: Maximize where b denotes the budget on edge e ij. 12 Problem Formulation Formulation by linear programming model (1) (2) (3) d ij is the delay and b ij is the budget T is the timing constraint, largest delay Introduction Problem Formulation Solution and Algorithm Extension to other budget policies Experimental Results
© KLMH Lienig Linear Programming Example 13 Problem Formulation Introduction Problem Formulation Solution and Algorithm Extension to other budget policies Experimental Results
© KLMH Lienig 14 Problem Formulation Formulation by linear programming model (1) (2) (3) d ij is the delay and b ij is the budget T is the timing constraint, largest delay r ij is defined to be the required timing constraint Define flow supply: Introduction Problem Formulation Solution and Algorithm Extension to other budget policies Experimental Results
© KLMH Lienig Basic idea: Maximize the budgets, transform the problem 15 Solution and Algorithm Dual Problem Introduction Problem Formulation Solution and Algorithm Extension to other budget policies Experimental Results
© KLMH Lienig Duality 16 Solution and Algorithm Dual Problem Primal (Maximize)Dual (Minimize) i th constraint ≤i th variable ≥ 0 i th constraint ≥i th variable ≤ 0 i th constraint =i th variable unrestricted j th variable ≥ 0j th constraint ≥ j th variable ≤ 0 j th constraint ≤ j th variable unrestrictedj th constraint = Introduction Problem Formulation Solution and Algorithm Extension to other budget policies Experimental Results
© KLMH Lienig Duality example Constaint Variable Variable Constraint 17 Solution and Algorithm Primal: Max z = 2x 1 +x 2, x 1 +x 2 ≤ 4, x 1 -x 2 ≤ 2, x 1 ≥ 0, x 2 ≥ 0. Dual: Min v = 4y 1 +2y 2, y 1 +y 2 ≥ 2, y 1 -y 2 ≥ 1, x 1 ≥ 0, x 2 ≥ 0. Introduction Problem Formulation Solution and Algorithm Extension to other budget policies Experimental Results Primal (Maximize)Dual (Minimize) i th constraint ≤i th variable ≥ 0 i th constraint ≥i th variable ≤ 0 i th constraint =i th variable unrestricted j th variable ≥ 0j th constraint ≥ j th variable ≤ 0 j th constraint ≤ j th variable unrestrictedj th constraint =
© KLMH Lienig Min-cost flow problem 18 Solution and Algorithm Source: Introduction Problem Formulation Solution and Algorithm Extension to other budget policies Experimental Results
© KLMH Lienig 19 Solution and Algorithm Source: Introduction Problem Formulation Solution and Algorithm Extension to other budget policies Experimental Results Min-cost flow problem
© KLMH Lienig Example 20 Solution and Algorithm Introduction Problem Formulation Solution and Algorithm Extension to other budget policies Experimental Results
© KLMH Lienig Algorithm summary 21 Solution and Algorithm Introduction Problem Formulation Solution and Algorithm Extension to other budget policies Experimental Results
© KLMH Lienig Weighted budget distribution Introduce the weight for different net 22 Extension to other budget policies Solution: define new to transform again Introduction Problem Formulation Solution and Algorithm Extension to other budget policies Experimental Results
© KLMH Lienig Bounded budget distribution Upper bound is applied to the delay of edge 23 Extension to other budget policies Solution: define backward flow Introduction Problem Formulation Solution and Algorithm Extension to other budget policies Experimental Results
© KLMH Lienig Bounded budget distribution Example: nodes a and e --- upper bound =3 Rest of nodes –- upper bound = 4 24 Extension to other budget policies Introduction Problem Formulation Solution and Algorithm Extension to other budget policies Experimental Results
© KLMH Lienig Min-Max budget distribution Goal: minimizing the maximum budget minimize the budget skew Solution: binary search on the budget upper bounds 25 Extension to other budget policies Introduction Problem Formulation Solution and Algorithm Extension to other budget policies Experimental Results
© KLMH Lienig Experimental Results Environment Xilinx synthesis Introduction Problem Formulation Solution and Algorithm Extension to other budget policies Experimental Results
© KLMH Lienig Experimental Results Result 27 Introduction Problem Formulation Solution and Algorithm Extension to other budget policies Experimental Results
© KLMH Lienig Experimental Results Result Area and runtime Improve Slice 25.8% on average Improve LUT counts 28.7% on average 28 Introduction Problem Formulation Solution and Algorithm Extension to other budget policies Experimental Results
© KLMH Lienig Q&A 29