The architecture of a coarse-grained reconfigurable array (CGRA) interconnect has a significant effect on not only the flexibility of the resulting accelerator, but also its power, performance, and area. Design decisions that have complex trade-offs need to be explored to maintain efficiency and performance across a variety of evolving applications. This paper presents Canal, a Python-embedded domain-specific language (eDSL) and compiler for specifying and generating reconfigurable interconnects for CGRAs. Canal uses a graph-based intermediate representation (IR) that allows for easy hardware generation and tight integration with place and route tools. We evaluate Canal by constructing both a fully static interconnect and a hybrid interconnect with ready-valid signaling, and by conducting design space exploration of the interconnect architecture by modifying the switch box topology, the number of routing tracks, and the interconnect tile connections. Through the use of a graph-based IR for CGRA interconnects, the eDSL, and the interconnect generation system, Canal enables fast design space exploration and creation of CGRA interconnects.
翻译:粗微的可调整阵列(CGRA)互连结构不仅对由此产生的加速器的灵活性,而且对其功率、性能和面积都有重大影响。需要探讨具有复杂权衡的设计决定,以保持各种不断发展的应用的效率和性能。本文展示了运河,一种由Python组成的特定域语言(eDSL)和编译器,用于为CGRAs具体说明和生成可调整的互连。运河使用基于图表的中间代表器,便于硬件的生成和与地点和路线工具的紧密整合。我们通过建造完全静态的互连和与随时有效的信号的混合互连来评估运河。我们通过修改开关箱表层、路由轨道的数目和连接的相互连接来设计相互连接的结构的空间探索。通过使用基于图表的ICRA连接器、eDSGL和互联生成系统来评估运河,从而能够快速设计空间探索和创建CGRA的互联连接。