What this guy is doing is amazing, and shows the very sad state of the FPGA scene today.<p>To give a picture on how important is this, imagine if Intel CPUs were delivered with only the most sparce documentation: it told you how many registers it had and what the instructions could do, but wouldn't tell you anything about register addresses, switches, meaning of each bit or even the individual OPCODES. You would know that there's a floating point unit with divider, but didn't know how to access it, or how to set the register for the division, or even which OPCODE you should use to set it up.<p>Moreover, the only compiler would be the one send to you by Intel, and the whole compilation process is also pretty much undocumented. Compiler errors would be cryptic and support wouldn't do more than point you in general what kind of problem your code may have triggered - they simply would refuse to tell you specifically what has gone wrong to avoid telling you the details from the compiler processor.<p>And the compiled code would always have an enormous size and change almost randomly from one compilation to another, making reverse engineering a very difficult and frustrating task.<p>This is not a perfect analogy (it would still be easier to reverse engineer software in the analogy), but I hope this give an idea of the size of the task this guy has performed. Even if the FPGA is a quite simple and small one, from a second-tier vendor, and only one part number, all my praise to Mathias Lasser and Clifford Wolf.<p>This is the sad state of FPGA tools nowadays. This has recently been debated in HN (more than once)[1][2], but to contextualize how difficult and important it is. Imagine how GCC, or CLang, or even Microsoft and other compilers would be if this was the case. I highly doubt there would be any Linux or BSD to tell the story if this was the case.<p>[1] <a href="https://news.ycombinator.com/item?id=5895672" rel="nofollow">https://news.ycombinator.com/item?id=5895672</a>
[2] <a href="https://news.ycombinator.com/item?id=9408881" rel="nofollow">https://news.ycombinator.com/item?id=9408881</a>