+++ title = "Optimisations" author = "Yann Herklotz" tags = [] categories = [] backlinks = ["2b1", "1b"] forwardlinks = ["1c1", "1c2", "1c3", "1c4", "1c5", "1c7", "1c6", "1c8", "1d"] zettelid = "1c" +++ The survey by Nane et al. \[1\] goes over some of the optimsations that are present in high-level synthesis tools, and that are important to make them efficient and usable. Some of the optimisations are - scheduling ([\#1c1], [\#1c2], [\#1c3]), - operation chaining ([\#1c4]), - register allocation ([\#1c5]), - bitwidth analysis and optimisation, - memory space allocation, - loop optimisations: polyhedral analysis ([\#1c7]), - hardware resource library, - speculation and code motion: loop pipelining ([\#1c6]), - exploiting spatial parallelism, and - if-conversion ([\#1c8]).