Optymalizacja ustawień w układach FPGA
W przypadku układów FPGA dużo większe wyzwanie stanowi problem optymalizacji czasowej niż problem optymalizacji powierzchniowej. W przypadku produkcji małoseryjnej, na ogół kupowany układ FPGA posiada większą ilość cel niż wymaga tego realizowany projekt. Dzięki temu, łatwiej jest rozszerzyć funkcjonalność urządzenia oraz łatwiej jest narzędziom do implementacji umieścić projekt w wewnętrznych strukturach układu.
W przypadku projektowania struktur krzemowych znaczenie mają oba ograniczenia. O ile przyczyna ograniczeń czasowych dla układów scalonych wynika z wymagań jakie są stawiane dostępnej technologii, to w przypadku powierzchni, układy te projektowane są „na miarę”. Każda nawet najmniejsza nadwyżka powierzchni krzemu przekłada się na większy koszt gotowego układu scalonego.
Dla układów FPGA proces optymalizacji zarówno czasowej jak i powierzchniowej można podzielić na dwa etapy:
- Optymalizacja algorytmów użytych w modelu
- Optymalizacja ustawienia dostępnych w narzędziach do syntezy i implementacji
Pierwszy typ optymalizacji został opisany w artykule: Optymalizacja algorytmów w układach FPGA
W przypadku optymalizacji ustawień przedstawione zostaną najważniejsze metody używane do poprawienia wydajności projektowanego modelu.