diff --git a/content/gateware/migen.md b/content/gateware/migen.md index 8849e8ac..c2956600 100644 --- a/content/gateware/migen.md +++ b/content/gateware/migen.md @@ -1,4 +1,95 @@ +++ title = "Migen" weight = 1 +template = "page.html" + +[extra] +logo = "images/migen@2x.png" +logo_size = 125 +title = "migen" +++ + +{% centerp(safe=true) %} +
Migen is a Python-based tool that automates further the VLSI design process.
+{% end %} + + +{% layoutlr1() %} + +
+

+ Despite being faster than schematics entry, hardware design with Verilog and VHDL remains tedious and inefficient for several reasons. The event-driven model introduces issues and manual coding that are unnecessary for synchronous circuits, which represent the lion's share of today's logic designs. Counter-intuitive arithmetic rules result in steeper learning curves and provide a fertile ground for subtle bugs in designs. Finally, support for procedural generation of logic (metaprogramming) through "generate" statements is very 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. +

+
+ +{% end %} + + +{% layoutlr1() %} +
+ +

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 for MiSoC.
+

You can find the Migen source here, released under the permissive BSD license.

+

Documentation (note: sometimes out of date - please help!)

+ +
+ +
+{% end %} + + +{% layoutlr1() %} +
+ +
MiSoC
+ +

Built on Migen, MiSoC provides a high performance, flexible and lightweight solution to build system-on-chips for various applications.

+ + + +

The MiSoC source is here, mostly covered by the permissive BSD license.

+ +
+ + +
+ +
+ +{% end %} \ No newline at end of file diff --git a/sass/css/_base.scss b/sass/css/_base.scss index aa3e3a1d..43b27c09 100644 --- a/sass/css/_base.scss +++ b/sass/css/_base.scss @@ -160,4 +160,23 @@ a { &:hover { outline: none; } +} + +ul.th { + list-style: none; +} + +ul.th li::before { + content: "\2022"; + color: $brand-color; + font-weight: bold; + display: inline-block; + width: 1em; + margin-left: -1em; +} + +.bg-white-shadow { + background: url(../images/migen-links@2x.png); + background-repeat: no-repeat; + background-size: 730px 262px; } \ No newline at end of file diff --git a/sass/css/_layout.scss b/sass/css/_layout.scss index e88e27d0..8676c448 100644 --- a/sass/css/_layout.scss +++ b/sass/css/_layout.scss @@ -3,7 +3,7 @@ background: none; } .hero2, .hero3 { - height: 130px; + //height: 130px; background: none; } diff --git a/static/images/migen-links@2x.png b/static/images/migen-links@2x.png new file mode 100644 index 00000000..69a811c8 Binary files /dev/null and b/static/images/migen-links@2x.png differ diff --git a/static/images/migen@2x.png b/static/images/migen@2x.png new file mode 100644 index 00000000..5654250c Binary files /dev/null and b/static/images/migen@2x.png differ diff --git a/static/images/side-graphic-min.png b/static/images/side-graphic-min.png new file mode 100644 index 00000000..ee8df1e9 Binary files /dev/null and b/static/images/side-graphic-min.png differ diff --git a/templates/customs/about-us.html b/templates/customs/about-us.html index 0895e12f..294bb484 100644 --- a/templates/customs/about-us.html +++ b/templates/customs/about-us.html @@ -7,7 +7,7 @@
-
+
diff --git a/templates/customs/resources.html b/templates/customs/resources.html index f289fc66..73d06daf 100644 --- a/templates/customs/resources.html +++ b/templates/customs/resources.html @@ -7,7 +7,7 @@
-
+
diff --git a/templates/page.html b/templates/page.html index dcb1a49b..e2f5ba94 100644 --- a/templates/page.html +++ b/templates/page.html @@ -15,10 +15,14 @@
-
+
+ {% if page.extra and page.extra.logo %} + logo + {% endif %} + {% if page.extra and page.extra.title %}

{{ page.extra.title }}

{% else %}