4 ms·
Hi, I'm the author of MurmurHash and GateBoy, amongst other things. About 6 months ago I started working on a tool to convert GateBoy's source code (after "lif
by aappleby 4y ago
Hi, I'm the author of MurmurHash and GateBoy, amongst other things.
About 6 months ago I started working on a tool to convert GateBoy's source code (after "lifting" it into more standard C++) to Verilog. This project turned out to be much more interesting than expected, so I broke it out into its own repo and built a pretty decent test suite and tutorial for it.
The repo contains a "live" demo version of Metron (compiled into WebAssembly via Emscripten) along with a tutorial that walks through how to build Metron modules and some of the rules that your C++ code is required to follow for it to be convertible.
There is a fairly thorough test suite with code coverage, but as this is the first public build of Metron bugs are expected and error messages aren't particularly useful. If you're a professional hardware dev, please let me know if Metron would be useful to you and what features you'd like to see added. If you're new to Verilog and FPGA development, take a look at the tutorial and point out where things need additional clarification.
"Metron should make it possible to write small, simple hardware peripherals that simulate in realtime (or faster) on a PC, work flawlessly when compiled for a FPGA, and that are understandable and debuggable by most C++ programmers without special tools. I look forward to seeing what people do with it."
-Austin Appleby