[enhancement] Expose NodeInCycleConstraint scheduling constraint in codegen.
- Dominant language
- C++
- Stars
- 1.9k
- Forks
- 283
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 135
Description
### What's hard to do? (limit 100 words)
Currently we can specify constraints between send/recv nodes. Our schedule also support pinning a particular node to a stage -- https://github.com/google/xls/blob/f231771f048112e74e23f9134a56606c16cdf634/xls/scheduling/scheduling_options.h#L119
But this is not exposed to as a codegen option.
### Current best alternative workaround (limit 100 words)
Currently, users can utilize C++ to schedule and codegen using this option.
### Your view of the "best case XLS enhancement" (limit 100 words)
Two options are considered
1. Another codegen option to specify this constraint
2. Add another op in DSLX that becomes a scheduling constraint
```
// Will schedule x in stage 4.
let x = schedule_in_stage(v);
```
Contributor guide
Assessment
This issue has not been assessed yet.