+++ title = "Resource usage differences" author = "Yann Herklotz" tags = [] categories = [] backlinks = ["1c6a1"] forwardlinks = ["1b8", "1c5e"] zettelid = "1c6a2" +++ In terms of resources it seems like by default, even though the final pipelines will be the same between software and hardware pipelining, the resources of software pipelining will be significantly higher than hardware pipelining. This is mainly due to the fact that many hacks are needed to support the arbitrary pipelines. The first is duplication of the loop body due to register allocation, and the second is generating the epilogue and the prologue to start the pipeline. However, these can both be eliminated by using predicated instructions ([\#1b8]) and rotating registers ([\#1c5e]). You could then just implement the body directly using the rotating register files, and control the execution of the loop by using the predicated instructions. [\#1b8]: /zettel/1b8 [\#1c5e]: /zettel/1c5e