Tak wielu tutaj już powiedziało, że Xilinx to FPGA. FPGA są "softlogiczne" w tym, że używasz procesu rozwoju simalar do opracowania ASIC, ale możesz przetestować swój projekt na sprzęcie, nie wymagając przy tym zakładu produkcyjnego. Kompromis to szybkość, implementują "meta-logikę" zamiast układu, który składa się z tradycyjnej logiki "nand-nand" lub "nor-nor", mają programowalne tablice przeglądowe, które można zaprogramować do realizacji dowolnych bramek logicznych. Jest to pojęciem symulującym uruchomienie interpretera dla procesora zamiast kodu natywnego.
Chociaż nie można osiągnąć takiej samej wydajności, jak w przypadku produktu asic, pozwala to na to, aby produkty o małej pojemności miały większość zalet asic bez kosztów produkcji w zakładzie FAB. Ponadto można traktować FPGA bardziej jak projekt oprogramowania i ładować różne strumienie bitowe dla różnych trybów działania. Zarówno Xilinx, jak i Altera mają zestawy programistyczne, które pozwalają przechowywać projekt na kompaktowej lampie błyskowej i wybierać różne obrazy podczas startu systemu.
Dla projektów osadzonych FPGA pozwala na coś, czego zwykle nie można wydostać z procesora półki, Twój projekt może mieć sprzęt EXACT, którego potrzebujesz, nie musisz patrzeć na 1000 różnych mikrosków, aby znaleźć "idealne dopasowanie!" Poza tym widziałem stare systemy, które wykorzystywały procesory 16-bitowe lub 32-bitowe, przenoszone do FPGA i osiągały lepszą wydajność, niższy koszt i niższą moc niż projekty oparte na procesorach. Jest coś, o czym można powiedzieć, włączając w to "odpowiedni" sprzęt.
Zarówno VHDL, jak i Verilog są językami wysokiego poziomu i chociaż różnią się od C i C++, nie są znacznie trudniejsze, tylko inne i wymagają innego procesu myślowego. Nie masz wielu wbudowanych bibliotek, aby zrobić wszystko za Ciebie, więc możesz skończyć się otrzymywaniem "Rdzeni" z witryn takich jak "OpenCores.com" i łączeniem ich razem w celu realizacji projektów z dodatkową logiką, której potrzebujesz. Kod FPGA będzie generalnie równoległy, musisz konkretnie zaimplementować zachowania seryjne i musisz wziąć pod uwagę etapy i opóźnienia potokowe. Więc podczas gdy same języki nie są trudniejsze, niektóre z nich mogą być. Ale są też bardziej satysfakcjonujące, tak jak budowanie domu, zamiast pisać o domu.
@Hans, Yep, Verilog i VHDL dzwonią z rozmowy, którą z nim rozmawiałem. Więc FPGA nie są dobrym wyborem, jeśli nie pracujesz dla firmy, która ma narzędzia do nagrywania? – cooper
@Nathan i @Hans, aby nie wątpić, ale czy jesteś pewien, że C nie może być używany z FPGA? Myślałem, że to jest to, co wielu inżynierów wbudowanych używa co najmniej do przetestowania kodu zanim przeniosą go na chip, czy coś takiego ... – cooper
Część zestawu narzędzi jest symulatorem, umożliwiającym przetestowanie niestandardowego projektu logicznego przed jego spaleniem. Tak, kod to VHDL, a nie C. Programujesz sprzęt, a nie oprogramowanie. –