可组合的有类型流式数据流设计的中间表示

摘要:Tydi:一种在数字电路中流式数据流设计的开放规范,在这种规范中,设计师可以使用清晰的、数据为中心的类型来表达复合和可变长度的数据结构是如何通过流传输的。这些数据类型广泛应用于许多应用领域,如大数据和SQL应用。这种方式,Tydi提供了一种更高级的方法来定义组件之间的接口,而不是现有的基于位和字节的接口规范。在本文中,我们介绍了一种开放源代码的中间表示(IR),它允许声明Tydi的类型。IR使得可以创建和连接具有Tydi流作为接口的组件,称为Streamlets。它还允许综合和模拟后端保留高级信息,如文档。类型和Streamlets可以在多个项目之间轻松重用,并且Tydi的流和类型层次结构可以用于定义接口合同,有助于在设计更大的系统时进行协作。IR规范了在Tydi规范中建立的规则和属性,并且在接口上提供了基于数据为中心的视图,以补充面向计算的硬件设计工具。为了支持不同的后端和目标,IR专注于表达接口,并补充由硬件描述语言和其他IR描述的行为。此外,还提出了一种用于对抽象数据流的输入和输出进行验证的测试语法,并用于替代相互依赖的组件的规范行为。为了演示这个IR,我们创建了一个语法、解析器和查询系统,并将其与一个针对VHDL的后端配对使用。

作者:Matthijs A. Reukers, Yongding Tian, Zaid Al-Ars, Peter Hofstee, Matthijs Brobbel, Johan Peltenburg, Jeroen van Straten

论文ID:2308.13436

分类:Programming Languages

分类简称:cs.PL

提交时间:2023-08-28

PDF 下载: 英文版 中文版pdf翻译中