Transferring composite data structures with variable-length fields often requires designing non-trivial protocols that are not compatible between hardware designs. When each project designs its own data format and protocols the ability to collaborate between hardware developers is diminished, which is an issue especially in the open-source community. Because the high-level meaning of a protocol is often lost in translation to low-level languages when a custom protocol needs to be designed, extra documentation is required, the interpretation of which introduces new opportunities for errors. The Tydi specification (Tydi-spec) was proposed to address the above issues by codifying the composite and variable-length data structures in a type and providing a standard protocol to transfer typed data among hardware components. The Tydi intermediate representation (Tydi-IR) extends the Tydi-spec by defining typed interfaces, typed components, and connections among typed components. In this paper, we propose Tydi-lang, a high-level hardware description language (HDL) for streaming designs. The language incorporates Tydi-spec to describe typed streams and provides templates to describe abstract reusable components. We also implement an open-source compiler from Tydi-lang to Tydi-IR. We leverage a Tydi-IR to VHDL compiler, and also present a simulator blueprint to identify streaming bottlenecks. We show several Tydi-lang examples to translate high-level SQL to VHDL to demonstrate that Tydi-lang can efficiently raise the level of abstraction and reduce design effort.
翻译:以多长字段传输复合数据结构往往需要设计硬件设计之间不兼容的非三维协议。当每个项目设计自己的数据格式和协议时,硬件开发者之间协作的能力就会减弱,这在开放源码界尤其如此。由于在需要设计定制协议时,协议在翻译到低级别语言时往往失去高层次意义,因此需要额外的文件解释,其解释为错误带来新的机会。Tydi规格(Tydi-spec)是为了解决上述问题而提出的,办法是将复合和多变性数据结构编成一种类型,并提供一种标准协议,在硬件组件之间传输打字数据。Tydi中间代表(Tydi-IR)通过定义打字界面、打字组件和打字组件之间的连接来扩展Tydi-prope 。我们提出Tydi-le-llium-laxal-laxligal-Sylium-ligal-Syligal-ligal-ligal-Syral-ligal-lig-Sydreval-ligal-ligal-ligal-lig-listrual-Syl-L-trad-lig-I-lig-trad-trad-I-Sydreval-lipper-l-licud-lid-lidal-lid-I-I-I-I-I-licudal-trad-I-s-I-I-I-I-I-I-I-Stradal-S-S-I-I-Iental-I-I-I-I-I-I-I-S-I-I-Try-I-I-I-I-I-S-I-I-I-I-I-I-I-I-S-I-I-I-I-I-I-I-I-I-I-I-S-S-I-I-S-I-I-I-I-S-I-I-I-S-I-I-I-I-I-S-S-S-S-S-S-I-I-I-I-S-I-I-S-S-I-S-S-S-I-I