M-Labs

Last updated

M-Labs (formerly known as the Milkymist Project) is a company which develops, manufactures and sells open hardware devices and software. It is known for the Milkymist System-On-Chip (SoC) which is a commercialized system-on-chip with free HDL source code. [1]

Contents

M-Labs Technologies have been used in different programs. For example NASA Communication Navigation and Networking Reconfigurable Testbed (Connect) experiment which uses the Memory Controller that was originally developed for the Milkymist One [2] [3] [4] and published under the terms of the GNU General Public License (GPL).

The project was presented at several open source and hacking conferences, such as the Chaos Communication Congress, [5] FOSDEM, [6] Libre Software Meeting, [7] and Libre Graphics Meeting 2011. [8] [9] It was also featured on the Make magazine blog [10] The Milkymist One board was included in their "Ultimate open source hardware gift guide 2010". [11]

Milkymist SoC

The Milkymist system-on-chip uses the LatticeMico32 (LM32) core as a general purpose processor. It is a RISC 32-bit big endian CPU with a memory management unit (MMU) developed later by M-Labs contributors. It is supported by the GCC compiler and can run RTEMS and μClinux. There is also an experimental back-end for LLVM targeting this microprocessor.

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.

The architecture of the Milkymist system-on-chip is largely documented in the project founder's Master thesis report. [4] Most components of the system-on-chip, except the LatticeMico32 core, were custom developed and placed under the GNU GPL license.

The QEMU emulator can be used to run and debug Milkymist SoC binaries [12] on another computer.

Milkymist One and Flickernoise

Milkymist One
Milkymist case acryl v6 1.jpg
Manufacturer Qi Hardware
Type Video synthesizer
Release dateDecember 27, 2010 (2010-12-27) (early developer kit), September 28, 2011 (2011-09-28) (final version)
Introductory price380 EUR (early developer kit), 499 USD (final version)
Operating system RTEMS, Linux
CPU LatticeMico32 in a Xilinx Spartan-6 FPGA
Memory128 MB DDR SDRAM
Storage32 MB built-in NOR flash, memory card
Display SVGA up to 140 MHz pixel clock (1280x1024)
Input USB keyboard and mouse
CameraExternal (CVBS digitizer)
Connectivity DMX512, MIDI, OpenSoundControl, AC97 audio, Ethernet, RC-5 infrared, USB, GPIO
Power5 W
Dimensions172 × 145 × 45 mm
Mass465 g

The Milkymist One video synthesizer and reconfigurable computer is the main product released by the project. It was manufactured by Qi Hardware, a start-up founded by former Openmoko employees. [13] It was first sold at the Chaos Communication Congress in 2010, [14] as an "early developer kit" for interested hackers, open source activists, and pioneers who could tolerate the remaining software and FPGA design shortcomings. A more refined version, including case and accessories, was later sold.

The technical specifications of the Milkymist One [15] are as follows:

The design files of the printed circuit board and the CAD files of the case were released under the Creative Commons Attribution-Share Alike license.

Screenshot of Flickernoise, showing the control panel, the patch editor etc. Flickernoise-darkblue.png
Screenshot of Flickernoise, showing the control panel, the patch editor etc.

Flickernoise is the video synthesis software that runs on the Milkymist One. It is heavily inspired by MilkDrop and uses a similar, and largely compatible, scripting language to define and program the visual effects. However, while MilkDrop is designed to run automatically in a music player, Flickernoise is focused on the interactivity of the visuals for use in live performances. The software supports the programming of visual effects that transform a live video stream coming from a camera connected to the Milkymist One, as well as input from OpenSoundControl, DMX512, and MIDI controllers.

Flickernoise runs on the RTEMS real-time operating system and uses many POSIX software libraries that were ported to this operating system, such as libpng, libjpeg, jbig2dec, OpenJPEG, FreeType, MuPDF, and liblo for OpenSoundControl support. The streamlined hardware platform and the use of a real-time operating system allow the system to have a lower response time than an equivalent PC-based setup. The user interface is based on a variant of the Genode FX toolkit. [16]

Flickernoise is also free software, released under the terms of the GNU General Public License.

ARTIQ


In May 2014, M-Labs entered a partnership with NIST to develop a next-generation open source control system for quantum information experiments. [17] [18] The system, called ARTIQ (Advanced Real-Time Infrastructure for Quantum physics), is a combination of software and gateware that enables synchronized control of many devices with nanosecond-level timing resolution and sub-microsecond latency, while retaining features of high level programming languages.

Some of the ideas and code from Milkymist SoC have been reused in ARTIQ.

In 2016 M-Labs partnered with ARL and ISE to develop ARTIQ Sinara, an open source hardware and software-defined radio platform. [19]

