Search
Search Results
##search.searchResults.foundPlural##
1 - 2 of 2 items
For reconfigurable computing systems based on FPGAs, efficient application programs are parallel-pipeline programs that achieve real performance exceeding 50% of the peak. This article addresses the problem of reducing the development time of such programs. The computational structures of these programs utilize a large volume of FPGA resources operating at high clock frequencies. However, simultaneously maximizing both the amount of FPGA resources used and the clock frequency presents a certain contradiction: as resource utilization increases, the placement flexibility of the functional units of the computational structures decreases, and the FPGA switching matrix fails to provide the required signal propagation characteristics when routing information channels between them. Moreover, in modern CAD tools, placement and routing algorithms consider only the architectural and geometric features of the FPGA. Therefore, when a large number of specialized primitives with very limited placement flexibility are used, achieving high clock frequencies in automatic synthesis mode becomes virtually impossible. To address this problem, it is also necessary to consider the information dependencies between the functional units of the computational structures, but the nature of these dependencies in tasks from different subject areas can vary significantly. As a result, developers are often forced to manually place the functional units of the computational structures on the FPGA by creating script-based instructions for topological constraints. In earlier generations of FPGAs, the time required to generate topological constraints was acceptable, as they typically contained only a few hundred specialized primitives. However, in modern FPGAs, the number of such primitives reaches several thousand or even tens of thousands, significantly increasing the development time of efficient application programs. The proposed method makes it possible to automate the process of developing topological constraints for computational structures. The research was carried out during the development of application programs for solving a range of problems based on FFT, AES, and LU decomposition algorithms for the reconfigurable computer “Tertius-2.” As a result of significantly reducing the time required for optimization iterations of computational structures, the total synthesis time was reduced by up to three times.
In the paper, we consider data-equivalent transformations of some kinds of non-linear
computing structures, such as quadratic, fractional and conditional. All computing structures
contain feedbacks. If a pipeline computing structure of a task, implemented on a reconfigurable
computer system, contains feedbacks, the data processing rate slows down, because it is necessary
to wait for feedback results to calculate the next value. The processing rate slows down not
only in the chain with feedback, but in the whole computing structure. As a result, the task solution
time increases. Previous fragments have to delay their data to supply it into a chain with
feedback, and subsequent ones have to remain idle waiting for the feedback result data. At pr esent,
there are no software development tools for reconfigurable computer systems with automatic
optimization of such computing structures. So, the user has to analyze the source code to
find expressions with feedbacks, and to optimize them. As a result, the development time of eff icient
applications considerably increases. We suggest methods decreasing the data processing
time interval (down to unity in the best case) for applied tasks solved on reconfigurable computer systems. Besides, the task solution time also decreases. Owing to the suggested methods,
implemented in the optimizing synthesizer of circuit solutions, transformations are performed
automatically. As a result, the development time for efficient applied tasks with feedbacks decreases
from several days to several minutes.