I am considering using [Impulse C](http://en.wikipedia.org/wiki/Impulse_C) to write C code that will compile down to HDL for my FPGA. I'm curious as to what experiences people have had with Impulse C, to better understand the advantages and disadvantages, and in what cases it makes the most sense to use Impulse C as opposed to raw Verilog or VHDL.

In the pros I expect:

1. Faster development time
2. Cross platform FPGA programming
3. Possibility for writing very complex algorithms take will run in an FPGA

In the cons I expect:

1. Added layer of complexity with the Impulse C framework
2. License fees for using Impulse C
3. Less control over the behaviour of the FPGA
4. Longer compilation cycles

Are these assumptions correct?

I also have specific questions:

1. Does using Impulse C for one part of the project impose using Impulse C for the whole project?
2. Is using Impulse C more or less bug prone than using an HDL?