Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support function pipeline and dataflow pragma #17

Closed
hanchenye opened this issue Dec 22, 2020 · 2 comments
Closed

Support function pipeline and dataflow pragma #17

hanchenye opened this issue Dec 22, 2020 · 2 comments

Comments

@hanchenye
Copy link
Collaborator

Function pipeline insertion, estimation; FIFO dataflow estimation.

@hanchenye
Copy link
Collaborator Author

Function pipelining requires to unroll all loops in the function and sub-functions. When calculating the II of the function pipeline, IIs of all sub-functions also need to be considered.

A useful reference: COMBA: A comprehensive model-based analysis framework for high level synthesis of real applications

@hanchenye
Copy link
Collaborator Author

hanchenye commented Dec 30, 2020

The complicated part of dataflow pragma estimation is the latency of two dataflow stages can be overlapped when the intermediate buffer between them can be implemented as FIFO. This decision is automatically made by Vivado HLS possibly based on the loop order. Some concrete case studies may help us to better understand the mechanism under the hood.

For now, we are simply accumulating latencies of all dataflow stages to calculate the overall latency.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant