4 ms·
Very interesting. Please take note that this is not your usual transpiler such as MyHDL or Migen: "Behind the scenes, Chips uses some novel techniques to gener
by aylons 8y ago
Very interesting. Please take note that this is not your usual transpiler such as MyHDL or Migen:
"Behind the scenes, Chips uses some novel techniques to generate compact and efficient logic - a hybrid of software and hardware.
Not only does the compiler translate the C code into CPU instructions, it also generates a customised pipelined RISC CPU on the fly. The CPU provides the optimal instruction set for any particular C program."
I'll test it out soon and post about it.
- patrickg_zill 8y agoI wonder what it would do if you compiled a small Lisp or Scheme interpreter that included eval with it.
- aylons 8y agoI'm not sure if I have the software skills for that (my compilers course is still pending in Coursera), but will try to do it! However, I would not raise my expectations that much.
- UncleEntity 8y agoYou could try one of the minischeme implementations floating around github without too much fuss. Not sure how FPGAs do their thing but a swapping out fgets() with something else and setting up the garbage collector to use one block of memory would probably be necessary I'd imagine.
- aylons 8y agoThe FPGA architecture is not the problem here. This Chips thing works on another level of abstraction: it will generate a small RISC CPU and run the interpreter it compiles. So, maybe I can try to port http://armpit.sourceforge.net/ http://armpit.sourceforge.net/ or something like this. But I don't expect not very interesting to happen. The " CPU optimization" will not result on a Lisp Machine. It will probably just compile the interpreter as usual and prune unnecessary instructions.