Infrastructure to incorporate components with hls::vector interface #1248
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains changes to enable HLS custom ops to run cppsim with the new hls::vector interface instead of the packed datatype interface most finn-hlslib components currently have. The goal is to have the packed datatype and the new one provided in parallel and when all nodes use the new interface, deprecate the old one. Please note, that this mainly means changes to cppsim, the resulting interface of the HW is identical between the two methods.
Thanks to @mdanilow for his contributions to this PR!
Currently, the
cpp_interface
defaults to"packed"
. When adding new HLS components with hls_vector interface, please overwrite that node attribute in the HLS custom operator: e.g.,my_attrs.update({"cpp_interface": ("s", False, "hls_vector", {"hls_vector"})})
. Make sure that this is the last line of the node attributes, to not overwrite it with the parent class.