nMigen – a new improved Migen developed by whitequark!
As people may know, I’m a big supporter of the Migen and associated LiteX ecosystem. As of today if you are starting a new project today, I would instead recommend that you chose to use nMigen instead.
nMigen, A refreshed Python toolbox for building complex digital hardware is a project that whitequark has been working on for the last couple of years and I’m really liking the new improve syntax and the fact that it interfaces directly to Yosys.
There seems a lot of interesting things happening in the nMigen ecosystem;
- Lambda Concept has built an 32-bit RISC-V soft processor called Minerva. The CPU core currently implements the RISC-V RV32IM instruction set, is pipelined on 6 stages and largely inspired by the LatticeMico32 processor.
- Robert Baruch has a multipart series where he uses nMigen — a Python toolbox — to recreate a 6800 CPU like the one used in many vintage video games and pinball machines.
- Kate Temkin is also working on creating a new USB 2.0 protocol stack in nMigen for the LUNA: a USB multitool (& nMigen library). I believe that she is also hoping to work on a USB 3.0 stack using the ECP5 high speed transceivers by rewriting the Daisho core and the work that Enjoy Digital did to make a transceivers adapter.