Jump to content

M-Labs: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Nerd bzh (talk | contribs)
Nerd bzh (talk | contribs)
Line 7: Line 7:


== Milkymist SoC ==
== Milkymist SoC ==
[[File:Milkymist architecture.svg|thumb|upright=1.5|Block diagram of the 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 [[GNU Compiler Collection|GCC]] compiler and can run [[RTEMS]] and [[μClinux]]. There is also an experimental back-end for [[LLVM]] targeting this microprocessor.
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 [[GNU Compiler Collection|GCC]] compiler and can run [[RTEMS]] and [[μClinux]]. There is also an experimental back-end for [[LLVM]] targeting this microprocessor.



Revision as of 14:54, 27 November 2013

M-Labs (formerly known as the Milkymist project) is a company and community who develop, manufacture and sell advanced open hardware devices and solutions. It is best known for the Milkymist system-on-chip (SoC) which is among the first commercialized system-on-chip designs with free HDL source code.[1]

M-Labs technologies have been reused in diverse applications. For example, NASA's Communication Navigation and Networking Reconfigurable Testbed (CoNNeCT) experiment uses the memory controller that was originally developed for the Milkymist system-on-chip[2][3][4] and published under the terms of the GNU General Public License (GPL).

The project was presented at several open source and hacker 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] and 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
ManufacturerQi Hardware
TypeVideo 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 systemRTEMS, Linux
CPULatticeMico32 in a Xilinx Spartan-6 FPGA
Memory128 MB DDR SDRAM
Storage32 MB built-in NOR flash, memory card
DisplaySVGA up to 140 MHz pixel clock (1280x1024)
InputUSB keyboard and mouse
CameraExternal (CVBS digitizer)
ConnectivityDMX512, MIDI, OpenSoundControl, AC97 audio, Ethernet, RC-5 infrared, USB, GPIO
Power5 W
Dimensions172 × 145 × 45 mm
Mass465 g
RelatedMixxeo

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 stand the remaining software and FPGA design bugs. The hardware still came with a warranty against manufacturing defects.

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

  • Multi-standard video input (PAL/SECAM/NTSC)
  • Two DMX512 (RS485) ports
  • MIDI IN and MIDI OUT ports
  • SVGA output, 24 bpp, up to 140 MHz pixel clock (about 1280×1024)
  • AC97 audio
  • Xilinx XC6SLX45 Spartan-6 FPGA supporting the open source Milkymist SoC
  • 128 MB 32-bit DDR333 SDRAM
  • 32 MB parallel flash
  • 10/100 Ethernet
  • Memory card
  • Two USB host connectors
  • RC-5 compatible infrared receiver
  • RS-232 debug port

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.
File:Flickernoise torridtales.png
Example video frame produced by Flickernoise.

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 puts the accent on the interactivity of the visuals and live performance uses. 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 along with the use of a real-time operating system allows 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.

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

References

  1. ^ "The Register: Open-source hardware group puts out vid system-on-a-chip". Retrieved 2013-05-02.
  2. ^ "JPL acknowledgement letter". Retrieved 2013-05-02.
  3. ^ "Tech the Future: Open source hardware". Retrieved 2013-05-02.
  4. ^ a b Bourdeauducq, Sebastien (2010-06). "A performance-driven SoC architecture for video synthesis". KTH. Retrieved 2011-04-22. {{cite web}}: Check date values in: |date= (help)
  5. ^ "26C3 schedule". Retrieved 2011-04-22.
  6. ^ "Milkymist : Pushing further the limits of electronics openness". 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". 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. ^ "Milkymist official website: Milkymist One". Retrieved 2013-05-02.