Optimal Partition with Block-Level Parallelization in C-to-RTL Synthesis for Streaming Applications

Shuangchen Li,Yongpan Liu,X. Sharon Hu,Xinyu He,Yining Zhang,Pei Zhang,Huazhong Yang
DOI: https://doi.org/10.1109/aspdac.2013.6509600
2013-01-01
Abstract:Developing FPGA solutions for streaming applications written in C (or its variants) can benefit greatly from automatic C-to-RTL (C2RTL) synthesis. Yet, the complexity and stringent throughput/cost constraints of such applications are rather challenging for existing C2RTL synthesis tools. This paper considers automatic partition and block-level parallelization to address these challenges. An MILP-based approach is introduced for finding an optimal partition of a given program into blocks while allowing block-level parallelization. In order to handle extremely large problem instances, a heuristic algorithm is also discussed. Experimental results based on seven well known multimedia applications demonstrate the effectiveness of both solutions.
What problem does this paper attempt to address?