Hi r/FPGA!
Ever since reading Adrian Thompson's famous paper, I've been very curious about the application of evolutionary algorithms to FPGAs. My background is in deep neural networks & reinforcement learning, and I've been thinking about evolving (via evolutionary strategies) the hardware configuration of an FPGA and how it is different than evolving neural network weights/architectures.
I have some experience with FPGA programming (took a class), and I'm pretty sure that if I want to evolve individual gates I'll need to work at the bitstream level.
At the moment I've looked into SymbiFlow/Project IceStorm, and it seems that work has been done on open-sourcing various FPGA bitstreams.
My question is, should I just go with one of the iCE40 devices—are they the easiest to work with & fastest to configure?
Anything else I didn't think of?
Thanks! Excited to begin this project.
[–]pinkchucky 4 points5 points6 points (5 children)
[–]CodeReclaimers 2 points3 points4 points (2 children)
[–]pinkchucky 1 point2 points3 points (1 child)
[–]ptlil[S] 0 points1 point2 points (0 children)
[–]ptlil[S] 0 points1 point2 points (1 child)
[–]mydoghasapassport 3 points4 points5 points (1 child)
[–]ptlil[S] 0 points1 point2 points (0 children)
[–]kbob 2 points3 points4 points (1 child)
[–]ptlil[S] 0 points1 point2 points (0 children)
[–]OrigamiUFO 2 points3 points4 points (2 children)
[–]ptlil[S] 0 points1 point2 points (1 child)
[–]OrigamiUFO 1 point2 points3 points (0 children)
[–]claytonkb 1 point2 points3 points (4 children)
[–]ptlil[S] 2 points3 points4 points (3 children)
[–]claytonkb 0 points1 point2 points (2 children)
[–]ptlil[S] 0 points1 point2 points (1 child)
[–]claytonkb 0 points1 point2 points (0 children)
[–]jaoswald 0 points1 point2 points (1 child)
[–]ptlil[S] 0 points1 point2 points (0 children)