Here are some links you might find useful:
- Download the latest Xilinx WebPACK. Even if you don't plan to build a programmer or buy a chip you can still do a lot of interesting things with the IDE and ModelSim.
- Build a Xilinx Parallel Cable III. If you buy a commercial CPLD or FPGA board it may come with a way to program the chips, but you can build this at home (I drew mine on double-sided PC board with a sharpie) for a few bucks. This cable can be driven by the IMPACT software that comes with the WebPACK.
- Buy an XC95108 from [I can no longer recommend the supplier]. This is the actual part I used and the actual place I bought it from. These are becoming obsolete, so this price is a lot better than Digi-Key's. Technically that speed grade is too slow, but it worked for me.
- Or upgrade to a XC95144XL-7TQ100C from Digi-Key. This requires a 3.3V supply but is tolerant of 5V IO, and has more macrocells and an appropriate speed grade. The TQFP 100 package is a little less prototype friendly.
- Google for the "PCI Local Bus Specification" PDF. You should buy it from the PCI SIG, but you can find it with a search.
- CadSoft Eagle offers a free version of their schematic capture and board layout software. The maximum size is just large enough to make a 32 bit PCI card.
- Buy an FPGA project board or get some inspiration from fpga4fun.
- One of many pages that explains how to etch PC boards with the toner transfer method.
- Luke Bennett adapted my code to his Arbitrary Waveform Generator. You can look at his code to see how to connect the memory space to an SRAM and get a Linux driver for his version. You might recognize the page design, too. :)