Follow @milkymistvj

The Milkymist SoC is at the core of our devices. 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

Technical overview paper (PDF) (Recommended reading)

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

Slides (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)

DMX512 cores (PDF)

RC5 decoder (PDF)

BT656 capture core (PDF)

Memory card controller (PDF)

Soft USB core (PDF)

Misc

Technical conference slides (overview) (PDF)

Browse all official documentation (including chip datasheets, small IP cores documentation, and work in progress)

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.

Git access

The repository is hosted by GitHub and is available here.

Third-party tools

LM32 toolchain - see RTEMS. Use the RTEMS 4.11 toolchain.

GPL Cver 2.12a (TAR.GZ) (Sources)

Verilator 3.702 (TAR.GZ) (Sources)

Icarus Verilog 0.9.1 (TAR.GZ) (Sources)