Я настійно рекомендую йти з CPLD борту першим (що - щось на зразок цього ), або Actel на базі флеш-Igloo Nano, або що - то маленьке , як це. Великі FPGA можуть бути настільки непосильними, і у них стільки штифтів , щоб зайняти речі належним чином, це забирає багато часу. Крім того, як тільки ви захочете інтегрувати його у свій дизайн, ви зрозумієте, що вони поставляються у дуже великих упаковках з десятками штифтів живлення. Більшість з них потребують декількох напруг для роботи на, не кажучи вже про те, що більшість FPGA є на основі SRAM, а не на флеш-основі, так що як тільки ви відключите живлення, вони втрачають свою конструкцію. Таким чином, вам потрібно принаймні мати мікросхему Active Serial Flash Memory, але багато людей використовують CPLDs або мікроконтролери, призначені для завантаження конструкцій на FPGA.
Це все дуже непосильно. З іншого боку, CPLD - це чудово! Зазвичай вони працюють з одноразовою подачею, і якщо вам потрібно сумісність 5В, ви все ще можете придбати старі мікросхеми Altera MAX 7000. Плюс у них вбудована флеш-пам’ять, тому їм не потрібні інші компоненти для завантаження. І CPLD функціонують так само, як і FPGA, тому ви програмуєте їх, записавши VHDL / Verilog або використовуючи схематичний редактор. Той самий джаз про тактову функцію (не забудьте використовувати кристали OSCILLATORS, а не кристали!), І такий же спосіб програмування через JTAG. У CPLD є набагато менше логічних елементів, ніж у FPGA, тому ви не можете кидати на них м'які процесори або робити щось занадто шалено. Але якщо ви просто збираєтеся, вони безумовно дорога - і вони коштують по кілька доларів кожен і приходять у досить великих пакетах, які можна припаяти вручну,
Інший варіант - це низькопробні FPGA на основі Flash, виготовлені компанією Actel. Я нещодавно грав разом із Igloo Nano Starter Kit, який коштує близько 100 доларів. Ці пристрої достатньо великі, щоб вмістити в нього ядро 8051 разом із деякою спеціальною цифровою логікою, тому вони є чудовим варіантом, коли ви змішуєте стани програмних потоків із власною логікою.