calyxir / calyx

Intermediate Language (IL) for Hardware Accelerator Generators
https://calyxir.org
MIT License
453 stars 45 forks source link

Systolic: modern eDSL features #2036

Closed anshumanmohan closed 3 weeks ago

anshumanmohan commented 3 weeks ago

Makes progress towards #1673: brings our systolic array development into the modern era of eDSL usage.

Earlier, we were using helper methods to insert components for us, and were then, when it came time to use those components, were looking those components up by name. We now get those helpers to return Python-level handles to the components that they have inserted. When we wish to use those components, we pass around these handles instead of passing around (or magically remembering) names.