+++ title = "Lightweight speculation and predication in HLS" author = "Yann Herklotz" tags = [] categories = [] backlinks = ["2b1c"] forwardlinks = [] zettelid = "2b1c1" +++ In high-level synthesis, there is no penalty for performing jumps, and one can therefore implement a lightweight predicated execution, where less predication is used (only in writes) and jumps are used in the shorted branches \[1\]. This is done by adding a jump statement in the shorter branch which jumps to the end of the if-statement, therefore allowing predication to work as efficiently as jumps. This is more efficient for high-level synthesis, as there is no cost when jumping.
\[1\] R. Nane, V. Sima, and K. Bertels, “A lightweight speculative and predicative scheme for hardware execution,” in *2012 international conference on reconfigurable computing and FPGAs*, Dec. 2012, pp. 1–6. doi: [10.1109/ReConFig.2012.6416721].
[10.1109/ReConFig.2012.6416721]: https://doi.org/10.1109/ReConFig.2012.6416721