Software Development Tools for FPGA-Based Reconfigurable Systems Programming

In the paper we consider an architecture and principles of functioning of software development tools for translation of sequential C-programs into FPGA configuration files. The software development tools, which consist of the separate translators “Angel”, “Mermaid”, and “Procrustes”, transform a sequential C-program (the ISO/IEC 9899:1999 standard) of the compiler gcc into an information graph, described in the programming language COLAMO. Then, the information graph is translated by the COLAMO-translator into FPGA configuration files for the specified reconfigurable computer resource. The distinctive feature of the software development tools is scalability of calculations in the case of reduction of available hardware resource. Scaling is performed by a special translator “Nutcracker”, which automatically reduces not only the number of basic subgraphs of the task, but also the number of operations of the basic subgraph and the capacity of processed data.