This is an insertion sorter design built in C++ for Vivado HLS.
Insertion sorting is another simple sorting algorithm which is reasonbly efficient when sorting small data sets. It also has the advantage of operating "in place" and does not require extra memory space other than the memory for the data set itself.
It works in a way that is very similar to how we sort a hand of playing cards - each element in the list is inspected then inserted in a new position such that all elements to the left are smaller and all elements to the right are larger.
The design has been simulated in the Vivado HLS environment and tested in hardware, the C testbench is included in the download. You will need a Vivado development system to compile the design, the WebPack version is free to download.
If you have any questions or comments about this design, please email me at firstname.lastname@example.org