* 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:
+The Milkymist-NG SoC supports the Milkymist One board. Obtain yours at:
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
----------------
+[> Instructions (software)
+--------------------------
+1. Compile and install binutils. Take the latest version from GNU.
+ mkdir build && cd build
+ ../configure --target=lm32-elf
+ make
+ make install
+
+2. Compile and install GCC 4.5. Take gcc-core and gcc-g++ from GNU.
+ rm -rf libstdc++-v3
+ mkdir build && cd build
+ ../configure --target=lm32-elf --enable-languages="c,c++" --disable-libgcc --disable-libssp
+ make
+ make install
+
+3. Obtain compiler-rt and set the CRTDIR environment variable to the root of
+ its source tree.
+ svn co http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
+ export CRTDIR=/path_to/compiler-rt
+
+4. Build and flash the BIOS (part of this source distribution).
+ cd software/bios
+ make
+ make flash
+
+The second command requires m1nor, FJMEM and UrJTAG.
+These tools can be found at:
+ https://github.com/milkymist/fjmem-m1
+ http://urjtag.org
+
+[> Instructions (gateware)
+--------------------------
First, download and install Migen from:
https://github.com/milkymist/migen
Once this is done, build the bitstream with:
- python3 build.py
+ make
This will generate the build/soc.bit programming file.
+Use:
+ make load
+to load it with UrJTAG.
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
conjunction with the LatticeMico32 CPU core from Lattice.
Unless otherwise noted, Milkymist-NG's source code is copyright (C)
-2011-2012 Sebastien Bourdeauducq. Other authors retain ownership of their
+2011-2013 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