I did contemplate starting the video working from GAL's/PAL's to CPLD
Do you (all) think that learning about smaller PLD and FPGA-like devices is useful toward learning how to use FPGA-class chips? (I'm talking about PLD, CPLD, Silego GreenPak, or the Configurable logic that Microchip (CLC) and Atmel (XCL) have started to put on their chips.)
On the one hand, it seems like these are pretty close to being single-CLB on a chip, so understanding them would be essential to understanding FPGAs. On the other hand, one doesn't design FPGAs at the CLB level, and I for one find that the massive parallelism a major chokepoint in my understanding (almost as if, having learned something about PLDs, I am hamstrung because I keep trying to think of the FPGA in those terms.)
=====
I have a suggested FPGA project: a multi-channel PWM controller, manipulated by SPI or some other serial interface (or, any of multiple serial interfaces - that's the sort of thing that should be relatively easy in an FPGA, right?) So, some input logic, a clock source, some 8-bit counter, 32 or so 8bit "compare registers", and some outputs. Does that seem reasonable? PLDs and most CPLDs I've looked at don't seem to be able to do it, because those compare registers end up being "buried state", rather than associated with IO pins (where most PLDs put all their flipflops.)
(Of course, the other thing I run into is "Oh wait; I don't need to sort of speed provided by an FPGA; I can just do all that in software on a moderately current microcontroller. Sigh.)