google / google/xls

[enhancement] Expose NodeInCycleConstraint scheduling constraint in codegen.

Open
#1,385 1 comment 0 reactions 0 assignees View on GitHub
enhancement
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

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.