Estoy empezando con la lógica programable, y estoy utilizando principalmente una entrada de esquema. (Hey, me gusta ver el esquema en lugar de VHDL / VERILOG: P)
He estado usando una CPLD de Xilinx originalmente que tenía 128 macrocélulas, y el diseño tiene un bus de datos y usaba extensivamente buffers tri estado. Resulta que no encajaba en el CPLD, y el siguiente paso en digikey fue un Xilinx FPGA ($ 5.80), así que pensé que todo lo que tendría que hacer era cambiar el dispositivo al FPGA en el ISE. Al parecer, los búferes de estado Tri no existen en un FPGA, lo que significa que tengo que rediseñar mucho. Además, una de las razones principales por las que quise usar un FPGA fue que el FPGA se puede programar usando un flash SPI en lugar de JTAG. (No tengo programadores JTAG, pero tengo MCU para programar SPI flash). Hay un MachXO2 en digikey a un precio similar pero con 640 macrocélulas, que creo que deberían ser más que suficientes, sin mencionar que se puede programar. utilizando SPI flash, y probablemente tiene los buffers de Tri estado.
Entonces, aquí está la pregunta. ¿Cuándo se utilizan los CPLD en lugar de los FPGA y viceversa? ¿En qué aplicaciones no tiene sentido un CPLD, pero un FPGA es más adecuado?