[enhancement] non-mutually-exclusive sends on channel should be reported before codegen #1900
Labels
dslx
DSLX (domain specific language) implementation / front-end
enhancement
New feature or request
ir
🧦 sox
ux
User experience (end-user invoking XLS and its related tools)
What's hard to do? (limit 100 words)
Currently it's hard to realize that a given DSLX w/ non-mutually-exclusive sends operation will not produce valid hardware without running codegen.
Example:
The following DSLX code w/ non-mutually-exclusive sends:
will pass interpreter tests:
be convertable to IR:
and optimized:
but will fail codegen:
Current best alternative workaround (limit 100 words)
Always run the XLS toolchain all the way to codegen to detect non-mutually exclusive sends, potentially slowing down the dev cycle.
Your view of the "best case XLS enhancement" (limit 100 words)
A runtime would be reported when running tests and additional IR verification passes (when applicable) would be run on the various intermediate form of the IR (non-optimized, optimized, scheduled, block).
The text was updated successfully, but these errors were encountered: