web-legacy/mmsoc.html

52 lines
3.0 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>M-Labs</title>
<link rel="stylesheet" type="text/css" media="screen" href="style.css" />
<link rel="icon" type="image/png" href="favicon.png" />
</head>
<body>
<div id="logo"><img src="mlabs.svg">M-Labs</div>
<div id="topmenu"><a href="mixxeo.html">Products</a> <a href="migen.html" class="selected">Technology</a> <a href="community.html">Community</a></div>
<div id="leftmenu">
<div id="leftmenutitle">Current</div>
<ul>
<li><a href="migen.html">Migen</a></li>
<li><a href="msc.html">MiSoC</a></li>
</ul>
<div id="leftmenutitle">Legacy</div>
<ul>
<li><a href="mmsoc.html">Milkymist SoC</a></li>
<li><a href="flickernoise.html">Flickernoise</a></li>
</ul>
</div>
<div id="main">
<div id="illus"><img src="wafers.jpg" alt="source: http://en.wikipedia.org/wiki/File:Wafer_2_Zoll_bis_8_Zoll_2.jpg"></div>
<div id="title">Milkymist SoC</div>
<p>The Milkymist SoC is at the core of our devices, implemented (so far) in a FPGA.</p>
<p>The Milkymist <a href="http://en.wikipedia.org/wiki/System-on-chip">system-on-chip</a> uses the <a href="http://www.latticesemi.com/mico32">LatticeMico32</a> (LM32) core as a general purpose processor. It is a RISC 32-bit big endian CPU without a memory management unit (MMU). It is supported by the GCC compiler and can run <a href="http://www.rtems.com">RTEMS</a> and <a href="http://www.github.com/m-labs/linux-milkymist">uClinux</a>. There is also an <a href="https://github.com/m-labs/llvm-lm32">experimental back-end for LLVM</a> targeting this microprocessor.</p>
<p>The LM32 microprocessor is assisted by a texture mapping unit and a programmable floating point VLIW coprocessor which are used by the Flickernoise video synthesis software. It is also surrounded by various peripheral cores to support every I/O device of the Milkymist One. The system-on-chip interconnect uses three bridged buses and mixes the Wishbone protocol with two custom protocols used for configuration registers and high performance DMA with the SDRAM.</p>
<p>The architecture of the Milkymist system-on-chip is largely documented in the project founder's <a href="thesis/thesis.pdf">Master thesis report</a>. Most components of the system-on-chip, except the LatticeMico32 core, were custom developed and placed under the GNU GPL license.</p>
<p>The QEMU emulator can be used to run and debug Milkymist SoC binaries on another computer.</p>
<p>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. The repository is hosted by GitHub and is available <a href="http://github.com/m-labs/milkymist">here</a>.</p>
<p>Milkymist SoC is phased out in favor of the more powerful <a href="msc.html">MiSoC</a>.</p>
</div>
</body>
</html>