google / xls

XLS: Accelerated HW Synthesis
http://google.github.io/xls/
Apache License 2.0
1.22k stars 180 forks source link

[enhancement] Block Conversion for New-Style Procs #1652

Open grebe opened 1 month ago

grebe commented 1 month ago

What's hard to do? (limit 100 words)

Currently, we don't block-convert new-style procs (e.g. those with proc-scoped channels and proc instances). This means that procs that are instantiated multiple times become uniquified blocks, which makes RTL less readable and much larger.

Current best alternative workaround (limit 100 words)

Continue using old-style procs and accept the big, less readable RTL.

Your view of the "best case XLS enhancement" (limit 100 words)

Block conversion converts new-style procs. Proc instantiations become block instantiations, so a multiply-instantiated proc only codegens one block implementation that is instantiated multiple times.