Milkymist
   HOME

TheInfoList



OR:

M-Labs (formerly known as the Milkymist Project) is a company that develops, manufactures, and sells
open hardware Open-source hardware (OSH, OSHW) 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 ...
devices and software. It is known for the Milkymist
System-On-Chip A system on a chip (SoC) is an integrated circuit that combines most or all key components of a computer or electronic system onto a single microchip. Typically, an SoC includes a central processing unit (CPU) with memory, input/output, and da ...
(SoC) which is a commercialized system-on-chip with free HDL source code. M-Labs Technologies have been used in different programs. For example,
NASA The National Aeronautics and Space Administration (NASA ) is an independent agencies of the United States government, independent agency of the federal government of the United States, US federal government responsible for the United States ...
developed the Communication Navigation and Networking Reconfigurable Testbed (Connect) experiment which uses the
Memory Controller A memory controller, also known as memory chip controller (MCC) or a memory controller unit (MCU), is a digital circuit that manages the flow of data going to and from a computer's main memory. When a memory controller is integrated into anothe ...
that was originally developed for the Milkymist One and published under the terms of the
GNU General Public License The GNU General Public Licenses (GNU GPL or simply GPL) are a series of widely used free software licenses, or ''copyleft'' licenses, that guarantee end users the freedom to run, study, share, or modify the software. The GPL was the first ...
(GPL). The project was presented at several open source and hacking conferences, such as the
Chaos Communication Congress The Chaos Communication Congress is an annual hacker conference organized by the Chaos Computer Club. The congress features a variety of lectures and workshops on technical and political issues related to security, cryptography, privacy and ...
,
FOSDEM Free and Open source Software Developers' European Meeting (FOSDEM) is an annual software engineering conference. It is non-commercial and volunteer-organized with a focus on free and open-source software. Initiated in 2000, it is usually held d ...
,
Libre Software Meeting The Libre Software Meeting (LSM) is an annual free software event originally held in France France, officially the French Republic, is a country located primarily in Western Europe. Overseas France, Its overseas regions and territories include ...
, and Libre Graphics Meeting 2011. It was also featured on the '' Make'' magazine blog The Milkymist One board was included in their "Ultimate open source hardware gift guide 2010".


Milkymist SoC

The Milkymist
system-on-chip A system on a chip (SoC) is an integrated circuit that combines most or all key components of a computer or electronic system onto a single microchip. Typically, an SoC includes a central processing unit (CPU) with memory, input/output, and da ...
uses the LatticeMico32 (LM32) core as a general purpose processor. It is a
RISC In electronics and computer science, a reduced instruction set computer (RISC) is a computer architecture designed to simplify the individual instructions given to the computer to accomplish tasks. Compared to the instructions given to a comp ...
32-bit
big endian '' Jonathan_Swift.html" ;"title="Gulliver's Travels'' by Jonathan Swift">Gulliver's Travels'' by Jonathan Swift, the novel from which the term was coined In computing, endianness is the order in which bytes within a word (data type), word of d ...
CPU A central processing unit (CPU), also called a central processor, main processor, or just processor, is the primary processor in a given computer. Its electronic circuitry executes instructions of a computer program, such as arithmetic, log ...
with a
memory management unit A memory management unit (MMU), sometimes called paged memory management unit (PMMU), is a computer hardware unit that examines all references to computer memory, memory, and translates the memory addresses being referenced, known as virtual mem ...
(MMU) developed later by M-Labs contributors. It is supported by the GCC compiler and can run
RTEMS 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 ...
and
μClinux μClinux is a variation of the Linux kernel, previously maintained as a fork, that targets microcontrollers without a memory management unit (MMU). It was integrated into the mainline kernel as of 2.5.46; the project continues to develop patc ...
. There is also an experimental back-end for
LLVM LLVM, also called LLVM Core, is a target-independent optimizer and code generator. It can be used to develop a Compiler#Front end, frontend for any programming language and a Compiler#Back end, backend for any instruction set architecture. LLVM i ...
targeting this microprocessor. The LM32 microprocessor is assisted by a
texture mapping unit In computer graphics, a texture mapping unit (TMU) is a component in modern graphics processing units (GPUs). They are able to rotate, resize, and distort a bitmap image to be placed onto an arbitrary plane of a given 3D model as a texture, in ...
and a programmable
floating point In computing, floating-point arithmetic (FP) is arithmetic on subsets of real numbers formed by a ''significand'' (a signed sequence of a fixed number of digits in some base) multiplied by an integer power of that base. Numbers of this form ...
VLIW Very long instruction word (VLIW) refers to instruction set architectures that are designed to exploit instruction-level parallelism (ILP). A VLIW processor allows programs to explicitly specify instructions to execute in parallel computing, para ...
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 Synchronous dynamic random-access memory (synchronous dynamic RAM or SDRAM) is any DRAM where the operation of its external pin interface is coordinated by an externally supplied clock signal. DRAM integrated circuits (ICs) produced from the ...
. The architecture of the Milkymist
system-on-chip A system on a chip (SoC) is an integrated circuit that combines most or all key components of a computer or electronic system onto a single microchip. Typically, an SoC includes a central processing unit (CPU) with memory, input/output, and da ...
is largely documented in the project founder's Master thesis report. Most components of the system-on-chip, except the LatticeMico32 core, were custom developed and placed under the
GNU GPL The GNU General Public Licenses (GNU GPL or simply GPL) are a series of widely used free software licenses, or ''copyleft'' licenses, that guarantee end users the freedom to run, study, share, or modify the software. The GPL was the first ...
license. The
QEMU The Quick Emulator (QEMU) is a free and open-source emulator that uses dynamic binary translation to emulate a computer's processor; that is, it translates the emulated binary codes to an equivalent binary format which is executed by the mach ...
emulator can be used to run and debug Milkymist SoC binaries on another computer.


