Flow-control could avoid more cycles
Open
enhancement
scheduler
- Dominant language
- C++
- Stars
- 1.9k
- Forks
- 283
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 135
Description
Consider two procs sending a value back and forth across multiple channels. If they get scheduled in the same stage, this will result in a cycle. Codegen could avoid these cycles by:
- Reflecting some serial dependence within a stage in the control flow logic
- Having a mechanism similar to sends where receives can complete over multiple cycles
- Performing analysis to determine that e.g. setting output a_ready=1 -> input b_valid will be 1 and valid can be completely excluded in computing a_ready to remove the cycle.
Contributor guide
Assessment
This issue has not been assessed yet.