Related Research Articles

<span class="mw-page-title-main">Firmware</span> Low-level computer software

In computing, firmware is a specific class of computer software that provides the low-level control for a device's specific hardware. Firmware, such as the BIOS of a personal computer, may contain basic functions of a device, and may provide hardware abstraction services to higher-level software such as operating systems. For less complex devices, firmware may act as the device's complete operating system, performing all control, monitoring and data manipulation functions. Typical examples of devices containing firmware are embedded systems, home and personal-use appliances, computers, and computer peripherals.

OpenRISC is a project to develop a series of open-source hardware based central processing units (CPUs) on established reduced instruction set computer (RISC) principles. It includes an instruction set architecture (ISA) using an open-source license. It is the original flagship project of the OpenCores community.

<span class="mw-page-title-main">OpenCores</span> Open-source hardware community

OpenCores is a community developing digital open-source hardware through electronic design automation (EDA), with a similar ethos to the free software movement. OpenCores hopes to eliminate redundant design work and significantly reduce development costs. A number of companies have been reported as adopting OpenCores IP in chips, or as adjuncts to EDA tools. OpenCores is also sometimes cited as an example of open source in the electronics hardware community.

LEON is a radiation-tolerant 32-bit central processing unit (CPU) microprocessor core that implements the SPARC V8 instruction set architecture (ISA) developed by Sun Microsystems. It was originally designed by the European Space Research and Technology Centre (ESTEC), part of the European Space Agency (ESA), without any involvement by Sun. Later versions have been designed by Gaisler Research, under a variety of owners. It is described in synthesizable VHSIC Hardware Description Language (VHDL). LEON has a dual license model: An GNU Lesser General Public License (LGPL) and GNU General Public License (GPL) free and open-source software (FOSS) license that can be used without licensing fee, or a proprietary license that can be purchased for integration in a proprietary product. The core is configurable through VHDL generics, and is used in system on a chip (SOC) designs both in research and commercial settings.

<span class="mw-page-title-main">Universal Software Radio Peripheral</span> Product family of software-defined radios

Universal Software Radio Peripheral (USRP) is a range of software-defined radios designed and sold by Ettus Research and its parent company, National Instruments. Developed by a team led by Matt Ettus, the USRP product family is commonly used by research labs, universities, and hobbyists.

<span class="mw-page-title-main">Open-source hardware</span> Hardware from the open-design movement

Open-source hardware (OSH) consists of physical artifacts of technology designed and offered by the open-design movement. Both free and open-source software (FOSS) and open-source hardware are created by this open-source culture movement and apply a like concept to a variety of components. It is sometimes, thus, referred to as FOSH. The term usually means that information about the hardware is easily discerned so that others can make it – coupling it closely to the maker movement. Hardware design, in addition to the software that drives the hardware, are all released under free/libre terms. The original sharer gains feedback and potentially improvements on the design from the FOSH community. There is now significant evidence that such sharing can drive a high return on investment for the scientific community.

<span class="mw-page-title-main">QEMU</span> Free virtualization and emulation software

QEMU is a free and open-source emulator. It emulates a computer's processor through dynamic binary translation and provides a set of different hardware and device models for the machine, enabling it to run a variety of guest operating systems. It can interoperate with Kernel-based Virtual Machine (KVM) to run virtual machines at near-native speed. QEMU can also do emulation for user-level processes, allowing applications compiled for one architecture to run on another.

The MicroBlaze is a soft microprocessor core designed for Xilinx field-programmable gate arrays (FPGA). As a soft-core processor, MicroBlaze is implemented entirely in the general-purpose memory and logic fabric of Xilinx FPGAs.

<span class="mw-page-title-main">Free and open-source graphics device driver</span> Software that controls computer-graphics hardware

A free and open-source graphics device driver is a software stack which controls computer-graphics hardware and supports graphics-rendering application programming interfaces (APIs) and is released under a free and open-source software license. Graphics device drivers are written for specific hardware to work within a specific operating system kernel and to support a range of APIs used by applications to access the graphics hardware. They may also control output to the display if the display driver is part of the graphics hardware. Most free and open-source graphics device drivers are developed by the Mesa project. The driver is made up of a compiler, a rendering API, and software which manages access to the graphics hardware.

<span class="mw-page-title-main">RTEMS</span> Real-time operating system

Real-Time Executive for Multiprocessor Systems (RTEMS), formerly Real-Time Executive for Missile Systems, and then Real-Time Executive for Military Systems, is a real-time operating system (RTOS) designed for embedded systems. It is free and open-source software.

<span class="mw-page-title-main">Open Graphics Project</span>

