Skip to Main Content
This paper proposes a novel hierarchical approach for scheduling shared resources in asynchronous pipelined systems. While there have been recent approaches to asynchronous resource scheduling, the problem is especially difficult for multi-token systems, i.e., systems where computation on multiple problem instances is overlapped and pipelined, so resources are shared amongst operations across different problem instances. An approach recently proposed for multi-token scheduling can optimally solve this synthesis problem for modest-sized specifications, but an exact solution for larger benchmarks can be intractable. To overcome this challenge, we introduce a novel method that decomposes the problem based on the hierarchy inherent in the specification. Individual blocks are isolated and scheduled, and an abstracted model of their behavior is passed to higher levels of the hierarchy. As a result, our approach obtained drastically reduced runtimes. While the resulting solution is not globally optimal, the method in practice produces high-quality solutions. Our approach has been automated and validated using a variety of benchmarks to illustrate its effectiveness in minimizing area while meeting a target throughput constraint.