Forum Discussion
Cool idea, but I have to agree it's not feasible based on random bitstreams. The fact that the encoding is proprietary may not seem like a problem since you don't care what the bits do, only how the configured chip responds, but the xc2vp30 bitstream is 11,589,920 bits long and has CRC checks throughout if I remember correctly. I don't know offhand how large the CRC-protected blocks are or how many bits of CRC are used, but suppose it's CRC16, that would mean that only one in 65536 of your random bitstream BLOCKS would not trigger an error that prevents the configuration from completing. If there are (making this up) 64kb per block that means 176 blocks per device, and a random bitstream has only one in 64k^176 = 5x10^847 chance of completing configuration, everything else will have equal fitness of zero. So you have to use some kind of tool that knows how to create a viable bitstream. Even if you do, there is such a large design space in that part that I have to think it will be centuries before you get the first wiggle of an output pin and any hint of fitness to your goal.
If this doesn't deter you (which I'll applaud!) I'd recommend the smallest / simplest device you can get, like a Spartan 3S50 which has "only" 430kb of configuration. That's assuming you can get or derive a tool that fixes the CRC issue for you. Good luck!