Migen
Started late 2011 and still experimental, Migen (Milkymist generator) is a Python-based tool that aims at automating further the VLSI design process.
Migen makes it possible to apply modern software concepts such as object-oriented programming and metaprogramming to design hardware. This results in more elegant and easily maintained designs and reduces the incidence of human errors.
Built on these principles, it provides or will provide tools to:
- build synchronous designs more productively by automating tasks like resetting registers and abstracting away the event-driven paradigm of HDLs.
- integrate system-on-chips, for example by automatically interconnecting on-chip buses such as Wishbone.
- design hardware accelerators in the dataflow paradigm, with semi-automatic integration in a SoC.
- and more...
Migen will become the foundation for the next-generation Milkymist SoC, and is also used in the Rhino software-defined radio platform.
See the user guide for more details. You can find the Migen source here, released under a permissive license.