Build your hardware, easily!
Go to file
Brandon Hamilton 49b58a03a0 Optionally accept iverilog simulator options 2012-04-03 12:58:19 +02:00
doc fhdl: phase out pads 2012-04-02 19:21:43 +02:00
examples Update copyright notices 2012-03-23 16:41:30 +01:00
migen Optionally accept iverilog simulator options 2012-04-03 12:58:19 +02:00
vpi vpi: delete merged Icarus Verilog patch 2012-04-02 19:11:32 +02:00
.gitignore doc: switch to sphinx 2012-03-09 17:08:38 +01:00
README Update copyright notices 2012-03-23 16:41:30 +01:00
setup.py setup.py: simplify 2012-03-11 00:52:13 +01:00

README

Migen (Milkymist Generator)
  a Python toolbox for building complex digital hardware

Migen 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 also provides tools to build
synchronous designs more productively, integrate system-on-chips, design
dataflow systems, and more. Migen will become the foundation for the
next-generation Milkymist SoC.

See the doc/ folder for a more complete description.

Code repository:
https://github.com/milkymist/migen
Experimental version of the Milkymist SoC based on Migen:
https://github.com/milkymist/milkymist-ng

Migen is designed for Python 3.2.

Send questions, comments and patches to devel [AT] lists.milkymist.org
We are also on IRC: #milkymist on the Freenode network.

Migen is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation, version 3 of the License. This program is
distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details.

Additional permissions under section 7 of the GNU General Public License
(GPL) are hereby granted. The purpose of this exception is to allow
non-GPL (including proprietary) logic cores to be used in conjunction
with code generated by Migen in a design.

"Generated" code refers to Verilog or VHDL code that has been obtained
by converting FHDL structures using Migen.

To "instantiate" is to include and connect another module as specified
in section 12.1.2 of the IEEE standard 1364-2001 or in section 9.6 of
the IEEE standard 1076-1993.

(1) You have permission to propagate a work of generated code that
    instantiates modules that are not generated code and do not comply
    with the GPL.
(2) You have permission to propagate a work of Verilog or VHDL code that
    is not generated code, does not comply with the GPL and instantiates
    generated code.

The availability of this exception does not imply any general
presumption that third-party software is unaffected by the copyleft
requirements of the license of Migen.

Unless otherwise noted, Migen's source code is copyright (C) 2011-2012
Sebastien Bourdeauducq.

The simulation extension (as mentioned in the comments at the beginning
of the corresponding source files) is copyright (C) 2012 Vermeer
Manufacturing Co.

Other authors retain ownership of their contributions. If a submission
can reasonably be considered independently copyrightable, it's yours and
I encourage you to claim it with appropriate copyright notices. This
submission then falls under the "otherwise noted" category. All
submissions must use a license compatible with the GPL and the exception
above.


  "Electricity! It's like magic!"