LUCID, the dataflow programming language
LUCID, the dataflow programming language
Static scheduling of synchronous data flow programs for digital signal processing
IEEE Transactions on Computers
Scheduling synchronous dataflow graphs for efficient looping
Journal of VLSI Signal Processing Systems
Software synthesis for DSP using Ptolemy
Journal of VLSI Signal Processing Systems - Special issue on design environments for DSP
The Design and Analysis of Computer Algorithms
The Design and Analysis of Computer Algorithms
Looped Schedules for Dataflow Descriptions of Multirate DSP Algorithms
Looped Schedules for Dataflow Descriptions of Multirate DSP Algorithms
Hi-index | 0.00 |
Synchronous dataflow (SDF) semantics are well suited to representing and compiling multirate signal processing algorithms. A key to this match is the ability to cleanly express iteration without overspecifying the execution order of computations, thereby allowing efficient schedules to constructed. Due to limited program memory, it is often desirable to translate the iteration in an SDF graph into groups of repetitive firing patterns so that loops can be constructed in the target code. This paper establishes fundamental topological relationships between iteration and looping in SDF graphs, and presents a scheduling framework that provably synthesizes the most compact looping structures for a large class of practical SDF graphs. By modularizing different components of the scheduling framework, and establishing their independence, we show how other scheduling objectives, such as minimizing data buffering requirements or increasing the number of data transfers that occur in registers, can be incorporated in a manner that does not conflict with the goal of code compactness.