Niedawno wziąłem udział w internetowej konferencji poświęconej układom FPGA, której hasłem przewodnim było „Czy twój następny procesor będzie układem FPGA”
FPGA ma sens w każdej aplikacji, która wymaga wysoce równoległych strumieni roboczych, na przykład analizowano obrazy Full HD w celu znalezienia na przykład pieszych.
Należy pamiętać, że należy inicjalizować układ FPGA za każdym razem, gdy się włącza. Myślę, że Xilinx z układem FPGA (z rdzeniem ARM na chipie) to dobra opcja, ale prawdopodobnie droga. Przydatne może być również sprawdzenie Actela z wbudowanym układem flash.
Jeśli chodzi o wydajność, firma BDTI przeprowadziła testy porównawcze w wysoce równoległych obliczeniach, w których zaobserwowała około 40-krotny wzrost wydajności przejścia na układ FPGA. Interesujące jest to, że porównali układy o podobnych kosztach (wydaje mi się, że 23 $ vs 28 $).
Oto linki, które mogą Cię zainteresować:
Kieszonkowy przewodnik po wyborze procesora
Archiwum konferencji FPGA (darmowa rejestracja, ale dostępna tylko przez około 6 miesięcy po tej odpowiedzi)
Naprawdę nie można porównać wydajności systemów opartych na FPGA opartych na statystykach MIPS lub Mhz. Sposób, w jaki FPGA jest wykorzystywany do przetwarzania niektórych zadań, jest po prostu zbyt różny od mikrokontrolera. Projektowanie oprogramowania układowego dla FPGA jest czymś, co musisz zrobić, używając na przykład VHDL, który jest podobny do asemblera. Poziom transferu rejestru (RTL) abstrakcji. Niektóre środowiska są tworzone w celu zapewnienia większej abstrakcji, ale wciąż są one często specyficzne dla dostawców. Wikipedia ma niezły przegląd języków dostępnych do programowania kodu FPGA:
Wikipedia: Programowanie FPGA
Wikipedia: Projektowanie układów cyfrowych
Jeśli masz pieniądze na spalenie, możesz na przykład użyć systemów LabView do budowy systemów pomiaru czasu rzeczywistego opartych na FPGA. Potrzebne do tego urządzenia mają zupełnie inną cenę (1500 $ i więcej), ale otwierają projekt FPGA dla znacznie szerszej publiczności dzięki programowaniu graficznemu.
Coraz więcej sprzedawców oferuje płyty, które łączą mikrokontrolery, takie jak układ ARM z układem FPGA, aby zapewnić określone dodatkowe funkcje i moc przetwarzania równoległego. Przykład takich produktów można znaleźć tutaj: EmbeddedARM: seria FPGA