The Milkymist SoC is at the core of the project. It is a 100% open source system-on-chip (SoC) design written in Verilog HDL. Featuring the LatticeMico32 processor core, it is capable of executing complex, fully-fledged software (including nommu Linux) and comes with an extensive set of custom-built peripherals and graphics accelerators. Read this report for the details about the architecture.
Master's thesis report (PDF) (Recommended reading)
Slides (PDF)
Technical overview paper (PDF)
BIOS reference manual (PDF)
CSR bus specifications (PDF)
FastMemoryLink specifications (PDF)
LatticeMico32 Processor Reference Manual (PDF)
Simple UART (PDF)
System controller (PDF)
High Performance Dynamic Memory Controller (PDF)
VGA framebuffer (PDF)
AC'97 controller (PDF)
Programmable Floating Point Unit (PDF)
Texture Mapping Unit revision 2 (PDF)
Minimac - the minimalist Ethernet MAC (PDF)
DMX512 cores (PDF)
Technical conference slides (overview) (PDF)
Browse all official documentation (including chip datasheets, small IP cores documentation, and work in progress)
Download all official documentation (TAR.BZ2)
The SoC source distribution includes software libraries, the BIOS and the demonstration firmware, as well as test benches, LaTeX source for the documentation, build scripts, etc. Most of it is covered by the GNU GPL license version 3, see the README file for details.
Latest release - 0.8 (TAR.BZ2)
All versions (including old snapshots)
The repository is hosted by GitHub and is available here.
Binary kits provide you with a quick solution to install the Milkymist SoC on your FPGA board. They are also useful for the software developer who does not want to install bulky FPGA tools and still be able to develop software for the Milkymist SoC.
Binary kit Release 0.8 for Milkymist One (TAR.BZ2)
Check out the wiki for information about how to use these binaries.
GCC 4.4 LatticeMico32 toolchain (TAR.BZ2) (Binary for Linux/x86). Recommended.
LatticeMico32 toolchain (TAR.BZ2) (Binary for Linux/x86). From LatticeMico32 System 7.2. Not recommended - Produces broken code in some circumstances (compiling Linux kernels for example).
GPL Cver 2.12a (TAR.GZ) (Sources)
Verilator 3.702 (TAR.GZ) (Sources)
Icarus Verilog 0.9.1 (TAR.GZ) (Sources)
To make your life easier, Debian packages are available for the LatticeMico32 GCC toolchain used for building Milkymist software, and for flterm, the RS232 software upload program.
Add this line to your /etc/apt/sources.list:
deb http://www.milkymist.org/debian/ ./
and install with:
apt-get update
apt-get install gcc-lm32 flterm