Canal: A Flexible Interconnect Generator for Coarse-Grained Reconfigurable Arrays
Jackson Melchert, Keyi Zhang, Yuchen Mei, Mark Horowitz, Christopher, Torng, Priyanka Raina

TL;DR
Canal is a flexible, Python-based tool that simplifies the design and exploration of reconfigurable interconnects for CGRAs, improving efficiency and adaptability for various applications.
Contribution
Introduces Canal, a novel Python-embedded DSL and compiler that enables rapid generation and exploration of CGRA interconnect architectures using a graph-based IR.
Findings
Able to generate both static and hybrid interconnects
Facilitates fast design space exploration
Supports modification of switch box topology and routing parameters
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
Topics3D IC and TSV technologies · Embedded Systems Design Techniques · VLSI and FPGA Design Techniques
