On Thu, 2008-12-11 at 11:24 -0800, Maarten Hofman wrote: > > > > I've used the I2C master core from opencores, it's not much more > > complicated to use then using the I2C core in a PIC. Yes, the concepts > > are different (you're "programming" in an HDL instead of C or asm), but > > complexity wise it's pretty straight forward. Most of my time was spent > > trying to figure out how the I2C chip I was programming needed to be > > programmed. > > > I agree, in fact, I found the Open Cores I2C easier to use than the > peripheral in the PIC microcontroller. However, neither compares in learning > how to address the specific device you are trying to control (alhough I'm > now quite good at external EEPROM). FWIW I think the word "FPGA" causes people to simply stop reading and ignore the option. For a person well versed in using PICs, FPGAs aren't much of a hill to climb anymore. Alot of people worry that "they don't know nand gates from nor gates", which doesn't matter! Just like on a PIC, you don't have to design at the lowest level (unlike PICs though, very few people design at the lowest level, except for extremely simple cases). Verilog (the other HDL being VHDL) is very "C" like in syntax and structure. While you always have to keep in mind that you are NOT writing C code, it's not to bad to figure out. For example, to those not at all familiar with verilog, care to take a guess as to what this code does: reg net0; always @ (posedge clk) begin if (reset) net0 <= 0; else net0 <= ~net0; end While this is probably one of the simplest pieces of verilog you can encounter, even the most complex structures really just build on basic building blocks such as this one. There are many cases where both a PIC and a CPLD/FPGA can be used. In some of those cases the PIC will be the faster solution, in others using a CPLD/FPGA will be the faster solution. TTYL -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist