M-Labs

M-Labs (wcześniej znany jako projekt Milkymist ) to firma i społeczność, która opracowuje, produkuje i sprzedaje zaawansowane otwarte urządzenia sprzętowe i oprogramowanie. Jest znany z Milkymist system-on-chip (SoC), który jest skomercjalizowaną konstrukcją typu system-on-chip z bezpłatnym kodem źródłowym HDL .

Technologie M-Labs zostały ponownie wykorzystane w różnych zastosowaniach. Na przykład NASA Communication Navigation and Networking Reconfigurable Testbed (CoNNeCT) wykorzystuje kontroler pamięci , który został pierwotnie opracowany dla Milkymist One i opublikowany na warunkach GNU General Public License (GPL).

Projekt był prezentowany na kilku konferencjach open source i hakerskich , takich jak Chaos Communication Congress , FOSDEM , Libre Software Meeting i Libre Graphics Meeting 2011 . Została również opisana na Make , a tablica Milkymist One została uwzględniona w ich „najlepszym przewodniku po prezentach sprzętowych typu open source 2010”.

Mleczarski SoC

System-on-chip Milkymist wykorzystuje rdzeń LatticeMico32 (LM32) jako procesor ogólnego przeznaczenia. Jest to 32-bitowy procesor big endian RISC z jednostką zarządzania pamięcią (MMU) opracowaną później przez współpracowników M-Labs. Jest obsługiwany przez GCC i może uruchamiać RTEMS i μClinux . Istnieje również eksperymentalny back-end dla LLVM ukierunkowany na ten mikroprocesor.

Mikroprocesor LM32 jest wspomagany przez jednostkę mapowania tekstur i programowalny koprocesor zmiennoprzecinkowy VLIW , które są używane przez oprogramowanie do syntezy wideo Flickernoise . Jest również otoczony różnymi rdzeniami peryferyjnymi, które obsługują każde urządzenie I/O Milkymist One. Interkonekt system-on-chip wykorzystuje trzy zmostkowane magistrale i łączy Wishbone z dwoma niestandardowymi protokołami używanymi do rejestrów konfiguracyjnych i wysokowydajnego DMA z pamięcią SDRAM .

Architektura systemu Milkymist na chipie jest w dużej mierze udokumentowana w raporcie z pracy magisterskiej założyciela projektu. Większość komponentów systemu na chipie, z wyjątkiem LatticeMico32 , została opracowana na zamówienie i objęta licencją GNU GPL .

Emulatora QEMU można używać do uruchamiania i debugowania plików binarnych SoC Milkymist na innym komputerze.

Milkymist One i Flickernoise

Mleczarz Jeden
Milkymist case acryl v6 1.jpg
Producent Sprzęt Qi
Typ Syntezator wideo
Data wydania 27 grudnia 2010 ( 27.12.2010 ) (wczesny zestaw deweloperski), 28 września 2011 ( 28.09.2011 ) (wersja ostateczna)
Cena wprowadzająca 380 EUR (wczesny zestaw deweloperski), 499 USD (wersja ostateczna)
System operacyjny RTEMS , Linux
procesor LatticeMico32 w układzie FPGA Xilinx Spartan-6
Pamięć 128 MB pamięci DDR-SDRAM
Składowanie 32 MB wbudowanej pamięci flash NOR, karta pamięci
Wyświetlacz SVGA do 140 MHz w pikselach (1280x1024)
Wejście Klawiatura i mysz USB
Kamera Zewnętrzny ( digitalizator CVBS )
Łączność DMX512 , MIDI , OpenSoundControl , audio AC97 , Ethernet , RC-5 na podczerwień, USB , GPIO
Moc 5 W
Wymiary 172 × 145 × 45 mm
Masa 465 gr

Syntezator wideo i rekonfigurowalny komputer Milkymist One to główny produkt wydany w ramach projektu. Został wyprodukowany przez Qi Hardware , start-up założony przez byłych pracowników Openmoko . Został po raz pierwszy sprzedany na Chaos Communication Congress w 2010 roku jako „zestaw wczesnego programisty” dla zainteresowanych hakerów , aktywistów open source i pionierów, którzy mogli tolerować pozostałe oprogramowanie i FPGA wady projektowe. Bardziej wyrafinowana wersja, zawierająca etui i akcesoria, została później sprzedana.

Specyfikacje techniczne Milkymist One są następujące:

Pliki projektu płytki drukowanej i pliki CAD obudowy zostały udostępnione na licencji Creative Commons Attribution-Share Alike.

Zrzut ekranu Flickernoise, pokazujący panel sterowania, edytor łatek itp.

Flickernoise to oprogramowanie do syntezy wideo, które działa na Milkymist One. Jest silnie inspirowany MilkDrop i używa podobnego, w dużej mierze kompatybilnego języka skryptowego do definiowania i programowania efektów wizualnych. Jednak podczas gdy MilkDrop jest przeznaczony do automatycznego uruchamiania w odtwarzaczu muzycznym, Flickernoise koncentruje się na interaktywności wizualizacji do wykorzystania podczas występów na żywo. Oprogramowanie obsługuje programowanie efektów wizualnych, które przekształcają strumień wideo na żywo pochodzący z kamery podłączonej do Milkymist One, a także dane wejściowe z OpenSoundControl , DMX512 i MIDI kontrolery.

Flickernoise działa w systemie operacyjnym czasu rzeczywistego RTEMS i wykorzystuje wiele bibliotek oprogramowania POSIX , które zostały przeniesione do tego systemu operacyjnego, takich jak libpng , libjpeg , jbig2dec, OpenJPEG , FreeType , MuPDF i liblo do obsługi OpenSoundControl . Usprawniona platforma sprzętowa i wykorzystanie systemu operacyjnego czasu rzeczywistego sprawiają, że system ma krótszy czas reakcji niż równoważna konfiguracja oparta na komputerze PC. Interfejs użytkownika oparty jest na wariancie zestawu Genode FX.

Flickernoise jest również wolnym oprogramowaniem , wydanym na warunkach Powszechnej Licencji Publicznej GNU .

ARTYKUŁ

W maju 2014 r. firma M-Labs nawiązała współpracę z NIST w celu opracowania systemu kontroli open source nowej generacji do eksperymentów z informacjami kwantowymi . System o nazwie ARTIQ (Advanced Real-Time Infrastructure for Quantum Physics) jest połączeniem oprogramowania i oprogramowania typu gateware, które umożliwia zsynchronizowane sterowanie wieloma urządzeniami z rozdzielczością taktowania na poziomie nanosekund i opóźnieniem poniżej mikrosekundy, przy jednoczesnym zachowaniu funkcji języków programowania wysokiego poziomu .

Niektóre pomysły i kod z Milkymist SoC zostały ponownie wykorzystane w ARTIQ.

W 2016 roku firma M-Labs nawiązała współpracę z ARL i ISE w celu opracowania ARTIQ Sinara, otwartej platformy sprzętowej i radiowej zdefiniowanej programowo.

Linki zewnętrzne