6 ms·
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, tra
by schabernakk 13y ago
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.
- paraboul 13y agoLet me put this here : https://github.com/milkymist/migen/tree/master/migen https://github.com/milkymist/migen/tree/master/migen
- wtracy 13y agoSome documentation or even a basic explanation of what this is would be helpful.
- jontas 13y agoYou can find that here: https://github.com/milkymist/migen https://github.com/milkymist/migen (one directory up from the OP's link)
- sporkologist 13y ago> Migen (Milkymist Generator) a Python toolbox for building complex digital hardware