Ich beginne mit programmierbarer Logik und verwende hauptsächlich die schematische Eingabe. (Hey, ich sehe gerne den Schaltplan anstelle von VHDL / VERILOG: P)
Ich habe ursprünglich eine Xilinx-CPLD mit 128 Makrozellen verwendet, und das Design verfügt über einen Datenbus und verwendet häufig Tri-State-Puffer. Es stellte sich heraus, dass es nicht in die CPLD passte, und der nächste Schritt bei digikey war ein Xilinx-FPGA (5,80 US-Dollar). Ich dachte mir also, ich müsste das Gerät nur auf das FPGA in der ISE umstellen. Anscheinend existieren die Tri-State-Puffer auf einem FPGA nicht, was bedeutet, dass ich viel neu gestalten muss. Einer der Hauptgründe, warum ich ein FPGA verwenden wollte, war, dass das FPGA mit einem SPI-Flash anstelle von JTAG programmiert werden kann. (Ich habe keine JTAG-Programmierer, aber ich habe MCUs, um SPI-Flash zu programmieren.) Es gibt den MachXO2 auf digikey zu einem ähnlichen Preis, aber mit 640 Makrozellen, von denen ich denke, dass sie mehr als genug sein sollten, ganz zu schweigen davon, dass sie programmiert werden können mit SPI-Flash und hat wahrscheinlich die Tri-State-Puffer.
Hier ist also die Frage. Wann werden CPLDs anstelle von FPGAs verwendet und umgekehrt? In welchen Anwendungen ist eine CPLD nicht sinnvoll, aber ein FPGA ist besser geeignet?