The Open Graphics Project (OGP) was founded with the goal to design an open-source hardware / open architecture and standard for graphics cards, primarily targeting free software / open-source operating systems. The project created a reprogrammable development and prototyping board and had aimed to eventually produce a full-featured and competitive end-user graphics card.

<span class="mw-page-title-main">Minimig</span>

Minimig is an open source re-implementation of an Amiga 500 using a field-programmable gate array (FPGA).

These tables compare free software / open-source operating systems. Where not all of the versions support a feature, the first version which supports it is listed.

<span class="mw-page-title-main">VirtualBox</span> Open-source x86 virtualization application

Oracle VM VirtualBox is a type-2 hypervisor for x86 virtualization developed by Oracle Corporation. VirtualBox was originally created by InnoTek Systemberatung GmbH, which was acquired by Sun Microsystems in 2008, which was in turn acquired by Oracle in 2010.

LatticeMico32 is a 32-bit microprocessor reduced instruction set computer (RISC) soft core from Lattice Semiconductor optimized for field-programmable gate arrays (FPGAs). It uses a Harvard architecture, which means the instruction and data buses are separate. Bus arbitration logic can be used to combine the two buses, if desired.

<span class="mw-page-title-main">Linux-libre</span> Version of the Linux kernel without proprietary code

According to the Free Software Foundation Latin America, Linux-libre is a modified version of the Linux kernel that contains no binary blobs, obfuscated code, or code released under proprietary licenses. In the Linux kernel, they are mostly used for proprietary firmware images. While generally redistributable, binary blobs do not give the user the freedom to audit, modify, or, consequently, redistribute their modified versions. The GNU Project keeps Linux-libre in synchronization with the mainline Linux kernel.

The OpenPOWER Foundation is a collaboration around Power ISA-based products initiated by IBM and announced as the "OpenPOWER Consortium" on August 6, 2013. IBM is opening up technology surrounding their Power Architecture offerings, such as processor specifications, firmware and software with a liberal license, and will be using a collaborative development model with their partners.

<span class="mw-page-title-main">Genode</span> Free and open-source software operating system

Genode is a free and open-source software operating system (OS) framework consisting of a microkernel abstraction layer and a set of user space components. The framework is notable as one of the few open-source operating systems not derived from a proprietary OS, such as Unix. The characteristic design philosophy is that a small trusted computing base is of primary concern in a security-oriented OS.

Libre-SOC is a libre soft processor core originally written by Luke Leighton and other contributors, announced at the OpenPOWER Summit NA 2020. It adheres to the Power ISA 3.0 instruction set and can be run on FPGA boards, currently booting MicroPython and other bare-metal applications.

References

  1. "The Register: Open-source hardware group puts out vid system-on-a-chip". The Register . Retrieved 2013-05-02.
  2. "JPL acknowledgement letter" . Retrieved 2014-02-13.
  3. "Tech the Future: Open source hardware" . Retrieved 2013-05-02.
  4. 1 2 Bourdeauducq, Sebastien (June 2010). "A performance-driven SoC architecture for video synthesis". KTH. Retrieved 2011-04-22.
  5. "26C3 schedule". 9 January 2010. Retrieved 2011-04-22.
  6. "Milkymist : Pushing further the limits of electronics openness". Archived from the original on 2011-07-12. Retrieved 2011-04-22.
  7. "Milkymist : a free System-on-Chip for real-time video" . Retrieved 2011-04-22.
  8. "Milkymist One video synthesizer shown at 6th Libre Graphics Meeting in Montreal" . Retrieved 2011-05-14.
  9. "Milkymist One Shown at Libre Graphics Meeting". Archived from the original on 2011-05-19. Retrieved 2011-05-14.
  10. "Make: Online: Milkymist :: Interactive VJ Station" . Retrieved 2011-04-22.
  11. "Make: Online: The Ultimate Open Source Hardware Gift Guide 2010" . Retrieved 2011-04-22.
  12. "QEMU development mailing list" . Retrieved 2011-04-22.
  13. "OpenMoko Layoffs Lead to New Open Hardware Venture" . Retrieved 2011-04-22.
  14. "First Milkymist One Early Developer Kits are coming!" . Retrieved 2011-04-22.
  15. "M-Labs official website: Milkymist One" . Retrieved 2013-05-02.
  16. "Genode Labs: FPGA Graphics".
  17. "NIST: Open-Source Software for Quantum Information". NIST. 23 January 2015. Retrieved 2015-01-25.
  18. "M-Labs website: ARTIQ" . Retrieved 2017-02-14.
  19. "M-Labs mirror: ARTIQ" . Retrieved 2017-02-14.