>> so I can truly understand what's going on. You might find it helpful to look at some simpler PLD-like devices. If you go to the datasheet for a PAL16L8 or similar, it is very explicit about what the internal logic looks like, (ORs of internal ANDS) and where your "firmware" actually causes connections. A PAL16R8 is similar but adds flipflops at the outputs. A GAL16V8 replaces the flipflops and OR gates with a logic block that can do either one, plus some other things. A CPLD just keeps adding bits (internal registers and paths, additional gates that are programmable, etc), and so on... FPGAs are ... actually I'm not too familiar with how FPGAs are different. Presumably you start replicating PLD functions with programmable interconnects, making it basically similar (except the use of LUTs allows arbitrary logic functions of N inputs rather than the more limited OR of ANDs, and so on. BillW --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .