Problem
Heterogeneous designs reuse many existing components, and each one has its own interface and handshake. Designers spend much of their effort on busy-work: adapters, data-type conversion, and control logic to connect the parts. Hardware languages either make this customization expensive or trade quality for simplicity.
Idea
Twine is a Chisel extension with high-level semantics for heterogeneous design. It gives every component one standard interface, supports control-free specification with flexible data-type conversion, and generates the control and glue logic.
Result
Twine improves reusability and lowers design complexity while it keeps design quality. It became the first part of my PhD dissertation.
My role
First author. I designed the language extension and its code generation and ran the evaluation.
Paper: DATE 2022