Ich würde zunächst empfehlen , mit einem CPLD Bord gehen (so etwas wie diese ), oder einem Actel Flash-Iglu Nano oder etwas kleiner so. Große FPGAs können überwältigend sein, und sie haben so viele Pins, dass es ziemlich zeitaufwändig ist, die Dinge richtig anzuschließen. Sobald Sie eines in Ihr Design integrieren möchten, werden Sie feststellen, dass es in sehr großen Paketen mit Dutzenden von Stromanschlüssen geliefert wird. Die meisten von ihnen benötigen mehrere Spannungen für den Betrieb, ganz zu schweigen davon, dass die meisten FPGAs auf SRAM und nicht auf Flash basieren. Sobald Sie die Stromversorgung trennen, verlieren sie ihr Design. Sie müssen also mindestens einen Active Serial Flash Memory-Chip verkabelt haben, aber viele Leute verwenden CPLDs oder Mikrocontroller von Seitenwagen, um Designs auf das FPGA zu laden.
Es ist alles sehr überwältigend. CPLDs hingegen sind großartig! Es handelt sich in der Regel um einen Einzelversorgungsbetrieb. Wenn Sie eine 5-V-Konformität wünschen, können Sie immer noch ältere Altera MAX 7000-Chips kaufen. Außerdem verfügen sie über einen integrierten Flash-Speicher, sodass sie keine anderen Komponenten benötigen, um sie zu booten. Und CPLDs funktionieren mehr oder weniger wie FPGAs. Sie programmieren sie also, indem Sie VHDL / Verilog schreiben oder einen Schaltplaneditor verwenden. Gleicher Jazz über Clocking (denken Sie daran, Crystal OSCILLATORS zu verwenden, keine Kristalle!) Und dieselbe Art der Programmierung über JTAG. CPLDs haben weitaus weniger logische Elemente als FPGAs, sodass Sie keine Softprozessoren darauf werfen oder etwas zu Verrücktes tun können. Aber wenn Sie gerade erst loslegen, sind sie definitiv der richtige Weg - und sie kosten jeweils ein paar Dollar und werden in ausreichend großen Paketen geliefert, die von Hand gelötet werden können.
Eine weitere Option sind die Flash-basierten Low-End-FPGAs von Actel. Ich habe kürzlich mit dem Igloo Nano Starter Kit herumgespielt, was ungefähr 100 US-Dollar entspricht. Diese Geräte sind gerade groß genug, um einen 8051-Kern zusammen mit einer benutzerdefinierten digitalen Logik darauf unterzubringen. Sie sind daher eine hervorragende Option, wenn Sie Programmflusszustände mit benutzerdefinierter Logik mischen.