Check out the Altera site; their "baseline" EPLD compiler is downloadable for free. I've done several designs with the Altera "MAX+plusII" compiler and found it very easy: you may describe your design in sort of a high-level language, or use standard schematic building blocks, whatever you like better. Using a "sea of gates" like Altera FLEX that is configured after power-up by downloading of a config stream from special EEPROM or a microcontroller is a terrific way to create extremely flexible solutions fast, but I think this may be oversized for a PIC. Maybe the EPLD types like MAX7000 may be more suitable. If you want an example source, email me at: rkoehler_dd@csi.com Roland Koehler.