99d1748c1d43dde2a9bf7149611a652556b71965
[litex.git] / README
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 (software)
18 --------------------------
19 1. Compile and install binutils. Take the latest version from GNU.
20 ./configure --target=lm32-elf
21 make
22 make install
23
24 2. Compile and install LLVM and Clang.
25 git clone git://github.com/milkymist/llvm-lm32.git
26 cd llvm-lm32/tools
27 git clone git://github.com/milkymist/clang-lm32.git clang
28 cd ..
29 mkdir build
30 cmake ..
31 make
32 make install
33
34 3. Build compiler-rt.
35 git clone git://github.com/milkymist/compiler-rt-lm32.git
36 cd compiler-rt-lm32
37 make lm32
38
39 4. Set the CRTDIR environment variable to where the libcompiler_rt.a is.
40 export CRTDIR=/path_to/compiler-rt-lm32/lm32/lm32
41
42 5. Build and flash the BIOS (part of this source distribution).
43 cd software/bios
44 make
45 make flash
46
47 The second command requires UrJTAG and FJMEM.
48
49 [> Instructions (gateware)
50 --------------------------
51 First, download and install Migen from:
52 https://github.com/milkymist/migen
53
54 Once this is done, build the bitstream with:
55 make
56 This will generate the build/soc.bit programming file.
57 Use:
58 make load
59 to load it with UrJTAG.
60
61 The SoC expects a bootloader to be located in flash at 0x860000, just
62 like the legacy SoC did. However, there is no binary compatibility and a
63 new BIOS needs to be built and flashed for the -NG SoC.
64
65 Enjoy!
66
67 [> Misc
68 -------
69 Code repository:
70 https://github.com/milkymist/milkymist-ng
71
72 Send questions, comments and patches to devel [AT] lists.milkymist.org
73 We are also on IRC: #milkymist on the Freenode network.
74
75 Milkymist-NG is free software: you can redistribute it and/or modify it
76 under the terms of the GNU General Public License as published by the
77 Free Software Foundation, version 3 of the License. This program is
78 distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
79 without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
80 PARTICULAR PURPOSE. See the GNU General Public License for more details.
81
82 The authors grant the additional permissions that the code can be used in
83 conjunction with the LatticeMico32 CPU core from Lattice.
84
85 Unless otherwise noted, Milkymist-NG's source code is copyright (C)
86 2011-2012 Sebastien Bourdeauducq. Other authors retain ownership of their
87 contributions. If a submission can reasonably be considered independently
88 copyrightable, it's yours and I encourage you to claim it with
89 appropriate copyright notices. This submission then falls under the
90 "otherwise noted" category. All submissions must use a license compatible
91 with the GPL and the additional permissions above.