320 likes | 467 Views
Paper: A Unified Theory of Timing Budget Management. Presented by: Hangcheng Lou Original Authors: Soheil Ghiasi, Elaheh Bozorgzadeh, Siddharth Choudhuri, Majid Sarrafzadeh. EECS 527 Paper Presentation. Outlines Introduction Problem formulation Solution and algorithm
E N D
Paper: A Unified Theory of Timing Budget Management Presented by: Hangcheng Lou Original Authors: Soheil Ghiasi, Elaheh Bozorgzadeh, Siddharth Choudhuri, Majid Sarrafzadeh
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
Introduction • Introduction • Problem Formulation • Solution and Algorithm • Extension to other budget policies • Experimental Results • Timing budgeting versus Path-based placement • Delay and placement dilemma • Efficiency and performance • Previous solutions • Zero slack algorithm
Zero-Slack Algorithm Example I1 2 I2 4 O1 6 I3 3 O2 0 I4 • Introduction • Problem Formulation • Solution and Algorithm • Extension to other budget policies • Experimental Results • Example: Use the zero-slack algorithm to distribute slack • Format: <AAT, Slack, RAT>, [timing budget] O1: <13,4,17> O2: <6,8,14> [0] <1,4,5> [0] <3,4,7> [0] <0,5,5> [0] <7,4,11> [0] <13,4,17> [0] <1,6,7> [0] <6,8,14> [0] <6,5,11> [0] <3,5,8>
Zero-Slack Algorithm Example • Introduction • Problem Formulation • Solution and Algorithm • Extension to other budget policies • Experimental Results • Example: Use the zero-slack algorithm to distribute slack • Format: <AAT, Slack, RAT>, [timing budget] • Find the path with the minimum slack O1: <13,4,17> O2: <6,8,14> [0] <1,4,5> [0] <3,4,7> I1 2 I2 [0] <0,5,5> [0] <7,4,11> [0] <13,4,17> 4 O1 6 I3 [0] <1,6,7> [0] <6,8,14> 3 O2 0 I4 [0] <6,5,11> [0] <3,5,8>
Zero-Slack Algorithm Example • Introduction • Problem Formulation • Solution and Algorithm • Extension to other budget policies • Experimental Results • Example: Use the zero-slack algorithm to distribute slack • Format: <AAT, Slack, RAT>, [timing budget] • Find the path with the minimum slack • Distribute the slacks and update the timing budgets O1: <17,0,17> O2: <6,8,14> [1] <1,0,1> [1] <4,0,4> I1 2 I2 [0] <0,2,2> [1] <9,0,9> [1] <16,0,16> 4 O1 6 I3 [0] <1,4,5> [0] <6,8,14> 3 O2 0 I4 [0] <6,4,10> [0] <3,4,7>
Zero-Slack Algorithm Example • Introduction • Problem Formulation • Solution and Algorithm • Extension to other budget policies • Experimental Results • Example: Use the zero-slack algorithm to distribute slack • Format: <AAT, Slack, RAT>, [timing budget] • Find the path with the minimum slack • Distribute the slacks and update the timing budgets O1: <17,0,17> O2: <6,8,14> [1] <1,0,1> [1] <4,0,4> I1 2 I2 [2] <0,0,0> [1] <9,0,9> [1] <16,0,16> 4 O1 6 I3 [0] <1,4,5> [0] <6,8,14> 3 O2 0 I4 [0] <6,4,10> [0] <3,4,7>
Zero-Slack Algorithm Example • Introduction • Problem Formulation • Solution and Algorithm • Extension to other budget policies • Experimental Results • Example: Use the zero-slack algorithm to distribute slack • Format: <AAT, Slack, RAT>, [timing budget] • Find the path with the minimum slack • Distribute the slacks and update the timing budgets O1: <17,0,17> O2: <6,8,14> [1] <1,0,1> [1] <4,0,4> I1 2 I2 [2] <0,0,0> [1] <9,0,9> [1] <16,0,16> 4 O1 6 I3 [2] <1,2,3> [0] <6,8,14> 3 O2 0 I4 [2] <6,2,8> [0] <3,2,5>
Zero-Slack Algorithm Example • Introduction • Problem Formulation • Solution and Algorithm • Extension to other budget policies • Experimental Results • Example: Use the zero-slack algorithm to distribute slack • Format: <AAT, Slack, RAT>, [timing budget] • Find the path with the minimum slack • Distribute the slacks and update the timing budgets O1: <17,0,17> O2: <10,4,14> [1] <1,0,1> [1] <4,0,4> I1 2 I2 [2] <0,0,0> [1] <9,0,9> [1] <16,0,16> 4 O1 6 I3 [3] <1,0,1> [0] <10,4,14> 3 O2 0 I4 [3] <7,0,7> [0] <3,1,4>
Zero-Slack Algorithm Example • Introduction • Problem Formulation • Solution and Algorithm • Extension to other budget policies • Experimental Results • Example: Use the zero-slack algorithm to distribute slack • Format: <AAT, Slack, RAT>, [timing budget] • Find the path with the minimum slack • Distribute the slacks and update the timing budgets O1: <17,0,17> O2: <10,4,14> [1] <1,0,1> [1] <4,0,4> I1 2 I2 [2] <0,0,0> [1] <9,0,9> [1] <16,0,16> 4 O1 6 I3 [3] <1,0,1> [4] <10,4,14> 3 O2 0 I4 [3] <7,0,7> [1] <3,0,3>
Zero-Slack Algorithm Example • Introduction • Problem Formulation • Solution and Algorithm • Extension to other budget policies • Experimental Results • Example: Use the zero-slack algorithm to distribute slack • Format: <AAT, Slack, RAT>, [timing budget] • Find the path with the minimum slack • Distribute the slacks and update the timing budgets O1: <17,0,17> O2: <10,0,10> [1] <1,0,1> [1] <4,0,4> I1 2 I2 [2] <0,0,0> [1] <9,0,9> [1] <16,0,16> 4 O1 6 I3 [3] <1,0,1> [4] <10,0,10> 3 O2 0 I4 [3] <7,0,7> [1] <3,0,3>
Problem Formulation • Introduction • Problem Formulation • Solution and Algorithm • Extension to other budget policies • Experimental Results • Formulation by linear programming model • (1) • (2) • (3) • dij is the delay and bij is the budget • T is the timing constraint, largest delay • DAG G(V,E) model the delay for nodes • Goal: • Maximize where b denotes the budget on edge eij.
Problem Formulation • Introduction • Problem Formulation • Solution and Algorithm • Extension to other budget policies • Experimental Results • Linear Programming Example
Problem Formulation • Introduction • Problem Formulation • Solution and Algorithm • Extension to other budget policies • Experimental Results • Formulation by linear programming model • (1) • (2) • (3) • dij is the delay and bij is the budget • T is the timing constraint, largest delay • rij is defined to be the required timing constraint • Define flow supply:
Solution and Algorithm • Introduction • Problem Formulation • Solution and Algorithm • Extension to other budget policies • Experimental Results Dual Problem • Basic idea: Maximize the budgets, transform the problem
Solution and Algorithm • Introduction • Problem Formulation • Solution and Algorithm • Extension to other budget policies • Experimental Results Dual Problem • Duality
Solution and Algorithm • Introduction • Problem Formulation • Solution and Algorithm • Extension to other budget policies • Experimental Results Primal: Max z = 2x1+x2, x1+x2 ≤ 4, x1-x2 ≤ 2, x1 ≥ 0, x2 ≥ 0. Dual: Min v = 4y1+2y2, y1+y2 ≥ 2, y1-y2 ≥ 1, x1 ≥ 0, x2 ≥ 0. • Duality example • Constaint Variable • Variable Constraint
Solution and Algorithm • Introduction • Problem Formulation • Solution and Algorithm • Extension to other budget policies • Experimental Results Source:http://www.math.kth.se/~sasane/SF1811/L6/L6ENG.pdf • Min-cost flow problem
Solution and Algorithm • Introduction • Problem Formulation • Solution and Algorithm • Extension to other budget policies • Experimental Results • Min-cost flow problem Source:http://www.math.kth.se/~sasane/SF1811/L6/L6ENG.pdf
Solution and Algorithm • Introduction • Problem Formulation • Solution and Algorithm • Extension to other budget policies • Experimental Results • Example
Solution and Algorithm • Introduction • Problem Formulation • Solution and Algorithm • Extension to other budget policies • Experimental Results • Algorithm summary
Extension to other budget policies • Introduction • Problem Formulation • Solution and Algorithm • Extension to other budget policies • Experimental Results • Solution: define new to transform again • Weighted budget distribution • Introduce the weight for different net
Extension to other budget policies • Introduction • Problem Formulation • Solution and Algorithm • Extension to other budget policies • Experimental Results • Solution: define backward flow • Bounded budget distribution • Upper bound is applied to the delay of edge
Extension to other budget policies • Introduction • Problem Formulation • Solution and Algorithm • Extension to other budget policies • Experimental Results • Bounded budget distribution • Example: • nodes a and e --- upper bound =3 • Rest of nodes –- upper bound = 4
Extension to other budget policies • Introduction • Problem Formulation • Solution and Algorithm • Extension to other budget policies • Experimental Results • Min-Max budget distribution • Goal: minimizing the maximum budget • minimize the budget skew • Solution: binary search on the budget upper bounds
Experimental Results • Introduction • Problem Formulation • Solution and Algorithm • Extension to other budget policies • Experimental Results • Environment • Xilinx synthesis
Experimental Results • Introduction • Problem Formulation • Solution and Algorithm • Extension to other budget policies • Experimental Results • Result
Experimental Results • Introduction • Problem Formulation • Solution and Algorithm • Extension to other budget policies • Experimental Results • Result • Area and runtime • Improve Slice 25.8% on average • Improve LUT counts 28.7% on average