google / google/xls

Flow-control could avoid more cycles

Open
#1,509 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.