Wzrost złożoności współcześnie produkowanych układów FPGA umożliwił implementowanie w jednym układzie FPGA całych systemów komputerowych (SOPC). W artykule zaprezentowano metodę automatycznej syntezy dynamicznie samorekonfigurowanych systemów SOPC. Architektury dynamicznie rekonfigurowalne pozwalają na dużo lepsze wykorzystanie dostępnych zasobów sprzętowych przez wielokrotne ich użycie w różnych funkcjach w ramach działania tej samej aplikacji. Możliwe jest to dzięki częściowo rekonfigurowalnym układom FPGA. Zaprezentowany rafinacyjny algorytm kosyntezy maksymalizuje szybkość projektowanego systemu SOPC przy zadanym ograniczeniu powierzchni układu FPGA. Algorytm w rozwiązaniu startowym przyporządkowuje wszystkie zadania do wykonania w jednym procesorze uniwersalnym. Następnie iteracyjnie generuje nowe rozwiązania przez modyfikacje poprzednich. Algorytm uwzględnia czas rekonfigurowania układu w szeregowaniu zadań w taki sposób, aby zminimalizować wpływ tego czasu na szybkość całego systemu. Wykonane eksperymenty wykazały dużą skuteczność opracowanej metody w porównaniu z implementacją bez stosowania dynamicznej rekonfigurowalności.
In this work a co-synthesis method, which allows for optimization of dynamically self-reconfigurable SOPC system architecture, is presented. Partially reconfigurable FPGAs let better use hardware resources due to reuse of the same parts of the chip for different functionalities in the same application. The algorithm maximizes speed of the SOPC system taking into consideration FPGA's area constraints. The algorithm starts with the initial solution, where all tasks are assigned to only one general purpose processor module. Next it produces new solutions using iterative improvement methods. The reconfiguration times are taken into consideration in task's scheduling algorithm, in such way, that impact of this time on the system's performance is minimized. Co-synthesis results for dynamically reconfigurable SOPCs have been compared with the results of co-synthesis which didn't take into consideration dynamic reconfiguration. Experimental results showed that applying partially reconfigurable FPGAs
significantly increases SOPC performance. In dynamically reconfigurable systems tasks are mostly executing in hardware.