问题
异构设计要复用大量现成组件,每个组件都有自己的接口和握手协议。设计者的大量精力花在杂活上:写适配器、做数据类型转换、补控制逻辑把各部分接起来。现有的硬件语言要么定制成本高,要么为了简单牺牲质量。
思路
Twine 是一个 Chisel 扩展,为异构设计提供高层语义。它给每个组件统一的标准接口,支持无需手写控制的描述方式和灵活的数据类型转换,并自动生成控制和胶合逻辑。
结果
3×设计描述规模缩小
DATE 2022同行评审论文
Twine 在保持设计质量的同时提高了复用性、降低了设计复杂度,也成为我博士论文的第一部分。
我的工作
第一作者。负责语言扩展和代码生成的设计,以及实验评估。
论文: DATE 2022