Migen (Milkymist generator)

A Python toolbox for building complex digital hardware.

The Migen FHDL library replaces the event-driven paradigm with the
notions of combinatorial and synchronous statements, has arithmetic
rules that make integers always behave like mathematical integers, and
most importantly allows the design's logic to be constructed by a
Python program. This last point enables hardware designers to take
advantage of the richness of the Python language - object oriented
programming, function parameters, generators, operator overloading,
libraries, etc. - to build well organized, reusable and elegant
designs.
