Download presentation

Presentation is loading. Please wait.

Published byTerrell Humbles Modified over 3 years ago

1
courseware Integer Linear Programming approach to Scheduling Sune Fallgaard Nielsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads, Building 322 DK2800 Lyngby, Denmark

2
SoC-MOBINET courseware[M-1] High-Level Synthesis2 Outline Introduction - The new approach & objective - Automated data path synthesis ILP Formulation Example Generalizations Experimental Results Conclusion

3
SoC-MOBINET courseware[M-1] High-Level Synthesis3 The New Approach Solve scheduling problem 1) ASAP -> start time 2) ALAP -> require time 3) ILP (Integer Linear Programming)

4
SoC-MOBINET courseware[M-1] High-Level Synthesis4 Objective Fully utilize the hardware resources i.e. minimize the requirement of function units under a given timing constraint

5
SoC-MOBINET courseware[M-1] High-Level Synthesis5 Support different kinds of data path Multicycle operations Multiple operations per cycle Pipelined data paths Mutually exclusive operations Variables’ lifetime consideration

6
SoC-MOBINET courseware[M-1] High-Level Synthesis6 Automated Data Path Synthesis Scheduling Allocation Tightly interdependent

7
SoC-MOBINET courseware[M-1] High-Level Synthesis7 Scheduling ** very important FIX 1) number & types of function units 2) lifetime of variables 3) timing constraints

8
SoC-MOBINET courseware[M-1] High-Level Synthesis8 The New Approach 1) ASAP 2) ALAP 3) ILP (Integer Linear Programming) Function Units: Fully utilized minimize maximal no.

9
SoC-MOBINET courseware[M-1] High-Level Synthesis9 The ILP Formulation 2 Assumptions: Each operation – 1 cycle propagation delay Consider non-pipelined data path

10
SoC-MOBINET courseware[M-1] High-Level Synthesis10 Data Flow Graph n operations s steps o i – each operation 1 ≤ i ≤ n o i o j – precedence relation o i immediate predecessor of o j m types of function units

11
SoC-MOBINET courseware[M-1] High-Level Synthesis11 S i – start time (ASAP) L i – require time (ALAP) C t i – cost of function unit of type t i (FU t i ) M t i – number of function unit of type t i x i,j – 1: if o i is scheduled into step j 0: otherwise

12
SoC-MOBINET courseware[M-1] High-Level Synthesis12 Formulas (1,2) Minimize total function unit cost O i Є FU t k for 1 ≤ j ≤ s, 1 ≤ k ≤ m No control step should contain more than M t k function unit of type t k

13
SoC-MOBINET courseware[M-1] High-Level Synthesis13 Formulas (3,4) o i can only be scheduled into a step between S i & L i for all o i o k for 1 ≤ i ≤ n Ensure the precedence relations of DFG will be preserved

14
SoC-MOBINET courseware[M-1] High-Level Synthesis14 Example Available function units: ~ multipliers (FU t 1 ) ~ ALUs (FU t 2 ) Cost: ~ C t 1 = 5 ~ C t 2 = 1

15
SoC-MOBINET courseware[M-1] High-Level Synthesis15 Example Integer programming formulation (formulas 1,2) minimize 5Mt 1 + Mt 2 O i Є FU t k

16
SoC-MOBINET courseware[M-1] High-Level Synthesis16 Example Integer programming formulation (formulas 3,4) O 6 O 7 O 8 O 9 O 10 O 11

17
SoC-MOBINET courseware[M-1] High-Level Synthesis17 Example Scheduling result -- optimal this formulation variables x 1,1, x 2,1, x 3,2, x 4,3, x 5,4, x 7,3, x 8,3, x 9,4, x 10,1 & x 11,2 => 1 2 multipliers & 2 ALUs

18
SoC-MOBINET courseware[M-1] High-Level Synthesis18 Generalizations Multicycle operations Multiple operations per cycle Pipelined data paths Mutually exclusive operations Variables’ lifetime consideration

19
SoC-MOBINET courseware[M-1] High-Level Synthesis19 Multicycle Operations o i – operation d i – delay for 1 ≤ j ≤ s, 1 ≤ k ≤ m for all o i o k - d i

20
SoC-MOBINET courseware[M-1] High-Level Synthesis20 Multiple Operations per Cycle New precedence relation oi => oj -- oj is the nearest successor of oi for all o i => o k for all o i o k 0

21
SoC-MOBINET courseware[M-1] High-Level Synthesis21 Pipelined Data Paths l: fixed latency (integer multiple of a clock cycle) | s i – s j |: integer multiple of l

22
SoC-MOBINET courseware[M-1] High-Level Synthesis22 Mutually Exclusive Operations If o i, o j – two mutually exclusive operations,X(o i, o j ) = 1 otherwise X(o i, o j ) = 0 Both scheduled in control step k Count function unit cost as 1, not 2 New 0/1 integer variable y k -- 0 if x i,k = x j,k = 0 -- 1 if otherwise x i,k + x j,k = y k in constraint (2)

23
SoC-MOBINET courseware[M-1] High-Level Synthesis23 Variables’ Lifetime Consideration Function unit cost for both schedules are the same, but fewer number of registers needed in Fig(a)

24
SoC-MOBINET courseware[M-1] High-Level Synthesis24 Variables’ Lifetime Consideration SLK i,j – difference between the assigned control steps of o i, o j (o i o j ) Minimize total step differences minimize

25
SoC-MOBINET courseware[M-1] High-Level Synthesis25 Experimental Results

26
SoC-MOBINET courseware[M-1] High-Level Synthesis26 Experimental Results Fifth order wave filter Containing 26 addition (1 cycle) & 8 multiplication (2 cycles) operations

27
SoC-MOBINET courseware[M-1] High-Level Synthesis27 Conclusion Integer Linear Programming formulation (ILP) minimize the function unit cost Quite acceptable for practical synthesis Always find the optimal solution Different kinds of data path are taken into account

28
courseware THE END Thanks

Similar presentations

OK

Pipelining and Retiming 1 Pipelining Adding registers along a path split combinational logic into multiple cycles increase clock rate increase.

Pipelining and Retiming 1 Pipelining Adding registers along a path split combinational logic into multiple cycles increase clock rate increase.

© 2019 SlidePlayer.com Inc.

All rights reserved.

Ads by Google