2012-02-14 09:43:09 -05:00
|
|
|
[> 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
|
|
|
|
|
2012-06-03 16:17:34 -04:00
|
|
|
[> Instructions (software)
|
|
|
|
--------------------------
|
|
|
|
1. Compile and install binutils. Take the latest version from GNU.
|
|
|
|
./configure --target=lm32-elf
|
|
|
|
make
|
|
|
|
make install
|
|
|
|
|
|
|
|
2. Compile and install LLVM and Clang.
|
|
|
|
git clone git://github.com/milkymist/llvm-lm32.git
|
|
|
|
cd llvm-lm32/tools
|
|
|
|
git clone git://github.com/milkymist/clang-lm32.git clang
|
|
|
|
cd ..
|
|
|
|
mkdir build
|
|
|
|
cmake ..
|
|
|
|
make
|
|
|
|
make install
|
|
|
|
|
|
|
|
3. Build compiler-rt.
|
|
|
|
git clone git://github.com/milkymist/compiler-rt-lm32.git
|
|
|
|
cd compiler-rt-lm32
|
|
|
|
make lm32
|
|
|
|
|
|
|
|
4. Set the CRTDIR environment variable to where the libcompiler_rt.a is.
|
|
|
|
export CRTDIR=/path_to/compiler-rt-lm32/lm32/lm32
|
|
|
|
|
|
|
|
5. Build and flash the BIOS (part of this source distribution).
|
|
|
|
cd software/bios
|
|
|
|
make
|
|
|
|
make flash
|
|
|
|
|
|
|
|
The second command requires UrJTAG and FJMEM.
|
|
|
|
|
|
|
|
[> Instructions (gateware)
|
|
|
|
--------------------------
|
2012-02-14 09:43:09 -05:00
|
|
|
First, download and install Migen from:
|
|
|
|
https://github.com/milkymist/migen
|
|
|
|
|
|
|
|
Once this is done, build the bitstream with:
|
2012-05-24 13:04:30 -04:00
|
|
|
make
|
2012-02-14 09:43:09 -05:00
|
|
|
This will generate the build/soc.bit programming file.
|
2012-06-03 16:17:34 -04:00
|
|
|
Use:
|
|
|
|
make load
|
|
|
|
to load it with UrJTAG.
|
2012-02-14 09:43:09 -05:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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
|
2012-02-19 12:43:42 -05:00
|
|
|
conjunction with the LatticeMico32 CPU core from Lattice.
|
2012-02-14 09:43:09 -05:00
|
|
|
|
|
|
|
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.
|