The Vivado HLS tool enabled a variety of hardware designs
to be produced quickly through the specification of directive
pragmas and code refactoring. This is particularly useful for
complex algorithms where the burden of manually developing
multiple solutions for comparison would be arduous. However,
where the desired hardware structure is known, utilising existing
pre-optimised blocks may produce more advantageous
results and save time. This example also highlights the importance
of hardware design knowledge when using high-level
synthesis tools in order to interpret the results of synthesis
and to know when a more efficient solution is possible.