Browse files


  • Loading branch information...
1 parent aef2e4b commit b157d84434d8589180201606358da5167c1db1b3 @sbourdeauducq sbourdeauducq committed Feb 14, 2012
Showing with 79 additions and 0 deletions.
  1. +79 −0 README
@@ -0,0 +1,79 @@
+[> Milkymist-NG system-on-chip
+This is the next-generation Milkymist(tm) system-on-chip design,
+introducing two key innovations:
+ * Built on the powerful Migen VLSI logic design system.
+ * Increased system memory performance thanks to a new architecture
+ (ASMI) containing a transaction-reordering and superscalar controller.
+The Milkymist-NG SoC supports the Milkymist One board. Obtain yours from:
+Note that the -NG version is still experimental work in progress. For the
+production version of Milkymist SoC, visit:
+[> Instructions
+First, download and install Migen from:
+Then, you will need to fetch the "Spartan-6 FPGA DDR/DDR2 SDRAM PHY core"
+(PHY only solution, we do not need the NWL memory controller) from:
+Downloading it is free of charge, but it cannot be redistributed in
+source form due to copyright restrictions.
+Place the Verilog source code of the PHY (contents of
+phy_rtl/spartan6_soft_phy) into the verilog/s6ddrphy folder.
+Then run (from verilog/s6ddrphy):
+ quilt push -a
+in order to apply patches that make the PHY more compliant with the DFI
+specification in general, and in particular with the capability to send
+multiple SDRAM commands in one system clock cycle, which our new SDRAM
+controller is capable of doing.
+The patches are against version 1.04 of the PHY.
+Once this is done, build the bitstream with:
+ python3
+This will generate the build/soc.bit programming file.
+The SoC expects a bootloader to be located in flash at 0x860000, just
+like the legacy SoC did. However, there is no binary compatibility and a
+new BIOS needs to be built and flashed for the -NG SoC.
+You can find the source code of a compatible BIOS in the software/bios
+directory. It compiles with Clang and LLVM by default, and you can find
+the modified version with support for LM32 at:
+[> Misc
+Code repository:
+Send questions, comments and patches to devel [AT]
+We are also on IRC: #milkymist on the Freenode network.
+Milkymist-NG 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.
+The authors grant the additional permissions that the code can be used in
+conjunction with the LatticeMico32 CPU core from Lattice and the
+Spartan-6 FPGA DDR/DDR2 SDRAM PHY core from Xilinx and Northwest Logic.
+Unless otherwise noted, Milkymist-NG's source code is copyright (C)
+2011-2012 Sebastien Bourdeauducq. 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 additional permissions above.

0 comments on commit b157d84

Please sign in to comment.