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.

Documentation

General documentation

Master's thesis report (PDF) (Recommended reading)

Slides (PDF)

Technical overview paper (PDF)

BIOS reference manual (PDF)

CSR bus specifications (PDF)

FastMemoryLink specifications (PDF)

IP core documentation

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)

Misc

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)

Wiki documentation

Source distribution

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.

Release tarballs

Latest release - 0.8 (TAR.BZ2)

All versions (including old snapshots)

Git access

The repository is hosted by GitHub and is available here.

Binary kits

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.

Free third-party tools

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)

Debian/Ubuntu packages

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