You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/introduction.rst
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@ Background
12
12
13
13
Even though the Milkymist system-on-chip [mm]_ had many successes, it suffers from several limitations stemming from its implementation in manually written Verilog HDL:
14
14
15
-
.. [mm] http://m-labs.hk
15
+
.. [mm] https://m-labs.hk/gateware/m1/
16
16
17
17
#. The "event-driven" paradigm of today's dominant hardware descriptions languages (Verilog and VHDL, collectively referred to as "V*HDL" in the rest of this document) is often too general. Today's FPGA architectures are optimized for the implementation of fully synchronous circuits. This means that the bulk of the code for an efficient FPGA design falls into three categories:
18
18
@@ -40,8 +40,8 @@ Even though the Milkymist system-on-chip [mm]_ had many successes, it suffers fr
40
40
#. Many hardware acceleration problems can fit into the dataflow programming model. Manual dataflow implementation in V*HDL has, again, a lot of redundancy and potential for human errors. See the Milkymist texture mapping unit [mthesis]_ [mxcell]_ for an example of this. The amount of detail to deal with manually also makes the design space exploration difficult, and therefore hinders the design of efficient architectures.
41
41
#. Pre-computation of values, such as filter coefficients for DSP or even simply trigonometric tables, must often be done using external tools whose results are copy-and-pasted (in the best case, automatically) into the V*HDL source.
Enter Migen, a Python toolbox for building complex digital hardware. We could have designed a brand new programming language, but that would have been reinventing the wheel instead of being able to benefit from Python's rich features and immense library. The price to pay is a slightly cluttered syntax at times when writing descriptions in FHDL, but we believe this is totally acceptable, particularly when compared to VHDL ;-)
47
47
@@ -58,16 +58,16 @@ Installing Migen
58
58
Either run the ``setup.py`` installation script or simply set ``PYTHONPATH`` to the root of the source directory.
59
59
60
60
If you wish to contribute patches, the suggest way to install is;
61
-
#. Clone from the git repository at http://github.com/m-labs/migen
61
+
#. Clone from the git repository at https://github.com/m-labs/migen
62
62
#. Install using ``python3 ./setup.py develop --user``
63
63
#. Edit the code in your git checkout.
64
64
65
65
Alternative install methods
66
66
===========================
67
67
68
68
* Migen is available for the Anaconda Python distribution. The package can be found at at https://anaconda.org/m-labs/migen
69
-
* Migen can be referenced in a requirements.txt file (used for ``pip install -r requirements.txt``) via ``-e git+http://github.com/m-labs/migen.git#egg=migen``. See the pip documentation for more information.
69
+
* Migen can be referenced in a requirements.txt file (used for ``pip install -r requirements.txt``) via ``-e git+https://github.com/m-labs/migen.git#egg=migen``. See the pip documentation for more information.
70
70
71
71
Feedback
72
72
********
73
-
Feedback concerning Migen or this manual should be sent to the M-Labs developers' mailing list ``devel`` on lists.m-labs.hk.
73
+
Feedback concerning Migen or this manual should be sent to the M-Labs forum at https://forum.m-labs.hk or in GitHub issues.
0 commit comments