xls icon indicating copy to clipboard operation
xls copied to clipboard

[enhancement] Expose NodeInCycleConstraint scheduling constraint in codegen.

Open hongted opened this issue 1 year ago • 1 comments

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<u32:4>(v);

hongted avatar Apr 18 '24 23:04 hongted

Related

https://github.com/google/xls/issues/911 https://github.com/google/xls/issues/899 https://github.com/google/xls/issues/1385 https://github.com/google/xls/issues/1386

hongted avatar Apr 18 '24 23:04 hongted