README: update
This commit is contained in:
parent
80970b203c
commit
c4d9734e53
38
README
38
README
|
@ -1,25 +1,43 @@
|
||||||
Migen (Milkymist Generator)
|
Migen (Milkymist Generator)
|
||||||
a Python toolbox for building complex digital hardware
|
a Python toolbox for building complex digital hardware
|
||||||
|
|
||||||
Migen aims at automating further the VLSI design process. Migen makes it
|
Despite being faster than schematics entry, hardware design with Verilog and
|
||||||
possible to apply modern software concepts such as object-oriented
|
VHDL remains tedious and inefficient for several reasons. The event-driven
|
||||||
programming and metaprogramming to design hardware. This results in more
|
model introduces issues and manual coding that are unnecessary for synchronous
|
||||||
elegant and easily maintained designs and reduces the incidence of human
|
circuits, which represent the lion's share of today's logic designs. Counter-
|
||||||
errors. Built on these principles, it also provides tools to build
|
intuitive arithmetic rules result in steeper learning curves and provide a
|
||||||
synchronous designs more productively, integrate system-on-chips, design
|
fertile ground for subtle bugs in designs. Finally, support for procedural
|
||||||
dataflow systems, and more. Migen will become the foundation for the
|
generation of logic (metaprogramming) through "generate" statements is very
|
||||||
next-generation Milkymist SoC.
|
limited and restricts the ways code can be made generic, reused and organized.
|
||||||
|
|
||||||
|
To address those issues, we have developed the Migen FHDL library that
|
||||||
|
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.
|
||||||
|
|
||||||
|
Other Migen libraries are built on FHDL and provide various tools such as a
|
||||||
|
system-on-chip interconnect infrastructure, a dataflow programming system, a
|
||||||
|
more traditional high-level synthesizer that compiles Python routines into
|
||||||
|
state machines with datapaths, and a simulator that allows test benches to be
|
||||||
|
written in Python.
|
||||||
|
|
||||||
|
Migen is the foundation of the next-generation Milkymist SoC.
|
||||||
|
|
||||||
See the doc/ folder for a more complete description.
|
See the doc/ folder for a more complete description.
|
||||||
|
|
||||||
Code repository:
|
Code repository:
|
||||||
https://github.com/milkymist/migen
|
https://github.com/milkymist/migen
|
||||||
Experimental version of the Milkymist SoC based on Migen:
|
New Milkymist SoC based on Migen:
|
||||||
https://github.com/milkymist/milkymist-ng
|
https://github.com/milkymist/milkymist-ng
|
||||||
|
|
||||||
Migen is designed for Python 3.2.
|
Migen is designed for Python 3.
|
||||||
|
|
||||||
Send questions, comments and patches to devel [AT] lists.milkymist.org
|
Send questions, comments and patches to devel [AT] lists.milkymist.org
|
||||||
|
There is a lot of room for improvement in many areas, contributions welcome.
|
||||||
We are also on IRC: #milkymist on the Freenode network.
|
We are also on IRC: #milkymist on the Freenode network.
|
||||||
|
|
||||||
See LICENSE file for copyright and license info.
|
See LICENSE file for copyright and license info.
|
||||||
|
|
Loading…
Reference in New Issue