Soft cores, processors (gpu/cpu/etc) that you put onto an FPGA, are quite an interesting beast. The way it is now is that you can flash whatever physical hardware that can fit - if you had access to Intel Pentium 1 source code, you could theoretically flash on, and it would work.<p>This is kind of off-topic, but what's more interesting to me, conceptually, is the potential for real-time re-flashing. For example, you've got space for 10 CPU cores and 10 GPU cores. When, say, running a web server, you can erase the GPU cores, and use 20 CPU cores instead. When running a game, you could drop down to 5 CPU cores and 15 GPU cores. Or, when doing single-threaded apps, you could opt for a beefy single or dual core.<p>Also, you could have CPUs that re-wire themselves as part of their workflow. Or, if, for example, a new CPU design comes out - you could upgrade to it without buying new silicon. Hybrid FPGA approaches even exist today - some high-end FPGAs actually come with a hard-wired CPU inside them.<p>The FPGA Microbee project is only scratching the surface of "FPGA=cool" factor, I think.