Je recommanderais fortement d'aller d'abord avec une carte CPLD (quelque chose comme ça ), ou un Igloo Nano basé sur Flash Actel, ou quelque chose de petit comme ça. Les gros FPGA peuvent être un peu accablants, et ils ont tellement de broches que cela prend beaucoup de temps pour bien brancher les choses. De plus, dès que vous souhaitez en intégrer un dans votre conception, vous vous rendrez compte qu'ils sont fournis dans de très gros packages, avec des dizaines de broches d'alimentation. La plupart d'entre eux nécessitent plusieurs tensions pour fonctionner, sans oublier que la plupart des FPGA sont basés sur SRAM et non sur flash, donc dès que vous coupez l'alimentation, ils perdent leur conception. Donc, vous devez au moins avoir une puce Active Serial Flash Memory câblée, mais beaucoup de gens utilisent des sidecar CPLD ou des microcontrôleurs pour charger des conceptions sur le FPGA.
C'est très accablant. Les CPLD, en revanche, sont géniaux! Ils sont généralement à alimentation unique, et si vous voulez une conformité 5V, vous pouvez toujours acheter des puces Altera MAX 7000 plus anciennes. De plus, ils ont une mémoire flash intégrée, ils n'ont donc pas besoin d'autres composants pour les démarrer. Et les CPLD fonctionnent plus ou moins comme les FPGA, vous les programmez donc en écrivant VHDL / Verilog ou en utilisant un éditeur de schéma. Même jazz à propos de la synchronisation (n'oubliez pas d'utiliser des OSCILLATEURS en cristal pas des cristaux!), Et la même manière de programmer sur JTAG. Les CPLD ont beaucoup moins d'éléments logiques que les FPGA, vous ne pouvez donc pas leur lancer de processeurs logiciels ou faire quelque chose de trop fou. Mais si vous ne faites que commencer, c'est certainement la voie à suivre - et ils coûtent quelques dollars chacun et sont livrés dans des emballages assez gros qui peuvent être soudés à la main,
Une autre option est les FPGA bas de gamme Flash fabriqués par Actel. J'ai récemment joué avec le kit de démarrage Igloo Nano, qui coûte environ 100 $. Ces appareils sont juste assez grands pour y loger un cœur 8051 avec une logique numérique personnalisée, ils sont donc une excellente option lorsque vous mélangez des états de flux de programme avec une logique personnalisée.