Przedstawiono działający prototyp projektu FuryGpu, rozwijającego samodzielnie wykonany GPU oparty na FPGA Xilinx Zynq UltraScale+, zaprojektowany jako oddzielna płyta, podłączana do PC za pośrednictwem interfejsu PCIe. Opisy bloków sprzętowych zostały zrealizowane w języku SystemVerilog, a projekt płyty przygotowano w darmowym systemie automatyzacji projektowania płytek drukowanych KiCAD. W obecnej formie GPU FuryGpu umożliwia już uruchomienie gry Quake z wydajnością rysowania na poziomie 60 FPS przy rozdzielczości 1280 x 720.
Projekt jest rozwijany od 2021 roku jako hobby przez programistę specjalizującego się w tworzeniu gier komputerowych i interesującego się sprzętem. Schematy płyty, opisy Verilog oraz sterowniki nie są na razie publicznie dostępne, ale autor projektu zadeklarował zamierzenie udostępnienia wszystkich związanych z FuryGpu materiałów po uzgodnieniu pewnych kwestii prawnych z pracodawcą (uzgodnienie jest konieczne, aby zabezpieczyć się przed ewentualnymi roszczeniami ze strony pracodawcy).

Na obecnym etapie rozwoju możliwości FuryGpu są porównywane z zaawansowaną kartą graficzną z połowy lat 90. Funkcjonalność GPU jest określona przez zestaw stałych funkcji, wykonanie programowych shaderów nie jest na razie wspierane, a główny nacisk kładziony jest na komponenty do renderowania, rastrowania i przetwarzania tekstur. Do wykonywania operacji graficznych udostępniono własne API graficzne FuryGL, przypominające API Vulkan, ale niekompatybilne z nim z powodu braku wsparcia dla shaderów.
Wśród już dostępnych możliwości:
- Cztery niezależne rastrowizatory kafelkowe;
- Praca GPU z częstotliwością 400 MHz, praca bloku sterującego teksturami z częstotliwością 480 MHz;
- Frontend do wykonywania operacji z liczby zmiennoprzecinkowej (fp32);
- Blok mapowania i przetwarzania tekstur, wspierający liniowe i biliniowe filtrowanie z obsługą MIP-tekstur;
- Interfejs PCIe Gen 2×4. Wsparcie dla portów DisplayPort i HDMI do podłączenia monitora.

Źródło: opennet.ru