Milkymist One and Flickernoise

The Milkymist One
video synthesizer A video synthesizer is a device that electronically creates a video signal. A video synthesizer is able to generate a variety of visual material without camera input through the use of internal video pattern generators. It can also accept and " ...
and reconfigurable computer is the main product released by the project. It was manufactured by
Qi Hardware Qi Hardware is an organization which produces copyleft hardware and software, in an attempt to apply the Free Software Foundation's GNU GPL concept of copylefting software to the hardware layer by using the CC BY-SA license for schematics, bill of ...
, a start-up founded by former
Openmoko Openmoko is a discontinued project to create a family of mobile phones that are open source, including the hardware specification, the operating system (Openmoko Linux), and actual smartphone development implementation like the Neo 1973 and Neo ...
employees. It was first sold at the
Chaos Communication Congress The Chaos Communication Congress is an annual hacker conference organized by the Chaos Computer Club. The congress features a variety of lectures and workshops on technical and political issues related to security, cryptography, privacy and ...
in 2010, as an "early developer kit" for interested
hacker A hacker is a person skilled in information technology who achieves goals and solves problems by non-standard means. The term has become associated in popular culture with a security hackersomeone with knowledge of bug (computing), bugs or exp ...
s,
open source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
activists, and pioneers who could tolerate the remaining software and
FPGA A field-programmable gate array (FPGA) is a type of configurable integrated circuit that can be repeatedly programmed after manufacturing. FPGAs are a subset of logic devices referred to as programmable logic devices (PLDs). They consist of a ...
design shortcomings. A more refined version, including case and accessories, was later sold. The technical specifications of the Milkymist One are as follows: * Multi-standard video input (
PAL Phase Alternating Line (PAL) is a color encoding system for analog television. It was one of three major analogue colour television standards, the others being NTSC and SECAM. In most countries it was broadcast at 625 lines, 50 fields (25 ...
/
SECAM SECAM, also written SÉCAM (, ''Séquentiel de couleur à mémoire'', French for ''sequential colour memory''), is an analog color television system that was used in France, Russia and some other countries or territories of Europe and Africa. ...
/
NTSC NTSC (from National Television System Committee) is the first American standard for analog television, published and adopted in 1941. In 1961, it was assigned the designation System M. It is also known as EIA standard 170. In 1953, a second ...
) * Two
DMX512 DMX512 is a technical standard, standard for digital communication networks that are commonly used to control lighting and effects. It was originally intended as a standardized method for controlling stage lighting dimmers, which, prior to D ...
( RS485) ports *
MIDI Musical Instrument Digital Interface (; MIDI) is an American-Japanese technical standard that describes a communication protocol, digital interface, and electrical connectors that connect a wide variety of electronic musical instruments, ...
IN and MIDI OUT ports *
SVGA Super VGA (SVGA) or Extended VGA is a broad term that covers a wide range of computer display standards that extended IBM's Video Graphics Array, VGA specification. When used as shorthand for a resolution, as VGA and XGA often are, SVGA refers to ...
output, 24 bpp, up to 140 MHz pixel clock (about 1280×1024) * AC97 audio * Xilinx XC6SLX45 Spartan-6
FPGA A field-programmable gate array (FPGA) is a type of configurable integrated circuit that can be repeatedly programmed after manufacturing. FPGAs are a subset of logic devices referred to as programmable logic devices (PLDs). They consist of a ...
supporting the open source Milkymist SoC * 128 MB 32-bit DDR333
SDRAM Synchronous dynamic random-access memory (synchronous dynamic RAM or SDRAM) is any DRAM where the operation of its external pin interface is coordinated by an externally supplied clock signal. DRAM integrated circuits (ICs) produced from the ...
* 32 MB parallel flash * 10/100
Ethernet Ethernet ( ) is a family of wired computer networking technologies commonly used in local area networks (LAN), metropolitan area networks (MAN) and wide area networks (WAN). It was commercially introduced in 1980 and first standardized in 198 ...
*
Memory card A memory card is an electronic data storage device used for storing digital information, typically using flash memory. These are commonly used in digital portable electronic devices, such as digital cameras as well as in many early games conso ...
* Two
USB Universal Serial Bus (USB) is an industry standard, developed by USB Implementers Forum (USB-IF), for digital data transmission and power delivery between many types of electronics. It specifies the architecture, in particular the physical ...
host connectors *
RC-5 The RC-5 protocol was developed by Philips in the early 1980s as a semi-proprietary consumer IR (infrared) remote control communication protocol for consumer electronics. It was subsequently adopted by most European manufacturers, as well as by m ...
compatible infrared receiver *
RS-232 In telecommunications, RS-232 or Recommended Standard 232 is a standard introduced in 1960 for serial communication transmission of data. It formally defines signals connecting between a ''DTE'' (''data terminal equipment'') such as a compu ...
debug port The design files of the
printed circuit board A printed circuit board (PCB), also called printed wiring board (PWB), is a Lamination, laminated sandwich structure of electrical conduction, conductive and Insulator (electricity), insulating layers, each with a pattern of traces, planes ...
and the CAD files of the case were released under the
Creative Commons Creative Commons (CC) is an American non-profit organization and international network devoted to educational access and expanding the range of creative works available for others to build upon legally and to share. The organization has release ...
Attribution-Share Alike license. 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 DMX512 is a technical standard, standard for digital communication networks that are commonly used to control lighting and effects. It was originally intended as a standardized method for controlling stage lighting dimmers, which, prior to D ...
, and
MIDI Musical Instrument Digital Interface (; MIDI) is an American-Japanese technical standard that describes a communication protocol, digital interface, and electrical connectors that connect a wide variety of electronic musical instruments, ...
controllers. Flickernoise runs on the
RTEMS 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 ...
real-time operating system and uses many
POSIX The Portable Operating System Interface (POSIX; ) is a family of standards specified by the IEEE Computer Society for maintaining compatibility between operating systems. POSIX defines application programming interfaces (APIs), along with comm ...
software libraries that were ported to this operating system, such as
libpng libpng is the official Portable Network Graphics (PNG) reference library (originally called pnglib). It is a platform-independent library that contains C functions for handling PNG images. It supports almost all of PNG's features, is extensible, ...
, 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 Genode is a novel OS architecture that aims to improve software safety by applying a strict organizational structure to all software components including device drivers, system services, and applications. Within the Genode project, the Operating ...
FX toolkit. Flickernoise is also
free software Free software, libre software, libreware sometimes known as freedom-respecting software is computer software distributed open-source license, under terms that allow users to run the software for any purpose as well as to study, change, distribut ...
, released under the terms of the
GNU General Public License The GNU General Public Licenses (GNU GPL or simply GPL) are a series of widely used free software licenses, or ''copyleft'' licenses, that guarantee end users the freedom to run, study, share, or modify the software. The GPL was the first ...
.


ARTIQ

In May 2014, M-Labs entered a partnership with
NIST The National Institute of Standards and Technology (NIST) is an agency of the United States Department of Commerce whose mission is to promote American innovation and industrial competitiveness. NIST's activities are organized into physical s ...
to develop a next-generation open source control system for
quantum information Quantum information is the information of the state of a quantum system. It is the basic entity of study in quantum information theory, and can be manipulated using quantum information processing techniques. Quantum information refers to both t ...
experiments. 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.


References

{{Reflist


External links


Home page , M-Labs
Open hardware electronic devices Video art Video hardware Visual effects Open microprocessors Quantum information science Open hardware organizations and companies