evandude said:
Microcontrollers are a much more general tool - for hobbyists they're an acceptable solution nearly all the time, because the types of high-speed, tons-of-parallel-IO applications where CPLDs/FPGAs/etc are necessary are not very common in hobby projects.
Couldn't have put it better myself. I knocked up a CPLD (2x lattice mach4's 64 MC's) dev board before I started with microcontrollers, and now it hardly ever gets used. Microcontrollers have memory, they can do mathematical operations and are just easier to configure for 99% of hobby projects. As evandude pointed out, CPLD's/FPGA's are really for highspeed parallel logic. Also, CPLD's are more expensive than micro's, which I tend to use for almost anything nowdays.
An example of an app where I couldn't find a micro that could do the job was a little digital RF link I did for uni. It required hamming encoding, and decoding....at 5MB/s. A microcontroller, aside from the 16-bit ones with single cycle multipiers couldn't not do this at anywhere near that speed. The CPLD did it brilliantly, and I also had 'room' for a ultra reliable manchester decoder, CRC error check, and error counter....all in pure hardware.
Interestingly though, I still find that CPLD's do have their place for the hobbyist. Because they are so damn configurable, you're not limited by data bus width, so you can use them to 'simulate' the interface of a device (say an SPI DAC or something) and test microcontroller circuits. And some projects I've done have shown that a combination of micro and CPLD's can be extremely powerful. With the memory, mathematical functions, look up tables, and peripherals of a cheap microcontrollers, but with the added benefit of very fast, and rather complicated logic. Things like the PHY layer of a comms protocol (PIC + CPLD = USB/can/spi/I2S). Dedicated hardware has its place. Another benefit is the sheer number of I/O's on a CPLD. Its easy to add a small, addressable serial interface in logic, giving the 'ol PIC 32 extra I/O's, or...extra custom peripherals (VERY handy).
Sorry to just 'reinforce' evandudes post, but thats my experience with them. Expensive for what they are, but if you need lots and lots of CMOS/TTL logic IC's on your design, then they can replace all of those with one chip, and allow modification of the design 'in system'.
Blueteeth