|
| 1 | +[> Milkymist-NG system-on-chip |
| 2 | +------------------------------ |
| 3 | + |
| 4 | +This is the next-generation Milkymist(tm) system-on-chip design, |
| 5 | +introducing two key innovations: |
| 6 | + * Built on the powerful Migen VLSI logic design system. |
| 7 | + * Increased system memory performance thanks to a new architecture |
| 8 | + (ASMI) containing a transaction-reordering and superscalar controller. |
| 9 | + |
| 10 | +The Milkymist-NG SoC supports the Milkymist One board. Obtain yours from: |
| 11 | + http://milkymist.org |
| 12 | + |
| 13 | +Note that the -NG version is still experimental work in progress. For the |
| 14 | +production version of Milkymist SoC, visit: |
| 15 | + https://github.com/milkymist/milkymist |
| 16 | + |
| 17 | +[> Instructions |
| 18 | +--------------- |
| 19 | +First, download and install Migen from: |
| 20 | + https://github.com/milkymist/migen |
| 21 | + |
| 22 | +Then, you will need to fetch the "Spartan-6 FPGA DDR/DDR2 SDRAM PHY core" |
| 23 | +(PHY only solution, we do not need the NWL memory controller) from: |
| 24 | + http://www.xilinx.com/products/intellectual-property/1-1MFEDB.htm |
| 25 | +Downloading it is free of charge, but it cannot be redistributed in |
| 26 | +source form due to copyright restrictions. |
| 27 | + |
| 28 | +Place the Verilog source code of the PHY (contents of |
| 29 | +phy_rtl/spartan6_soft_phy) into the verilog/s6ddrphy folder. |
| 30 | +Then run (from verilog/s6ddrphy): |
| 31 | + quilt push -a |
| 32 | +in order to apply patches that make the PHY more compliant with the DFI |
| 33 | +specification in general, and in particular with the capability to send |
| 34 | +multiple SDRAM commands in one system clock cycle, which our new SDRAM |
| 35 | +controller is capable of doing. |
| 36 | +The patches are against version 1.04 of the PHY. |
| 37 | + |
| 38 | +Once this is done, build the bitstream with: |
| 39 | + python3 build.py |
| 40 | +This will generate the build/soc.bit programming file. |
| 41 | + |
| 42 | +The SoC expects a bootloader to be located in flash at 0x860000, just |
| 43 | +like the legacy SoC did. However, there is no binary compatibility and a |
| 44 | +new BIOS needs to be built and flashed for the -NG SoC. |
| 45 | + |
| 46 | +You can find the source code of a compatible BIOS in the software/bios |
| 47 | +directory. It compiles with Clang and LLVM by default, and you can find |
| 48 | +the modified version with support for LM32 at: |
| 49 | + https://github.com/milkymist/llvm-lm32 |
| 50 | + https://github.com/milkymist/clang-lm32 |
| 51 | + |
| 52 | +Enjoy! |
| 53 | + |
| 54 | +[> Misc |
| 55 | +------- |
| 56 | +Code repository: |
| 57 | + https://github.com/milkymist/milkymist-ng |
| 58 | + |
| 59 | +Send questions, comments and patches to devel [AT] lists.milkymist.org |
| 60 | +We are also on IRC: #milkymist on the Freenode network. |
| 61 | + |
| 62 | +Milkymist-NG is free software: you can redistribute it and/or modify it |
| 63 | +under the terms of the GNU General Public License as published by the |
| 64 | +Free Software Foundation, version 3 of the License. This program is |
| 65 | +distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; |
| 66 | +without even the implied warranty of MERCHANTABILITY or FITNESS FOR A |
| 67 | +PARTICULAR PURPOSE. See the GNU General Public License for more details. |
| 68 | + |
| 69 | +The authors grant the additional permissions that the code can be used in |
| 70 | +conjunction with the LatticeMico32 CPU core from Lattice and the |
| 71 | +Spartan-6 FPGA DDR/DDR2 SDRAM PHY core from Xilinx and Northwest Logic. |
| 72 | + |
| 73 | +Unless otherwise noted, Milkymist-NG's source code is copyright (C) |
| 74 | +2011-2012 Sebastien Bourdeauducq. Other authors retain ownership of their |
| 75 | +contributions. If a submission can reasonably be considered independently |
| 76 | +copyrightable, it's yours and I encourage you to claim it with |
| 77 | +appropriate copyright notices. This submission then falls under the |
| 78 | +"otherwise noted" category. All submissions must use a license compatible |
| 79 | +with the GPL and the additional permissions above. |
0 commit comments