HIGH-LEVEL TOOLS FOR TRANSLATION OF C-APPLICATIONS INTO APPLICATIONS IN DATAFLOW LANGUAGE COLAMO
In the paper we review software tools for translation of sequential C-programs into scalable parallel-pipeline programs written in the COLAMO language, used for programming of reconfigurable computer systems. In contrast to existing tools of high-level synthesis, the translation result is not an IP-core of a task fragment, but a complex task solution for multichip reconfigurable computer systems with automatic synchronization of data and control signals. We analysed the main translation steps of a sequential C-program such as transformation into an information graph, analysis of data dependencies and selection of functional subgraphs, transformation into a scalable resource-independent parallel-pipeline form, and scaling a COLAMO-program for a specified multichip reconfigurable computer system. A program is scaled with the help of performance reduction methods, applied to a completely parallel form of a task (an information graph), adapted to the architecture of a reconfigurable computer system. We developed several rules, significantly reducing the number of transformation steps of task scaling, and providing a continuous flow of data processing in the functional subgraphs of the task. The developed software tools for translation of C-programs into FPGA configuration files significantly decrease the synthesis time of a task computing structure for multichip RCSs and the total task solution time.