summaryrefslogtreecommitdiffstats
path: root/content/zettel/1c2.md
blob: 7218e41b3999dccdb8defb6dca306c5037908ce1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
+++
title = "Static Scheduling"
author = "Yann Herklotz"
tags = []
categories = []
backlinks = ["1c2g", "1c1", "1c", "1b9c"]
forwardlinks = ["1c3", "1c2a"]
zettelid = "1c2"
+++

Scheduling is an important stage in high-level synthesis, as it is the
main operation that parallelises the input behavioural description so
that it can take advantage of spatial hardware. Static scheduling in
particular performs analysis on the behavioural input to extract
dependencies between constructs or instructions so that it can
parallelise them as much as possible without changing the behaviour.
This is contrary to dynamic scheduling, where no analysis is done, and
tokens are used to automatically schedule all the instructions.