Skip to content

Commit b157d84

Browse files
author
Sebastien Bourdeauducq
committedFeb 14, 2012
README
1 parent aef2e4b commit b157d84

File tree

1 file changed

+79
-0
lines changed

1 file changed

+79
-0
lines changed
 

‎README

+79
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
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

Comments
 (0)
Please sign in to comment.