I. Introduction
Through technology development, applications are becoming larger, which may create some problems, such as shortage of resources and long implementation time, especially in the placement and routing steps when they are implemented for hardware devices. In this regard, using dynamic partial reconfiguration (DPR), which is available in some of the new advanced field-programmable gate arrays (FPGAs), is regarded as a solution to eliminate this problem. Regarding FPGAs with DPR capability, placing nonsimultaneous modules on the same region of FPGA is possible in a time-multiplexed way. In addition, there are some advantages for utilizing DPR capabilities, such as the reduction in FPGA size, as well as power and cost, algorithms with more flexibility in applications, newer techniques for project security, and greater fault tolerance in FPGAs. Furthermore, there are some new projects that are impossible for implementation without DPR [1]. Vipin and Fahmy [2] provided comprehensive reviews of the methods and applications of DPR FPGAs. There are several methods for designing systems with DPR capability. This article aimed to design a modular design method called “partitioning” [3]. As shown in Fig. 1, a sample of a DPR-enabled system is available against a full-static implementation. The green region shows the location of the static modules (modules that are presented on the FPGA from the beginning to the end of the process), and the reconfigurable modules are in the blue and red regions. When the program runs, the modules in the green region are fixed, but there is at most one of the modules specific to their region in each of the blue and red zones at any time. System functionality changes by replacing the red or blue modules.
DPR implementation (left) and full-static implementation (right).