SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Downloaden Sie, um offline zu lesen
MilkymistTM
                     Open Source Hardware interactive VJ station


                                     Yann Sionneau

                                    OSHUG #8 – London


                                    March 10, 2011

Yann Sionneau (OSHUG #8 – London)       MilkymistTM            March 10, 2011   1 / 37
Some background...




       Sebastien Bourdeauducq started VJing in 2005
       Kludgy, ad hoc software inspired by MilkDrop, running on Linux PCs
       Tried to make performances more interactive

Yann Sionneau (OSHUG #8 – London)   MilkymistTM            March 10, 2011   2 / 37
Why Milkymist was born




       PC towers feel heavy when carried around at 5am
       Long boot and setup time
       Power cut = 500 people see your computer rebooting
       Interfaces (MIDI, DMX, video input ...)
              expensive
              big mess of wires
              driver problems at the wrong moment
Yann Sionneau (OSHUG #8 – London)     MilkymistTM           March 10, 2011   3 / 37
Embedded would be cool, wouldn’t it?




       Do all the VJing with a small box that contains everything you need
       Live seconds after power up
       Technically feasible? Yes, but needs high-performance SoC.
       Open Source Hardware is better...
Yann Sionneau (OSHUG #8 – London)    MilkymistTM            March 10, 2011   4 / 37
The Chip




                                    Part I – The Chip




Yann Sionneau (OSHUG #8 – London)         MilkymistTM   March 10, 2011   5 / 37
The Chip   Open Hardware, SRSLY.


Open Hardware, SRSLY.



       Open source software is already well known...
       Among many hackers and artists: trend for “open source hardware”
       Famous projects based around open PCB designs: Arduino,
       Beagleboard, ...
       But all the magic is done by a proprietary chip!
       Not that Open Source. We want to go further!
 You know, it’s true, when something exceeds your ability to understand
 how it works, it sort of becomes magical. (iPad advertisement)




Yann Sionneau (OSHUG #8 – London)       MilkymistTM                    March 10, 2011   6 / 37
The Chip   The Milkymist chip


The Milkymist chip


       Instead of using a blackbox proprietary chip...
       ...Milkymist features a custom, free (System-on-)Chip design
              Open Source Hardware (sources GNU GPL v3)
              built-in custom interfaces
              high performance
              small size
       Works on FPGAs – reconfigurable silicon
              enables everyone to modify and test the design
       Portable code – small effort to port to all FPGA vendors, or even to
       make a fully “hard” chip (and yes, we’ll do it)
 You know, it’s true, when something exceeds your ability to understand
 how it works, you sort of become stupid.


Yann Sionneau (OSHUG #8 – London)       MilkymistTM                 March 10, 2011   7 / 37
The Chip   What makes it specific?


What makes it specific?
       The Milkymist System-on-Chip (SoC) contains a general-purpose
       Linux-capable CPU.




Yann Sionneau (OSHUG #8 – London)       MilkymistTM                     March 10, 2011   8 / 37
The Chip   What makes it specific?


VJ-friendly on-chip features

       Video output (VGA)
       Video input (ITU-R BT.656, i.e PAL/SECAM/NTSC)
       AC’97 audio
       Ethernet (OpenSoundControl)
       MIDI
       DMX512
       USB
       IR remote control (R-5)
       Generic digital I/O
       Hardware graphics acceleration
              A small subset of OpenGL, enough for our application.


Yann Sionneau (OSHUG #8 – London)       MilkymistTM                     March 10, 2011   9 / 37
The Chip   Technical Challenges


Technical challenge




       The application requires memory to be big, fast, and cheap at the
       same time.
       The required memory size prohibits the use of SRAM
       ...then we have to use DRAM and face all its problems.




Yann Sionneau (OSHUG #8 – London)       MilkymistTM                   March 10, 2011   10 / 37
The Chip   Technical Challenges


How bad is it?

   Task                                                               Bandwidth
   VGA framebuffer, 1024x768, 75Hz, 16bpp                              950 Mbps
   Distortion : texture mapping, 512x512 to 512x512,                  250 Mbps
   30fps, 16bpp
   Live video : texture mapping, 720x576 to 512x512                   300 Mbps
   with transparency, 30fps, 16bpp
   Scaling : texture mapping, 512x512 to 1024x768,                    500 Mbps
   30fps, 16bpp
   Video echo : texture mapping, 512x512 to 1024x768                  900 Mbps
   with transparency, 30fps, 16bpp
   NTSC input, 720x576, 30fps, 16bpp                                  200 Mbps
   Software and misc.                                                 200 Mbps
   Total                                                              3.3 Gbps


Yann Sionneau (OSHUG #8 – London)       MilkymistTM                     March 10, 2011   11 / 37
The Chip   Technical Challenges


How bad is it?



       One DDR SDRAM chip running at 100MHz: (DDR–400 in marketing
       speak)
              maximum of 2 transfers / cycle ⇒ 200 Mt/s
              16 bits / transfer
              3.2 Gbps peak bandwidth
              64 MB capacity
              a few dollars
       We have two of those chips, this is still manageable!




Yann Sionneau (OSHUG #8 – London)       MilkymistTM                   March 10, 2011   12 / 37
The Chip   Technical Challenges


Peak bandwidth?

 Performance of SDRAM depends a lot on the cleverness of its controller.
 Example:




 In Milkymist, memory transfers are always done using bursts of 4
 consecutive words (FML bus). The bus master caches or discards the data
 it does not want.
Yann Sionneau (OSHUG #8 – London)       MilkymistTM                   March 10, 2011   13 / 37
The Chip   Technical Challenges


Bursts of 4 consecutive words: a good heuristics?

       Good for the VGA framebuffer (a big bandwidth consumer):
              when it gets a burst of 4 consecutive chunks from memory...
              those chunks also represent consecutive pixels (in scan order)
              ...so it can just put them in its output FIFO and easily acheive 100%
              utilization!
       It is the same for PAL/NTSC video inputs.
       For image distortion: yes; more on this later.
       For software: principle of temporal/spatial locality, caches.
       And simplifies a lot (compared to a variable burst length):
              SDRAM controller design
              Bus signaling
              Bus arbitration
              Cache controllers


Yann Sionneau (OSHUG #8 – London)        MilkymistTM                   March 10, 2011   14 / 37
The Chip   Technical Challenges


Performance constraints



       To acheive 30fps at 1024x768, the Texture Mapping Unit (TMU)
       must process 24 million pixels per second.
       With a 100MHz clock, we have 4 cycles to process a pixel.
       With a naive implementation, each pixel requires (approx.):
              math: 100 cycles
              one memory read: 12 cycles
              one memory write: 12 cycles
       Total: 124 cycles!!! Solutions for a 3000% speedup?!?




Yann Sionneau (OSHUG #8 – London)       MilkymistTM                   March 10, 2011   15 / 37
The Chip   Technical Challenges


Solutions


       Improved algorithm
              Bresenhams linear interpolation algorithm
       SIMD parallelism
              the same operation on independent data can be done in parallel
       Pipelined parallelism
              Milkymists TMU has 14 pipeline stages
              will grow as more features are added...
              commercial GPUs can have hundreds
       Smart memory access
              cache
              write buffer




Yann Sionneau (OSHUG #8 – London)       MilkymistTM                   March 10, 2011   16 / 37
The Chip   Technical Challenges




       Cache de 32Kio = 95% de hits
       Temps moyen = 0.05*(12+3) + 0.95*1 = 1.7 cycles!


Yann Sionneau (OSHUG #8 – London)       MilkymistTM                   March 10, 2011   17 / 37
The Software




                                    Part II – The Software




Yann Sionneau (OSHUG #8 – London)            MilkymistTM     March 10, 2011   18 / 37
The Software   It’s the software, stupid!


It’s the software, stupid!



       Well, some people are thinking...
       “phew, VJs ain’t gonna program FPGAs!”
       The FPGA is transparent (unless you go looking for it)
              it will even disappear when we start engraving our own chips
       Only the software defines what the average user sees.
       If you get it right, you can hide any technical complexity.
              people use Mac OS X on computers more complex than Milkymist, and
              think it’s simple.




Yann Sionneau (OSHUG #8 – London)          MilkymistTM                          March 10, 2011   19 / 37
The Software   Flickernoise, Milkymist’s VJ application


Flickernoise, Milkymist’s VJ application
       Will boot and get ready in seconds
       Using MTK based on the Genode FX GUI toolkit
       Visual effect renderer inspired by MilkDrop
       GNU GPL licensed
       OS: RTEMS




Yann Sionneau (OSHUG #8 – London)          MilkymistTM                                March 10, 2011   20 / 37
The Software   How does the renderer work?


How does the renderer work?


 Based on a simple iterative process:
       Draw a waveform based on the music
       Distort the image
       Draw a waveform again...




Yann Sionneau (OSHUG #8 – London)          MilkymistTM                           March 10, 2011   21 / 37
The Software   How does the renderer work?


Extra features



       Borders
       Motion vectors
       Video echo
       Blend with video input
 Upcoming:
       Custom waves and shapes
       User defined pictures
       ...




Yann Sionneau (OSHUG #8 – London)          MilkymistTM                           March 10, 2011   22 / 37
The Software   Customizing


Patch parameters




       Parameters to customize the patch, e.g. :
              how the wave is traced: nWaveMode
              wave color: wave r, wave g, wave b
              amount of zoom when distorting: zoom
              displacement when distorting: dx, dy
              ...




Yann Sionneau (OSHUG #8 – London)          MilkymistTM           March 10, 2011   23 / 37
The Software   Customizing


Per-frame equations




       Allow the parameters to change over time
       Examples:
              per frame 1=dx=0.1*bass
              per frame 2=wave r=0.3 + 0.1*sin(6.28*time)
              ...




Yann Sionneau (OSHUG #8 – London)          MilkymistTM           March 10, 2011   24 / 37
The Software   Customizing


Per-vertex equations


       Configure the distortion on each control point (vertex)
       Example: per vertex 1=dy=0.1*sin(40*x)




Yann Sionneau (OSHUG #8 – London)          MilkymistTM           March 10, 2011   25 / 37
The board




                                    Part III – Milkymist One




Yann Sionneau (OSHUG #8 – London)            MilkymistTM       March 10, 2011   26 / 37
The board   Milkymist One


Milkymist One
       We want to make a complete, high quality end user product
              An interactive VJ station, not (only) a FPGA development board!
              With case and packaging
              Works out of the box
       Open design as well (like everything else)
       Developed, manufactured and sold in collaboration with Sharism at
       Work Ltd. (known for Ben Nanonote)




Yann Sionneau (OSHUG #8 – London)        MilkymistTM             March 10, 2011   27 / 37
The board   Milkymist One


Milkymist One (M1)




Yann Sionneau (OSHUG #8 – London)        MilkymistTM            March 10, 2011   28 / 37
The board   Milkymist One


Milkymist One (M1)




Yann Sionneau (OSHUG #8 – London)        MilkymistTM            March 10, 2011   29 / 37
The board   Milkymist One


Milkymist One (M1)




Yann Sionneau (OSHUG #8 – London)        MilkymistTM            March 10, 2011   30 / 37
The board   Milkymist One


Milkymist One (M1)




Yann Sionneau (OSHUG #8 – London)        MilkymistTM            March 10, 2011   31 / 37
The board   Milkymist One


Milkymist One (M1)




Yann Sionneau (OSHUG #8 – London)        MilkymistTM            March 10, 2011   32 / 37
The board   Milkymist One


Milkymist One (M1)




Yann Sionneau (OSHUG #8 – London)        MilkymistTM            March 10, 2011   33 / 37
The board   Milkymist One


Status




       Milkymist One RC-1 and RC-2 have been manufactured, RC-3 is
       coming soon




Yann Sionneau (OSHUG #8 – London)        MilkymistTM            March 10, 2011   34 / 37
Community


Active contributors


       Sebastien Bourdeaducq (Germany) – project mangement, electronic
       design, SoC and Flickernoise
       Takeshi Matsuya (Japan) – Linux port
       Yanjun Luo (China) – JTAG daughterboard design
       Wolfgang Spraul (China) – manufacturing and distribution
       Michael Walle (Germany) – QEMU, RTEMS port
       Adam Wang (Taiwan) – electronic development and production
       Joachim Steiger (Germany) – DIY steampunk case and acrylic case
       Yann Sionneau (France) – RTEMS port (GSoC 2010)




Yann Sionneau (OSHUG #8 – London)        MilkymistTM      March 10, 2011   35 / 37
Community


Community



       Want to develop on a truely Open Source plateform ?
       We are searching for software developpers.
       You don’t need any special tool or FPGA.
       “Classical” tasks, such as user interface.
       Even if you don’t care about VJ,we encourage you to reuse the code
       (FPGA, OS, software, ...).
              You can help tracking bugs, improve OS support and toolchain.
              Example: NASA’s CoNNeCT experiment (software defined radio,
              Milkymist’s DRAM controller).




Yann Sionneau (OSHUG #8 – London)        MilkymistTM            March 10, 2011   36 / 37
Conclusion




       Web: http://www.milkymist.org
              documented source code (GPLv3 licensing)
              mailing list, wiki, blog, IRC (#milkymist on Freenode :
              http://goo.gl/EwPu7)
       Mail: yann.sionneau [AT] gmail DOT com
       project leader : sebastien.bourdeauducq [AT] lekernel DOT net
       These slides are under CC-by-SA Sebastien Bourdeauducq & Yann
       Sionneau
       Source of the slides :
       http://sionneau.net/oshug8/milkymist oshug8.tex
Yann Sionneau (OSHUG #8 – London)        MilkymistTM                March 10, 2011   37 / 37

Weitere ähnliche Inhalte

Ähnlich wie Milkymist System-on-Chip at Open Source Hardware User Group 8

3D Packaging: A Key Enabler for Further Integration and Performance at Europe...
3D Packaging: A Key Enabler for Further Integration and Performance at Europe...3D Packaging: A Key Enabler for Further Integration and Performance at Europe...
3D Packaging: A Key Enabler for Further Integration and Performance at Europe...Yole Developpement
 
Challenges and experiences with IPTV from a network point of view
Challenges and experiences with IPTV from a network point of viewChallenges and experiences with IPTV from a network point of view
Challenges and experiences with IPTV from a network point of viewbrouer
 
ELCE 2011 - BZ - Embedded Linux Optimization Techniques - How Not To Be Slow
ELCE 2011 - BZ - Embedded Linux Optimization Techniques - How Not To Be SlowELCE 2011 - BZ - Embedded Linux Optimization Techniques - How Not To Be Slow
ELCE 2011 - BZ - Embedded Linux Optimization Techniques - How Not To Be SlowBenjamin Zores
 
Track F- Designing the kiler soc - sonics
Track F- Designing the kiler soc - sonicsTrack F- Designing the kiler soc - sonics
Track F- Designing the kiler soc - sonicschiportal
 
GStreamer and SysLink (GStreamer Conference 2011)
GStreamer and SysLink (GStreamer Conference 2011)GStreamer and SysLink (GStreamer Conference 2011)
GStreamer and SysLink (GStreamer Conference 2011)Igalia
 
Hacker's and painters Hardware Hacking 101 - 10th Oct 2014
Hacker's and painters Hardware Hacking 101 - 10th Oct 2014Hacker's and painters Hardware Hacking 101 - 10th Oct 2014
Hacker's and painters Hardware Hacking 101 - 10th Oct 2014Takeda Pharmaceuticals
 
Unite 2013 optimizing unity games for mobile platforms
Unite 2013 optimizing unity games for mobile platformsUnite 2013 optimizing unity games for mobile platforms
Unite 2013 optimizing unity games for mobile platformsナム-Nam Nguyễn
 
Appsterdam talk - about the chips inside your phone
Appsterdam talk - about the chips inside your phoneAppsterdam talk - about the chips inside your phone
Appsterdam talk - about the chips inside your phonemarcocjacobs
 
Future Cloud Infrastructure
Future Cloud InfrastructureFuture Cloud Infrastructure
Future Cloud Infrastructureexponential-inc
 
ELCE 2010 - State Of Multimedia In 2010 Embedded Linux Devices
ELCE 2010 - State Of Multimedia In 2010 Embedded Linux DevicesELCE 2010 - State Of Multimedia In 2010 Embedded Linux Devices
ELCE 2010 - State Of Multimedia In 2010 Embedded Linux DevicesBenjamin Zores
 
17-Pete_Vickers-IPv6-in-the-Mobile-Net
17-Pete_Vickers-IPv6-in-the-Mobile-Net17-Pete_Vickers-IPv6-in-the-Mobile-Net
17-Pete_Vickers-IPv6-in-the-Mobile-NetIPv6no
 
IPv6 i det mobile nettet: Pete Vickers, Network Engineer, Network Norway
IPv6 i det mobile nettet: Pete Vickers, Network Engineer, Network NorwayIPv6 i det mobile nettet: Pete Vickers, Network Engineer, Network Norway
IPv6 i det mobile nettet: Pete Vickers, Network Engineer, Network NorwayIPv6no
 
Adrian Cockcroft's presentation at eComm 2008
Adrian Cockcroft's presentation at eComm 2008Adrian Cockcroft's presentation at eComm 2008
Adrian Cockcroft's presentation at eComm 2008eComm2008
 
An AI accelerator ASIC architecture
An AI accelerator ASIC architectureAn AI accelerator ASIC architecture
An AI accelerator ASIC architectureKhanh Le
 
STT MRAM for Artificial Intelligence Applications
STT MRAM for Artificial Intelligence ApplicationsSTT MRAM for Artificial Intelligence Applications
STT MRAM for Artificial Intelligence ApplicationsDanny Sabour
 
Bil2010 Millicomputing - The Future In Your Pocket
Bil2010 Millicomputing - The Future In Your PocketBil2010 Millicomputing - The Future In Your Pocket
Bil2010 Millicomputing - The Future In Your PocketAdrian Cockcroft
 
3 d fnal_gd
3 d fnal_gd3 d fnal_gd
3 d fnal_gdaltaf49
 
4 camera cctv quotation bangladesh
4 camera cctv quotation bangladesh4 camera cctv quotation bangladesh
4 camera cctv quotation bangladeshJamField Solution
 

Ähnlich wie Milkymist System-on-Chip at Open Source Hardware User Group 8 (20)

3D Packaging: A Key Enabler for Further Integration and Performance at Europe...
3D Packaging: A Key Enabler for Further Integration and Performance at Europe...3D Packaging: A Key Enabler for Further Integration and Performance at Europe...
3D Packaging: A Key Enabler for Further Integration and Performance at Europe...
 
Challenges and experiences with IPTV from a network point of view
Challenges and experiences with IPTV from a network point of viewChallenges and experiences with IPTV from a network point of view
Challenges and experiences with IPTV from a network point of view
 
ELCE 2011 - BZ - Embedded Linux Optimization Techniques - How Not To Be Slow
ELCE 2011 - BZ - Embedded Linux Optimization Techniques - How Not To Be SlowELCE 2011 - BZ - Embedded Linux Optimization Techniques - How Not To Be Slow
ELCE 2011 - BZ - Embedded Linux Optimization Techniques - How Not To Be Slow
 
Track F- Designing the kiler soc - sonics
Track F- Designing the kiler soc - sonicsTrack F- Designing the kiler soc - sonics
Track F- Designing the kiler soc - sonics
 
GStreamer and SysLink (GStreamer Conference 2011)
GStreamer and SysLink (GStreamer Conference 2011)GStreamer and SysLink (GStreamer Conference 2011)
GStreamer and SysLink (GStreamer Conference 2011)
 
Hacker's and painters Hardware Hacking 101 - 10th Oct 2014
Hacker's and painters Hardware Hacking 101 - 10th Oct 2014Hacker's and painters Hardware Hacking 101 - 10th Oct 2014
Hacker's and painters Hardware Hacking 101 - 10th Oct 2014
 
Unite 2013 optimizing unity games for mobile platforms
Unite 2013 optimizing unity games for mobile platformsUnite 2013 optimizing unity games for mobile platforms
Unite 2013 optimizing unity games for mobile platforms
 
Final
FinalFinal
Final
 
Appsterdam talk - about the chips inside your phone
Appsterdam talk - about the chips inside your phoneAppsterdam talk - about the chips inside your phone
Appsterdam talk - about the chips inside your phone
 
Future Cloud Infrastructure
Future Cloud InfrastructureFuture Cloud Infrastructure
Future Cloud Infrastructure
 
ELCE 2010 - State Of Multimedia In 2010 Embedded Linux Devices
ELCE 2010 - State Of Multimedia In 2010 Embedded Linux DevicesELCE 2010 - State Of Multimedia In 2010 Embedded Linux Devices
ELCE 2010 - State Of Multimedia In 2010 Embedded Linux Devices
 
17-Pete_Vickers-IPv6-in-the-Mobile-Net
17-Pete_Vickers-IPv6-in-the-Mobile-Net17-Pete_Vickers-IPv6-in-the-Mobile-Net
17-Pete_Vickers-IPv6-in-the-Mobile-Net
 
IPv6 i det mobile nettet: Pete Vickers, Network Engineer, Network Norway
IPv6 i det mobile nettet: Pete Vickers, Network Engineer, Network NorwayIPv6 i det mobile nettet: Pete Vickers, Network Engineer, Network Norway
IPv6 i det mobile nettet: Pete Vickers, Network Engineer, Network Norway
 
Adrian Cockcroft's presentation at eComm 2008
Adrian Cockcroft's presentation at eComm 2008Adrian Cockcroft's presentation at eComm 2008
Adrian Cockcroft's presentation at eComm 2008
 
An AI accelerator ASIC architecture
An AI accelerator ASIC architectureAn AI accelerator ASIC architecture
An AI accelerator ASIC architecture
 
STT MRAM for Artificial Intelligence Applications
STT MRAM for Artificial Intelligence ApplicationsSTT MRAM for Artificial Intelligence Applications
STT MRAM for Artificial Intelligence Applications
 
Pycon2012
Pycon2012Pycon2012
Pycon2012
 
Bil2010 Millicomputing - The Future In Your Pocket
Bil2010 Millicomputing - The Future In Your PocketBil2010 Millicomputing - The Future In Your Pocket
Bil2010 Millicomputing - The Future In Your Pocket
 
3 d fnal_gd
3 d fnal_gd3 d fnal_gd
3 d fnal_gd
 
4 camera cctv quotation bangladesh
4 camera cctv quotation bangladesh4 camera cctv quotation bangladesh
4 camera cctv quotation bangladesh
 

Kürzlich hochgeladen

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 

Kürzlich hochgeladen (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 

Milkymist System-on-Chip at Open Source Hardware User Group 8

  • 1. MilkymistTM Open Source Hardware interactive VJ station Yann Sionneau OSHUG #8 – London March 10, 2011 Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 1 / 37
  • 2. Some background... Sebastien Bourdeauducq started VJing in 2005 Kludgy, ad hoc software inspired by MilkDrop, running on Linux PCs Tried to make performances more interactive Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 2 / 37
  • 3. Why Milkymist was born PC towers feel heavy when carried around at 5am Long boot and setup time Power cut = 500 people see your computer rebooting Interfaces (MIDI, DMX, video input ...) expensive big mess of wires driver problems at the wrong moment Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 3 / 37
  • 4. Embedded would be cool, wouldn’t it? Do all the VJing with a small box that contains everything you need Live seconds after power up Technically feasible? Yes, but needs high-performance SoC. Open Source Hardware is better... Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 4 / 37
  • 5. The Chip Part I – The Chip Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 5 / 37
  • 6. The Chip Open Hardware, SRSLY. Open Hardware, SRSLY. Open source software is already well known... Among many hackers and artists: trend for “open source hardware” Famous projects based around open PCB designs: Arduino, Beagleboard, ... But all the magic is done by a proprietary chip! Not that Open Source. We want to go further! You know, it’s true, when something exceeds your ability to understand how it works, it sort of becomes magical. (iPad advertisement) Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 6 / 37
  • 7. The Chip The Milkymist chip The Milkymist chip Instead of using a blackbox proprietary chip... ...Milkymist features a custom, free (System-on-)Chip design Open Source Hardware (sources GNU GPL v3) built-in custom interfaces high performance small size Works on FPGAs – reconfigurable silicon enables everyone to modify and test the design Portable code – small effort to port to all FPGA vendors, or even to make a fully “hard” chip (and yes, we’ll do it) You know, it’s true, when something exceeds your ability to understand how it works, you sort of become stupid. Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 7 / 37
  • 8. The Chip What makes it specific? What makes it specific? The Milkymist System-on-Chip (SoC) contains a general-purpose Linux-capable CPU. Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 8 / 37
  • 9. The Chip What makes it specific? VJ-friendly on-chip features Video output (VGA) Video input (ITU-R BT.656, i.e PAL/SECAM/NTSC) AC’97 audio Ethernet (OpenSoundControl) MIDI DMX512 USB IR remote control (R-5) Generic digital I/O Hardware graphics acceleration A small subset of OpenGL, enough for our application. Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 9 / 37
  • 10. The Chip Technical Challenges Technical challenge The application requires memory to be big, fast, and cheap at the same time. The required memory size prohibits the use of SRAM ...then we have to use DRAM and face all its problems. Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 10 / 37
  • 11. The Chip Technical Challenges How bad is it? Task Bandwidth VGA framebuffer, 1024x768, 75Hz, 16bpp 950 Mbps Distortion : texture mapping, 512x512 to 512x512, 250 Mbps 30fps, 16bpp Live video : texture mapping, 720x576 to 512x512 300 Mbps with transparency, 30fps, 16bpp Scaling : texture mapping, 512x512 to 1024x768, 500 Mbps 30fps, 16bpp Video echo : texture mapping, 512x512 to 1024x768 900 Mbps with transparency, 30fps, 16bpp NTSC input, 720x576, 30fps, 16bpp 200 Mbps Software and misc. 200 Mbps Total 3.3 Gbps Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 11 / 37
  • 12. The Chip Technical Challenges How bad is it? One DDR SDRAM chip running at 100MHz: (DDR–400 in marketing speak) maximum of 2 transfers / cycle ⇒ 200 Mt/s 16 bits / transfer 3.2 Gbps peak bandwidth 64 MB capacity a few dollars We have two of those chips, this is still manageable! Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 12 / 37
  • 13. The Chip Technical Challenges Peak bandwidth? Performance of SDRAM depends a lot on the cleverness of its controller. Example: In Milkymist, memory transfers are always done using bursts of 4 consecutive words (FML bus). The bus master caches or discards the data it does not want. Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 13 / 37
  • 14. The Chip Technical Challenges Bursts of 4 consecutive words: a good heuristics? Good for the VGA framebuffer (a big bandwidth consumer): when it gets a burst of 4 consecutive chunks from memory... those chunks also represent consecutive pixels (in scan order) ...so it can just put them in its output FIFO and easily acheive 100% utilization! It is the same for PAL/NTSC video inputs. For image distortion: yes; more on this later. For software: principle of temporal/spatial locality, caches. And simplifies a lot (compared to a variable burst length): SDRAM controller design Bus signaling Bus arbitration Cache controllers Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 14 / 37
  • 15. The Chip Technical Challenges Performance constraints To acheive 30fps at 1024x768, the Texture Mapping Unit (TMU) must process 24 million pixels per second. With a 100MHz clock, we have 4 cycles to process a pixel. With a naive implementation, each pixel requires (approx.): math: 100 cycles one memory read: 12 cycles one memory write: 12 cycles Total: 124 cycles!!! Solutions for a 3000% speedup?!? Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 15 / 37
  • 16. The Chip Technical Challenges Solutions Improved algorithm Bresenhams linear interpolation algorithm SIMD parallelism the same operation on independent data can be done in parallel Pipelined parallelism Milkymists TMU has 14 pipeline stages will grow as more features are added... commercial GPUs can have hundreds Smart memory access cache write buffer Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 16 / 37
  • 17. The Chip Technical Challenges Cache de 32Kio = 95% de hits Temps moyen = 0.05*(12+3) + 0.95*1 = 1.7 cycles! Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 17 / 37
  • 18. The Software Part II – The Software Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 18 / 37
  • 19. The Software It’s the software, stupid! It’s the software, stupid! Well, some people are thinking... “phew, VJs ain’t gonna program FPGAs!” The FPGA is transparent (unless you go looking for it) it will even disappear when we start engraving our own chips Only the software defines what the average user sees. If you get it right, you can hide any technical complexity. people use Mac OS X on computers more complex than Milkymist, and think it’s simple. Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 19 / 37
  • 20. The Software Flickernoise, Milkymist’s VJ application Flickernoise, Milkymist’s VJ application Will boot and get ready in seconds Using MTK based on the Genode FX GUI toolkit Visual effect renderer inspired by MilkDrop GNU GPL licensed OS: RTEMS Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 20 / 37
  • 21. The Software How does the renderer work? How does the renderer work? Based on a simple iterative process: Draw a waveform based on the music Distort the image Draw a waveform again... Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 21 / 37
  • 22. The Software How does the renderer work? Extra features Borders Motion vectors Video echo Blend with video input Upcoming: Custom waves and shapes User defined pictures ... Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 22 / 37
  • 23. The Software Customizing Patch parameters Parameters to customize the patch, e.g. : how the wave is traced: nWaveMode wave color: wave r, wave g, wave b amount of zoom when distorting: zoom displacement when distorting: dx, dy ... Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 23 / 37
  • 24. The Software Customizing Per-frame equations Allow the parameters to change over time Examples: per frame 1=dx=0.1*bass per frame 2=wave r=0.3 + 0.1*sin(6.28*time) ... Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 24 / 37
  • 25. The Software Customizing Per-vertex equations Configure the distortion on each control point (vertex) Example: per vertex 1=dy=0.1*sin(40*x) Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 25 / 37
  • 26. The board Part III – Milkymist One Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 26 / 37
  • 27. The board Milkymist One Milkymist One We want to make a complete, high quality end user product An interactive VJ station, not (only) a FPGA development board! With case and packaging Works out of the box Open design as well (like everything else) Developed, manufactured and sold in collaboration with Sharism at Work Ltd. (known for Ben Nanonote) Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 27 / 37
  • 28. The board Milkymist One Milkymist One (M1) Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 28 / 37
  • 29. The board Milkymist One Milkymist One (M1) Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 29 / 37
  • 30. The board Milkymist One Milkymist One (M1) Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 30 / 37
  • 31. The board Milkymist One Milkymist One (M1) Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 31 / 37
  • 32. The board Milkymist One Milkymist One (M1) Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 32 / 37
  • 33. The board Milkymist One Milkymist One (M1) Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 33 / 37
  • 34. The board Milkymist One Status Milkymist One RC-1 and RC-2 have been manufactured, RC-3 is coming soon Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 34 / 37
  • 35. Community Active contributors Sebastien Bourdeaducq (Germany) – project mangement, electronic design, SoC and Flickernoise Takeshi Matsuya (Japan) – Linux port Yanjun Luo (China) – JTAG daughterboard design Wolfgang Spraul (China) – manufacturing and distribution Michael Walle (Germany) – QEMU, RTEMS port Adam Wang (Taiwan) – electronic development and production Joachim Steiger (Germany) – DIY steampunk case and acrylic case Yann Sionneau (France) – RTEMS port (GSoC 2010) Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 35 / 37
  • 36. Community Community Want to develop on a truely Open Source plateform ? We are searching for software developpers. You don’t need any special tool or FPGA. “Classical” tasks, such as user interface. Even if you don’t care about VJ,we encourage you to reuse the code (FPGA, OS, software, ...). You can help tracking bugs, improve OS support and toolchain. Example: NASA’s CoNNeCT experiment (software defined radio, Milkymist’s DRAM controller). Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 36 / 37
  • 37. Conclusion Web: http://www.milkymist.org documented source code (GPLv3 licensing) mailing list, wiki, blog, IRC (#milkymist on Freenode : http://goo.gl/EwPu7) Mail: yann.sionneau [AT] gmail DOT com project leader : sebastien.bourdeauducq [AT] lekernel DOT net These slides are under CC-by-SA Sebastien Bourdeauducq & Yann Sionneau Source of the slides : http://sionneau.net/oshug8/milkymist oshug8.tex Yann Sionneau (OSHUG #8 – London) MilkymistTM March 10, 2011 37 / 37