From b157d84434d8589180201606358da5167c1db1b3 Mon Sep 17 00:00:00 2001 From: Sebastien Bourdeauducq Date: Tue, 14 Feb 2012 15:43:09 +0100 Subject: [PATCH] README --- README | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 README diff --git a/README b/README new file mode 100644 index 000000000..5dc6b6424 --- /dev/null +++ b/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: + http://milkymist.org + +Note that the -NG version is still experimental work in progress. For the +production version of Milkymist SoC, visit: + https://github.com/milkymist/milkymist + +[> Instructions +--------------- +First, download and install Migen from: + https://github.com/milkymist/migen + +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: + http://www.xilinx.com/products/intellectual-property/1-1MFEDB.htm +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 build.py +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: + https://github.com/milkymist/llvm-lm32 + https://github.com/milkymist/clang-lm32 + +Enjoy! + +[> Misc +------- +Code repository: + https://github.com/milkymist/milkymist-ng + +Send questions, comments and patches to devel [AT] lists.milkymist.org +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.