Twine: A Chisel Extension for Component-Level Heterogeneous Design

Mar 17, 2022·
Shibo Chen
Shibo Chen
,
Yonathan Fisseha
,
Jean-Baptiste Jeannin
,
Todd Austin
· 0 min read
Abstract
Algorithm-oriented heterogeneous hardware design has been one of the major driving forces for hardware improvement in the post-Moore’s Law era. To achieve the swift development of heterogeneous designs, designers reuse existing hardware components to craft their systems. However, current hardware design languages either require tremendous efforts to customize designs or sacrifice quality for simplicity. Chisel, while attracting more users for its capability to easily reconfigure designs, lacks a few key features to further expedite the heterogeneous design flow. In this paper, we introduce Twine—a Chisel extension that provides high-level semantics to efficiently generate heterogeneous designs. Twine standardizes the interface for better reusability and supports control-free specification with flexible data type conversion, which saves designers from the busy-work of interconnecting modules. Our results show that Twine provides a smooth on-boarding experience for hardware designers, considerably improves reusability, and reduces design complexity for heterogeneous designs while maintaining high design quality.
Type
Publication
In Proceedings of the Design, Automation and Test in Europe Conference 2022
Shibo Chen
Authors
PhD Candidate
My research interests include heterogeneous computation, datacenter architecture and agile hardware design. My advisor is Prof. Todd Austin. I am a student in ADA (The Center for Applications Driving Architectures) and CELAB (Computer Engineering Lab) at University of Michigan.