Title :
Synthesis and Optimization of Pipelines for HW Implementations of Dataflow Programs
Author :
Prihozhy, Anatoly ; Bezati, Endri ; Al-Hadi Ab Rahman, Ab ; Mattavelli, Marco
Author_Institution :
Ecole Polytech. Fed. de Lausanne, Lausanne, Switzerland
Abstract :
This paper introduces a new methodology for pipeline synthesis with applications to data flow high-level system design. The pipeline synthesis is applied to dataflow programs whose operators are translated into graphs and dependencies relations that are then processed for the pipeline architecture optimization. For each pipeline-stage time, a minimal number of pipeline stages are first determined and then an optimal assignment of operators to stages is generated with the objective of minimizing the total pipeline register size. The obtained “optimal” pipeline schedule is automatically transformed back into a dataflow program that can be synthesized to efficient hardware implementations. Two new pipeline scheduling: “least cost search branch and bound” and a heuristic technique have been developed. The first algorithm yields global optimum solutions for middle size designs, whereas the second one generates close-to-optimal solutions for large designs. Experimental results on FPGA designs show that the total pipeline register size gain in a range up to 4.68× can be achieved. The new algorithms overcome the known downward and upward direction dataflow graph traversal algorithms concerning the amount of pipeline register size by up to 100% on average.
Keywords :
data flow computing; field programmable gate arrays; high level synthesis; pipeline processing; processor scheduling; tree searching; FPGA designs; data flow high-level system design; dataflow program HW implementations; downward direction dataflow graph traversal algorithms; heuristic technique; least cost search branch and bound scheduling; pipeline architecture optimization; pipeline scheduling; pipeline-stage time; pipelines synthesis; total pipeline register size; upward direction dataflow graph traversal algorithms; Algorithm design and analysis; Delays; Optimization; Pipeline processing; Pipelines; Registers; Schedules; Branch and bound algorithm; Data flow; branch and bound algorithm; data flow; hardware design; heuristic algorithm; high level synthesis; high-level synthesis; optimization; pipeline;
Journal_Title :
Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on
DOI :
10.1109/TCAD.2015.2427278