diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2d19fc7 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.html diff --git a/about.html b/about.html deleted file mode 100644 index 2e45c50..0000000 --- a/about.html +++ /dev/null @@ -1,79 +0,0 @@ - - - -
- - -Milkymist was founded in summer 2007 by Sébastien Bourdeauducq. The open source project tackled the development of a system-on-chip design capable of running MilkDrop. The name "Milkymist" was chosen to evoke a parallel MilkDrop. The development was no small task, as it required designing and/or integrating a powerful 32-bit microprocessor core, basic peripherals, many interfaces, a fast SDRAM controller, and graphics acceleration. The video synthesizer born out of those efforts, the Milkymist One, was launched in September 2011 with the help of open hardware company Sharism at Work.
- -Components of the Milkymist system-on-chip soon found many other uses, such as software-defined radio on board the International Space Station. The community grew and activities diversified, with the development of a TDC core for CERN (using a variant of the Milkymist SoC for integration), the Migen logic design system and its application to the Rhino software-defined radio platform, and the Mixxeo digital video mixer. In 2013, Milkymist was renamed to M-Labs to mark the more varied activities, and formally incorporated in Hong Kong as M-Labs Limited.
- -The company's current main project is ARTIQ, a leading-edge open source control system for quantum information experiments. In 2016, Robert Jördens joined the directorate of the company to further develop ARTIQ and other physics-related projects.
- -Our address is:
-M-Labs Limited
-Workshop 15B 6/F Block B1
-Yau Tong Industrial City
-17 Ko Fai Rd
-Yau Tong, Hong Kong
-
It is a short walk from the Yau Tong MTR station. Take exit A2. Viewed from the MTR exit, Yau Tong Industrial City is inside that building:
-
-When entering from Ko Fai Road, get inside the courtyard, the entrance to Block B1 is in front of you on your left. Take the elevator or the stairs to the 6th floor. Call +852 59362721 if you get lost.
-
For the purpose of US government contracts (only), use the following address: 5/F Yat Chau Building, 262 Des Voeux Road Central, Hong Kong.
- -We'd love to hear from you! Here is how you can communicate with us.
-For sales inquiries, email sales@m-***s.hk. You may also write to Sébastien or Robert respectively at sb@m-***s.hk and rj@m-***s.hk. For questions regarding SolveSpace, write to Peter Zotov at pz@m-***s.hk.
-For technical inquiries, ask on the IRC channel #m-labs on Freenode, open a GitHub issue in the relevant project, or write to the mailing list devel (for Migen/MiSoC) or ARTIQ.
-Patches should be sent via a GitHub pull request, or to the mailing list preferably using git-format-patch.
- - -Milkymist was founded in summer 2007 by Sébastien Bourdeauducq. The open source project tackled the development of a system-on-chip design capable of running MilkDrop. The name "Milkymist" was chosen to evoke a parallel MilkDrop. The development was no small task, as it required designing and/or integrating a powerful 32-bit microprocessor core, basic peripherals, many interfaces, a fast SDRAM controller, and graphics acceleration. The video synthesizer born out of those efforts, the Milkymist One, was launched in September 2011 with the help of open hardware company Sharism at Work.
+ +Components of the Milkymist system-on-chip soon found many other uses, such as software-defined radio on board the International Space Station. The community grew and activities diversified, with the development of a TDC core for CERN (using a variant of the Milkymist SoC for integration), the Migen logic design system and its application to the Rhino software-defined radio platform, and the Mixxeo digital video mixer. In 2013, Milkymist was renamed to M-Labs to mark the more varied activities, and formally incorporated in Hong Kong as M-Labs Limited.
+ +The company's current main project is ARTIQ, a leading-edge open source control system for quantum information experiments. In 2016, Robert Jördens joined the directorate of the company to further develop ARTIQ and other physics-related projects.
+ + +We'd love to hear from you! Here is how you can communicate with us.
+For sales inquiries, email sales@m-***s.hk. You may also write to Sébastien or Robert respectively at sb@m-***s.hk and rj@m-***s.hk. For questions regarding SolveSpace, write to Peter Zotov at pz@m-***s.hk.
+For technical inquiries, ask on the IRC channel #m-labs on Freenode, open a GitHub issue in the relevant project, or write to the mailing list devel (for Migen/MiSoC) or ARTIQ.
+Patches should be sent via a GitHub pull request, or to the mailing list preferably using git-format-patch.
+ +For the purpose of US government contracts (only), use the following address: 5/F Yat Chau Building, 262 Des Voeux Road Central, Hong Kong.
+ +{{{ footer() }}} diff --git a/artiq.jpg b/artiq.jpg deleted file mode 100644 index 7124547..0000000 Binary files a/artiq.jpg and /dev/null differ diff --git a/artiq/dio_bnc.jpg b/artiq/dio_bnc.jpg new file mode 100644 index 0000000..9fa9be0 Binary files /dev/null and b/artiq/dio_bnc.jpg differ diff --git a/artiq/dio_bnc_big.jpg b/artiq/dio_bnc_big.jpg new file mode 100644 index 0000000..cae990c Binary files /dev/null and b/artiq/dio_bnc_big.jpg differ diff --git a/artiq/dio_sma.jpg b/artiq/dio_sma.jpg new file mode 100644 index 0000000..9bb2c65 Binary files /dev/null and b/artiq/dio_sma.jpg differ diff --git a/artiq/dio_sma_big.jpg b/artiq/dio_sma_big.jpg new file mode 100644 index 0000000..a3338cf Binary files /dev/null and b/artiq/dio_sma_big.jpg differ diff --git a/artiq/index.html b/artiq/index.html deleted file mode 100644 index db0e93f..0000000 --- a/artiq/index.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - -ARTIQ (Advanced Real-Time Infrastructure for Quantum physics) is a leading-edge control system for quantum information experiments. It was initiated and developed in partnership with the Ion Storage Group at NIST, and is now used and supported by a growing number of research institutions worldwide. While ARTIQ is currently mostly used by atomic physics groups, its applicability reaches beyond ion trapping.
- -Modern research on quantum information systems poses particular challenges to the control system: -
ARTIQ features a high-level programming language, based on Python, that helps describing complex experiments. It is compiled and executed on dedicated FPGA hardware with nanosecond timing resolution and sub-microsecond latency.
- -The time-critical code (a kernel) running on the FPGA (the core device) is easily interfaced with Python code on the computer using a remote procedure call (RPC) mechanism.
- -The FPGA design is highly portable so that it can adapt to different laboratory setups and resist hardware obsolescence.
- -ARTIQ drivers for non-realtime devices can be run on remote machines with different operating systems.
- -The project also includes a graphical user interface, an experiment scheduling system, and databases for experiments, devices, parameters and results.
- -Technologies employed include Python, Migen, MiSoC/mor1kx, LLVM and llvmlite.
- -Another goal of ARTIQ is to streamline and simplify the design flow of quantum physics instrumentation by promoting design reuse through the development of platform-independent, open-source hardware and software.
- -Our aim is to provide a control system suitable for the challenges of modern quantum information research, which is based on modular, parameterized and open components that allow physicists to rapidly design and deploy new experiments.
- -The ARTIQ core device currently uses hardware built in-house by physicists (based on a Xilinx KC705 development board with custom FMC cards). To improve the quality, features and scalability of ARTIQ systems, we are developing the Sinara device family. It aims at providing turnkey control hardware that is reproducible, open, flexible, modular, well-tested, and well-supported by the ARTIQ control software.
- -One of the main devices in the Sinara family is the Sayma card, which includes 8 channels of 2.4GSPS 16-bit DACs and a Kintex Ultrascale FPGA. The FPGA synthesizes waveforms for the DACs and our gateware supports two-tone direct digital synthesis and shaping of the waveform parameters with splines. Multiple Sayma cards can be installed in a MicroTCA chassis and synchronized.
- -The Sinara hardware is still in development, and more information is available on the wiki. Most of the hardware engineering is done at the Institute for Electronics Systems at the Warsaw University of Technology.
- --
ARTIQ was initiated by the Ion Storage Group at NIST, and several other institutions have later contributed to ARTIQ and/or Sinara.
--
- | - |
- | |
- |
ARTIQ (Advanced Real-Time Infrastructure for Quantum physics) is a leading-edge control system for quantum information experiments. It was initiated and developed in partnership with the Ion Storage Group at NIST, and is now used and supported by a growing number of research institutions worldwide. While ARTIQ is currently mostly used by atomic physics groups, its applicability reaches beyond ion trapping.
+ +Modern research on quantum information systems poses particular challenges to the control system: +
ARTIQ features a high-level programming language, based on Python, that helps describing complex experiments. It is compiled and executed on dedicated FPGA hardware with nanosecond timing resolution and sub-microsecond latency.
+ +The time-critical code (a kernel) running on the FPGA (the core device) is easily interfaced with Python code on the computer using a remote procedure call (RPC) mechanism.
+ +The FPGA design is highly portable so that it can adapt to different laboratory setups and resist hardware obsolescence.
+ +ARTIQ drivers for non-realtime devices can be run on remote machines with different operating systems.
+ +The project also includes a graphical user interface, an experiment scheduling system, and databases for experiments, devices, parameters and results.
+ +Technologies employed include Python, Migen, MiSoC/mor1kx, LLVM and llvmlite.
+ +Another goal of ARTIQ is to streamline and simplify the design flow of quantum physics instrumentation by promoting design reuse through the development of platform-independent, open-source hardware and software.
+ +Our aim is to provide a control system suitable for the challenges of modern quantum information research, which is based on modular, parameterized and open components that allow physicists to rapidly design and deploy new experiments.
+ +ARTIQ was initiated by the Ion Storage Group at NIST, and several other institutions have later contributed to ARTIQ and/or Sinara.
++
+ | + |
+ | |
+ |
+
The first ARTIQ core devices used hardware built in-house by physicists (based on a Xilinx KC705 development board with custom FMC cards). To improve the quality, features and scalability of ARTIQ systems, we have been developing the Sinara device family. It aims at providing turnkey control hardware that is reproducible, open, flexible, modular, well-tested, and well-supported by the ARTIQ control software.
+The Sinara hardware is in active development, and the latest information is available on the wiki. Most of the hardware engineering is done at the Institute for Electronics Systems at the Warsaw University of Technology.
+ +One of the main devices in the Sinara family is the Kasli core device. It contains an Artix-7 100T FPGA, DDR3 SDRAM, three SFP connectors, and can control up to 8 daughtercards (Eurocard Extension Module, EEM). The Kasli and its EEMs are installed in one Eurocard 3U chassis. One SFP connector is used for a Gigabit Ethernet connection to your computer network.
+ +For simple TTL signals, we offer I/O cards with 8 channels over BNC or SMA connectors in the EEM form factor. The IOs are divided into two banks of 4, with per-bank ground isolation. The direction (input/output) and termination (high-Z/50R) is selectable on a per-channel basis via I2C or on-board switches. Outputs can supply 5V into 25Ohm, and can tolerate an indefinite short-circuit to ground.
+ +Urukul is a 4 channel DDS-based frequency synthesizer for the EEM form factor. It provides sub-Hz frequency resolution, controlled phase steps, and accurate output amplitude control. We offer it in two variants, with either the AD9910 or the AD9912 chip.
+ +Kasli and most EEMs can be ordered now. We can deliver a rack-mountable crate that contains all the cards, is fully tested, and is ready to be connected to your experiment and computer network. Contact sales@m-***s.hk with your requirements and we will establish a quote.
+ +Migen is a Python-based tool that automates further the VLSI design process.
- -Despite being faster than schematics entry, hardware design with Verilog and VHDL remains tedious and inefficient for several reasons. The event-driven model introduces issues and manual coding that are unnecessary for synchronous circuits, which represent the lion's share of today's logic designs. Counter-intuitive arithmetic rules result in steeper learning curves and provide a fertile ground for subtle bugs in designs. Finally, support for procedural generation of logic (metaprogramming) through "generate" statements is very limited and restricts the ways code can be made generic, reused and organized.
- -To address those issues, we have developed the Migen FHDL library that replaces the event-driven paradigm with the notions of combinatorial and synchronous statements, has arithmetic rules that make integers always behave like mathematical integers, and most importantly allows the design's logic to be constructed by a Python program. This last point enables hardware designers to take advantage of the richness of the Python language - object oriented programming, function parameters, generators, operator overloading, libraries, etc. - to build well organized, reusable and elegant designs.
- -Other Migen libraries are built on FHDL and provide various tools such as a system-on-chip interconnect infrastructure, a dataflow programming system, a more traditional high-level synthesizer that compiles Python routines into state machines with datapaths, and a simulator that allows test benches to be written in Python.
- -Migen is the foundation for MiSoC, and is also used in the Rhino software-defined radio platform.
- -You can find the Migen source here, released under the permissive BSD license.
- --Documentation -
- - -Built on Migen, MiSoC provides a high performance, flexible and lightweight solution to build system-on-chips for various applications.
- -MiSoC source is here, mostly covered by the permissive BSD license. - -
ARTIQ (Advanced Real-Time Infrastructure for Quantum physics) is a leading-edge control system for quantum information experiments, developed in partnership with a growing number of research institutions worldwide.
-The system features a high-level programming language that helps describing complex experiments, which is compiled and executed on dedicated hardware with nanosecond timing resolution and sub-microsecond latency.
-Traditional gateware design with Verilog and VHDL is well known to be tedious and inefficient. M-Labs have developed Migen, a Python-based HDL and toolbox that addresses many of their issues and makes gateware design more productive.
-Built on Migen, MiSoC provides a high performance, flexible and lightweight solution to build system-on-chips for various applications.
- -ARTIQ (Advanced Real-Time Infrastructure for Quantum physics) is a leading-edge control system for quantum information experiments, developed in partnership with a growing number of research institutions worldwide.
+ +The system features a high-level programming language that helps describe complex experiments, which is compiled and executed on dedicated hardware with nanosecond timing resolution and sub-microsecond latency.
+ + ++Traditional gateware design with Verilog and VHDL is well known to be tedious and inefficient. M-Labs have developed Migen, a Python-based HDL and toolbox that addresses many of their issues and makes gateware design more productive. +
+ ++Built on Migen, MiSoC provides a high performance, flexible and lightweight solution to build system-on-chips for various applications. +
+ +The Milkymist One is an experimental hardware appliance for live video effects.
@@ -159,7 +132,7 @@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 here.
-Milkymist SoC is phased out in favor of the more powerful MiSoC.
+Milkymist SoC is phased out in favor of the more powerful MiSoC.
Plus countless workers at dozens of suppliers and many more who created the free technology we were able to build upon.
-Migen is a Python-based tool that automates further the VLSI design process.
+ +Despite being faster than schematics entry, hardware design with Verilog and VHDL remains tedious and inefficient for several reasons. The event-driven model introduces issues and manual coding that are unnecessary for synchronous circuits, which represent the lion's share of today's logic designs. Counter-intuitive arithmetic rules result in steeper learning curves and provide a fertile ground for subtle bugs in designs. Finally, support for procedural generation of logic (metaprogramming) through "generate" statements is very limited and restricts the ways code can be made generic, reused and organized.
+ +To address those issues, we have developed the Migen FHDL library that replaces the event-driven paradigm with the notions of combinatorial and synchronous statements, has arithmetic rules that make integers always behave like mathematical integers, and most importantly allows the design's logic to be constructed by a Python program. This last point enables hardware designers to take advantage of the richness of the Python language - object oriented programming, function parameters, generators, operator overloading, libraries, etc. - to build well organized, reusable and elegant designs.
+ +Other Migen libraries are built on FHDL and provide various tools such as a system-on-chip interconnect infrastructure, a dataflow programming system, a more traditional high-level synthesizer that compiles Python routines into state machines with datapaths, and a simulator that allows test benches to be written in Python.
+ +Migen is the foundation for MiSoC.
+ +You can find the Migen source here, released under the permissive BSD license.
+ +
+Documentation (note: sometimes out of date - please help!)
+
Built on Migen, MiSoC provides a high performance, flexible and lightweight solution to build system-on-chips for various applications.
+ +The MiSoC source is here, mostly covered by the permissive BSD license. + +{{{ footer() }}} diff --git a/migen.svg b/migen/migen.svg similarity index 100% rename from migen.svg rename to migen/migen.svg diff --git a/mixxeo.html b/mixxeo.html deleted file mode 100644 index f9a1fe8..0000000 --- a/mixxeo.html +++ /dev/null @@ -1,64 +0,0 @@ - - - -
- - -The Mixxeo is the first open source digital video mixer.
- -Built on the MiSoC and Migen technologies that originated from the development experience of the Milkymist One and unlike other mixers, the Mixxeo itself does everything and processes every pixel with our own open source hardware and software. This gives us exceptional control and customization possibilities.
- -The Mixxeo will support mixing from two DVI or HDMI sources up to 720p60, with crossfade, fade to black and potentially other effects with a latency of less than two frames.
- -Status (Aug 2014) - Main board and gateware have been mostly functional for a while, mechanical design and manufacturing for the case/mechatronics are progressing slowly. If you have the skills and would like to help out, email sb at m-labs.hk or the mailing list.
- -The Mixxeo was the first open source digital video mixer.
+ +Built on the MiSoC and Migen technologies that originated from the development experience of the Milkymist One and unlike other mixers, the Mixxeo itself does everything and processes every pixel with our own open source hardware and software. This gives us exceptional control and customization possibilities.
+ +The Mixxeo supported mixing from two DVI or HDMI sources up to 720p60, with crossfade, fade to black and potentially other effects with a latency of less than two frames.
+ +Status (Aug 2014) - Main board and gateware have been mostly functional for a while, mechanical design and manufacturing for the case/mechatronics are progressing slowly. If you have the skills and would like to help out, email sb at m-labs.hk or the mailing list.
+ +Our address is:
+M-Labs Limited
+Workshop 15B 6/F Block B1
+Yau Tong Industrial City
+17 Ko Fai Rd
+Yau Tong, Hong Kong
+
It is a short walk from the Yau Tong MTR station. Take exit A2. Viewed from the MTR exit, Yau Tong Industrial City is inside that building:
+
+When entering from Ko Fai Road, get inside the courtyard, the entrance to Block B1 is in front of you on your left. Take the elevator or the stairs to the 6th floor. Call +852 59362721 if you get lost.
+
SolveSpace is a libre and open-source parametric computer-aided design application that uses a NURBS geometric kernel, allowing it to represent curved surfaces exactly. It was originally released by Jonathan Westhues under the GPLv3 license and is presently further developed at M-Labs.
- -SolveSpace is primarily useful for mechanical design. At M-Labs, we use it to design vacuum chambers as well as custom fittings and fixtures. The models can then be exported as STEP or PDF with dimensions and sent to a machine shop for manufacturing.
- -Of course, most vacuum chambers would have some standard flanges. These can be easily modelled using a single sketch and a lathe operation:
- -- - - - -
- -(The illustration on the right is "live"; it can be panned, rotated and scaled.)
- -In a similar way, an NW160 viewport and an adapter with an NW160 flange, a KF40, two KF25 and two KF16 ports were designed:
- -- - - - - -
- -The fittings above were designed to be used with a cylindrical vacuum chamber, 200mm long with two NW160 flanges, two KF40 and one KF25 ports:
- -- - -
- -To repair a broken Ricor K526S crycooler, it was necessary to disassemble it, which of course meant it was depressurized. To evacuate it and eventually refill with helium, a special fixture was designed, as the cryocooler's filling port is just a hole in the case with a set screw. Further, an adapter that allows to insert the cold head into a vacuum system via a KF25 port was also designed.
- -First, the cryocooler and its cold head were modelled to verify fits:
- -- - - - - -
- -Then, a fixture was designed, shown below with a cutout (blue). It consists of a bracket, a piston case that screws into the bracket (the thread is not modelled), a piston with a retaining screw, a retaining washer, a Swagelok fitting attached to the orange port (not modelled), and a few compression gaskets (also not modelled). The bracket and the piston case hold the cryocooler The retaining washer prevents the piston from being ejected by high pressure helium and, conversely, together with another washer prevents the piston from being sucked in and blocking the gas flow during evacuation.
- -- - -
- -The KF25 adapter for the cold head is a much simpler device:
- -- - - - - -
- -As originally released, SolveSpace was far ahead almost every other FLOSS CAD by virtue of its parametric nature, exact internal representation of curves and a codebase easy to work with. (The only other FLOSS parametric CAD that uses a NURBS representation, including NURBS booleans, is FreeCAD.) While it was already suitable for practical work, it had a much greater unrealized potential.
- -Thus, M-Labs has developed many additional features:
- -Currently, the focus of development is to improve SolveSpace's handling of complex assemblies with many similar parts by allowing to load a hierarchy of sketches instead of a single sketch and propagate the changes as they are made, and to derive many variants of geometry from a single sketch. For example, these changes would allow to use a single basic sketch to model framework made from varying lengths of 80/20 profile, whereas currently that would require a separate sketch for every size of cut.
-SolveSpace is a libre and open-source parametric computer-aided design application that uses a NURBS geometric kernel, allowing it to represent curved surfaces exactly. It was originally released by Jonathan Westhues under the GPLv3 license and is now further developed at M-Labs.
+ +SolveSpace is primarily useful for mechanical design. At M-Labs, we use it to design vacuum chambers as well as custom fittings and fixtures. The models can then be exported as STEP or PDF with dimensions and sent to a machine shop for manufacturing.
+ +Of course, most vacuum chambers would have some standard flanges. These can be easily modelled using a single sketch and a lathe operation:
+ ++ + + + +
+ +(The illustration on the right is "live"; it can be panned, rotated and scaled.)
+ +In a similar way, an NW160 viewport and an adapter with an NW160 flange, a KF40, two KF25 and two KF16 ports were designed:
+ ++ + + + + +
+ +The fittings above were designed to be used with a cylindrical vacuum chamber, 200mm long with two NW160 flanges, two KF40 and one KF25 ports:
+ ++ + +
+ +To repair a broken Ricor K526S crycooler, it was necessary to disassemble it, which of course meant it was depressurized. To evacuate it and eventually refill with helium, a special fixture was designed, as the cryocooler's filling port is just a hole in the case with a set screw. Further, an adapter that allows to insert the cold head into a vacuum system via a KF25 port was also designed.
+ +First, the cryocooler and its cold head were modelled to verify fits:
+ ++ + + + + +
+ +Then, a fixture was designed, shown below with a cutout (blue). It consists of a bracket, a piston case that screws into the bracket (the thread is not modelled), a piston with a retaining screw, a retaining washer, a Swagelok fitting attached to the orange port (not modelled), and a few compression gaskets (also not modelled). The bracket and the piston case hold the cryocooler The retaining washer prevents the piston from being ejected by high pressure helium and, conversely, together with another washer prevents the piston from being sucked in and blocking the gas flow during evacuation.
+ ++ + +
+ +The KF25 adapter for the cold head is a much simpler device:
+ ++ + + + + +
+ +As originally released, SolveSpace was far ahead almost every other FLOSS CAD by virtue of its parametric nature, exact internal representation of curves and a codebase easy to work with. (The only other FLOSS parametric CAD that uses a NURBS representation, including NURBS booleans, is FreeCAD.) While it was already suitable for practical work, it had a much greater unrealized potential.
+ +Thus, M-Labs has developed many additional features:
+ +Currently, the focus of development is to improve SolveSpace's handling of complex assemblies with many similar parts by allowing to load a hierarchy of sketches instead of a single sketch and propagate the changes as they are made, and to derive many variants of geometry from a single sketch. For example, these changes would allow to use a single basic sketch to model framework made from varying lengths of 80/20 profile, whereas currently that would require a separate sketch for every size of cut.
+ +We used to work on two video platforms: the Milkymist One and the Mixxeo. If you are interested in those devices, we recommend you check out Numato Opsis instead.
-The Mixxeo is the first open source digital video mixer. It will support mixing from two DVI or HDMI sources up to 720p60, with crossfade, fade to black and other effects with a latency of less than two frames.
-Milkymist One is a digital video synthesizer released in 2011. It produces real-time visual effects similar to those of MilkDrop, with the extra possibility to use a camera or other video sources as inputs.
-It is based on a custom open source Verilog system-on-chip design that contains the LM32 soft CPU with many custom peripherals such as a SDRAM controller that went into space, a VLIW floating-point coprocessor and a 2D texture mapping accelerator.
- -