News for hackers. Stuff that matters.
Re:How FPGAs work, and why you'll buy one by schabernakk on Monday June 17, 2013 @05:39PM (#5896136)
yup. I worked on a simple game AI (Connect6) for a university project implemented in Verilog. Initial prototyping in python was super easy and quickly done, translating the same program to Verilog took multiple weeks. We split the program up into multiple modules with each module handling different cases. While writing the program we only compiled it with the modules we were currently working on and even that took long enough (remember: we were trying to more or less directly translate the python program to verilog with a bit more global state). Once we finished we tried to compile the whole program with each module enabled and it compiled and compiled and compiled. We aborted after 20 hours of compiling and no end in sight, the design we were using was just not suited to be used with hardware.

Now, this was the first time ever I worked with hardware and while I really liked having something tangible and all those nice blinking lights on the fpga board, programming one was a pain in the ass. Towards the very end of the project I slightly got the hang on how you should approach writing such software. And the most important thing is to not think like you would when programming traditionally.

Designing and later implementing a FSMD for example is far more efficient.

Re:How FPGAs work, and why you'll buy one by paraboul on Monday June 17, 2013 @06:22PM (#5896364)
Re:How FPGAs work, and why you'll buy one by wtracy on Monday June 17, 2013 @06:52PM (#5896503)
Some documentation or even a basic explanation of what this is would be helpful.
Re:How FPGAs work, and why you'll buy one by jontas on Monday June 17, 2013 @07:06PM (#5896557)
You can find that here:

https://github.com/milkymist/migen

(one directory up from the OP's link)

Re:How FPGAs work, and why you'll buy one by sporkologist on Monday June 17, 2013 @07:13PM (#5896582)
> Migen (Milkymist Generator)

a Python toolbox for building complex digital hardware