Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

ECE 695R:

SYSTEM-ON-CHIP DESIGN
Module 3: Behavioral Synthesis
Lecture 3.10: Path-based Scheduling II

Anand Raghunathan
raghunathan@purdue.edu
Fall 2014, ME 1052, T Th 12:00PM-1:15PM
ECE 695R: System-on-Chip Design, Fall 2014 © 2013 Anand Raghunathan 1
Path-based Scheduling: Steps

• Four major steps in AFAP scheduling


1. Transform the control-flow graph into a DAG and keep
track of the loops
2. All paths in the DAG are scheduled AFAP independently
3. The schedules of step 2) are merged in a way that
minimizes the number of control states
4. The merged schedule is used to generate a finite state
machine with operations in each state

ECE 695R: System-on-Chip Design, Fall 2014 2


Path-based Scheduling: Steps

• Converting CFG into a DAG

ECE 695R: System-on-Chip Design, Fall 2014 3


Path-based Scheduling: Steps
• For each path
– Constraints on scheduling are represented as intervals
– Implies that there must be a “cut” (clock boundary, or
control state transition) somewhere in the interval

ECE 695R: System-on-Chip Design, Fall 2014 4


Path-based Scheduling: Steps
• For each path, create an interval graph from the scheduling constraints
• Each node is a constraint
• Edge between two nodes implies that there is an overlap in the corresponding intervals
• The solution to the minimum clique covering on the interval graph
gives the minimum number of control states.
• This problem can be solved efficiently 

ECE 695R: System-on-Chip Design, Fall 2014 5


Path-based Scheduling: Steps
• Merging the schedules of
the individual paths
– The schedules for each
path are overlapped to find
the minimum number of
states for all paths.
– Again, the solution to the
minimum clique covering
on cut graph gives the
minimum number of
control states.
– Since the graph may not be
an interval graph, the
problem tends to be NP-
Complete.

Objective: Minimize number of states in the controller FSM

ECE 695R: System-on-Chip Design, Fall 2014 6


Path-based Scheduling: Steps

• Construct finite state


machine from the AFAP
schedule
– Merging intervals to form
states: All intervals with the
same cut operations can be
merged into same state
– Construct the state
transitions
– Remember to put back the
loops here!

ECE 695R: System-on-Chip Design, Fall 2014 7


Path-based Scheduling: Exercise

Constraints: 2 comparators, 1 ALU

ECE 695R: System-on-Chip Design, Fall 2014 8


Path-based Scheduling: Pros and Cons

√ Pioneering work on scheduling for control-flow-intensive


designs
√ Provides an exact formulation on CFG scheduling problem
to minimize the number of control states
× The worst-case complexity of path enumeration itself is
exponential
× Solution quality relies on the pre-determined execution
order of the operations manifested in the CFG
× Does not optimize across loop iterations

ECE 695R: System-on-Chip Design, Fall 2014 9


Further Advances in Scheduling Control-Intensive
Behaviors

• S. Bhattacharya, S. Dey, and F. Brglez, “Performance analysis and


optimization of schedules for conditional and loop-intensive
specifications,” DAC’94. (LDS algorithm)
• R. A. Bergamaschi, S. Raje, I. Nair, and L. Trevillyan, “Control-flow
versus data-flow-based scheduling: Combining both approaches in
a adaptive scheduling system,” IEEE Trans. On VLSI, Mar. 1997.
• G. Lakshminarayana, K. S. Khouri, and N. K. Jha, “Wavesched: A
novel scheduling technique for control-flow intensive designs,”
TCAD, May 1999.
• G. Lakshminarayana, A. Raghunathan, and N. K. Jha,
“Incorporating speculative execution into scheduling of control-
flow-intensive designs,” IEEE Trans. On CAD, Mar. 2000.
• S. Gupta, N. Savoiu, N. Dutt, R. Gupta, and A. Nicolau, “Using
global code motions to improve the quality of results for high-level
synthesis,” TCAD, Feb. 2004. (SPARK)

ECE 695R: System-on-Chip Design, Fall 2014 10

You might also like