optimsoc
play

OpTiMSoC Build Your Own System-on-Chip! Philipp Wagner Institute - PowerPoint PPT Presentation

Technische Universitt Mnchen OpTiMSoC Build Your Own System-on-Chip! Philipp Wagner Institute for Integrated Systems Prof. Dr. Andreas Herkersdorf FOSDEM 2014 February 2nd 2014 Arcisstrae 21 80333 Mnchen Germany


  1. Technische Universität München OpTiMSoC Build Your Own System-on-Chip! Philipp Wagner Institute for Integrated Systems Prof. Dr. Andreas Herkersdorf FOSDEM 2014 February 2nd 2014 Arcisstraße 21 80333 München Germany http://www.lis.ei.tum.de

  2. Technische Universität München Philipp Wagner 2 OpTiMSoC @ FOSDEM 2014

  3. OpTiMSoC @ FOSDEM 2014 Philipp Wagner Technische Universität München It's his fault! (not really) 3 Photo by IntelFreePress, CC-BY-SA-2.0 http://www.fickr.com/photos/intelfreepress/8429166752/sizes/o/in/photostream/

  4. OpTiMSoC @ FOSDEM 2014 Philipp Wagner Technische Universität München Figure by Wgsimon CC-BY-SA-3.0 or GFDL, via Wikimedia Commons 4 http://commons.wikimedia.org/wiki/File%3ATransistor_Count_and_Moore's_Law_-_2011.svg

  5. Technische Universität München Goals scalable robust reusable Philipp Wagner 5 OpTiMSoC @ FOSDEM 2014

  6. OpTiMSoC @ FOSDEM 2014 Philipp Wagner Technische Universität München The solution is not new Photo by mharrsch on Flickr, CC-BY-SA-2.0 6 http://www.fickr.com/photos/mharrsch/29319685/sizes/o/in/set-653640/

  7. Technische Universität München Tiles: our basic building blocks a tile Philipp Wagner 7 OpTiMSoC @ FOSDEM 2014

  8. Technische Universität München Tiles can be very difgerent ... memory tile compute tile accelerator tile Philipp Wagner 8 OpTiMSoC @ FOSDEM 2014

  9. Technische Universität München Network-on-Chip (NoC): Mesh Philipp Wagner 9 OpTiMSoC @ FOSDEM 2014

  10. Technische Universität München Network-on-Chip (NoC): Ring Philipp Wagner 10 OpTiMSoC @ FOSDEM 2014

  11. OpTiMSoC @ FOSDEM 2014 Philipp Wagner Technische Universität München Intel Single-chip Cloud Computer (SCC) Slide 6 from SCC Announcement Presentation by Justin Rattner (CTO Intel), Dec. 2009 11 http://download.intel.com/pressroom/pdf/rockcreek/SCC_Announcement_JustinRattner.pdf

  12. Technische Universität München Adapteva Epiphany (→ Parallela) Graphic from the “Epiphany Introduction” by Adapteva http://www.adapteva.com/introduction/ Philipp Wagner 12 OpTiMSoC @ FOSDEM 2014

  13. Technische Universität München Tilera TILE-Gx64 Graphic taken from “Tilera TILE-Gx8072Processor Product Brief” http://www.tilera.com/sites/default/fjles/images/products/TILE-Gx8072_PB041-03_WEB.pdf Philipp Wagner 13 OpTiMSoC @ FOSDEM 2014

  14. Technische Universität München Let's talk about Op Ti M SoC Open Tiled Many- System-on-Chip Core Philipp Wagner 14 OpTiMSoC @ FOSDEM 2014

  15. Technische Universität München Building Blocks for your Tiled Manycore System-on-Chip Not a production ready solution! Philipp Wagner 15 OpTiMSoC @ FOSDEM 2014

  16. Technische Universität München The OpTiMSoC “Bag of Components” www.fickr.com/photos/denverjeffrey/4392418334 Jeffrey Beall via Flickr, CC-BY-SA-2.0 (edited) Philipp Wagner 16 OpTiMSoC @ FOSDEM 2014

  17. Technische Universität München Compute Tile: Distributed Memory • OpenRISC Core – OR1200 (old) – mor1kx (new) • Extended for multicore – core identifjer SPR – Compare-and-Swap (CAS) unit (memory mapped) – scratch memory for each core • Shared memory (with L2$) version currently under development Philipp Wagner 17 OpTiMSoC @ FOSDEM 2014

  18. Technische Universität München Network Adapter • Computation ↔ Communication • DMA Engine Bus – Transfer bulk data between tiles IRQ • Message Passing (MP) read write – Explicit communication between tiles – Asynchronous T o NoC From NoC Philipp Wagner 18 OpTiMSoC @ FOSDEM 2014

  19. Technische Universität München Memory Tile On-Chip SRAM or External DDR Memory Philipp Wagner 19 OpTiMSoC @ FOSDEM 2014

  20. Technische Universität München I/O Tiles • UART • SPI • LCD dotmatrix display Philipp Wagner 20 OpTiMSoC @ FOSDEM 2014

  21. Technische Universität München Accelerator Tiles • For CPU offoad • Needs to handle NoC protocol and possibly Message Passing protocol • currently working on AES (crypto) tile Philipp Wagner 21 OpTiMSoC @ FOSDEM 2014

  22. Technische Universität München Network-on-Chip: LISNoC • Basic NoC implementation – mesh or ring – wormhole – packet switched – dimension routing – confjgurable buffers – virtual channel support • Other features “available on request” (bufferless, multicast, ...) Philipp Wagner 22 OpTiMSoC @ FOSDEM 2014

  23. 23 Photo by cliff1066TM, via Flickr; CC-BY-2.0 http://www.fickr.com/photos/nostri-imago/3137422976/ s s t t m m e e r r g g o o f f r r t t a a a a T l l P Technische Universität München OpTiMSoC @ FOSDEM 2014 Philipp Wagner

  24. Technische Universität München T arget Platforms RTL Simulation FPGA Emulation Philipp Wagner 24 OpTiMSoC @ FOSDEM 2014

  25. Technische Universität München T arget: RTL Simulation • ModelSim – signal-level insight into HW – short turnaround times – rather slow • Verilator – great for system-level and software development – much faster than ModelSim – free software! • Icarus Verilog – free software – never tested Philipp Wagner 25 OpTiMSoC @ FOSDEM 2014

  26. Technische Universität München T arget: FPGA ZTEX USB-FPGA 1.15b/d Xilinx University Program Virtex 5 Xilinx Spartan 6 FPGA and (XUPV5; almost ML505) Cypress FX2 USB 2.0 pro: fast, real hardware con: hard-ware = hard bugs Philipp Wagner 26 OpTiMSoC @ FOSDEM 2014

  27. Technische Universität München Programming? ? Philipp Wagner 28 OpTiMSoC @ FOSDEM 2014

  28. Technische Universität München Programming: the basics • newlib C library port • OpenRISC GCC Philipp Wagner 29 OpTiMSoC @ FOSDEM 2014

  29. Technische Universität München Programming: “Operating System” • libbaremetal : drivers, utility functions – Mutex, CAS, interrupt handling, DMA, timer • libruntime : simple runtime system – scheduler, thread handling • Multicore Association Communication (MCAPI) and Task Management API (MTAPI) – message passing (MCAPI) and heterogeneous task management (MTAPI) APIs • Linux support is being worked on, ETA end of 2014 Philipp Wagner 30 OpTiMSoC @ FOSDEM 2014

  30. Technische Universität München Programming: Hello World $> cat hello_simple.c #include <stdio.h> void main() { printf("Hello World!\n"); } $> cat Makefile PROGRAM=hello_simple BUILDSCRIPTS=$(shell pkg-config --variable=buildscriptdir optimsoc-baremetal) include $(BUILDSCRIPTS)/Makefile.inc All build infrastructure is included! Philipp Wagner 31 OpTiMSoC @ FOSDEM 2014

  31. Technische Universität München Debugging: Concept • tracing only • hardware support – fjltering, compression – no interference with system • debug modules in hardware – instruction traces – software traces • printf() • send events from software – NoC status • initialization of memories Philipp Wagner 32 OpTiMSoC @ FOSDEM 2014

  32. Technische Universität München Debugging: Implementation Philipp Wagner 33 OpTiMSoC @ FOSDEM 2014

  33. Technische Universität München OpTiMSoC Host GUI Philipp Wagner 34 OpTiMSoC @ FOSDEM 2014

  34. Technische Universität München OpTiMSoC Host GUI Philipp Wagner 35 OpTiMSoC @ FOSDEM 2014

  35. Technische Universität München OpTiMSoC Host GUI Philipp Wagner 36 OpTiMSoC @ FOSDEM 2014

  36. Technische Universität München What can I use OpTiMSoC for? • Use your FPGA: Build your own SoC – often 1 or 2 CPU cores are enough • Develop/evaluate hardware architectures/extensions • Look inside a SoC • <insert your ideas here> Philipp Wagner 37 OpTiMSoC @ FOSDEM 2014

  37. Technische Universität München Get Started! Code & Documentation @ www.optimsoc.org Philipp Wagner 38 OpTiMSoC @ FOSDEM 2014

  38. Technische Universität München Questions? The “Army of Awesome”: Andreas Lankes, Philipp Wagner, Stefan Wallentowitz Alexandra Weber, Andreas Oeldemann, Andreas Wilhelm, Christian Morgenstern, Daniel Haug, Daniel Thaler, Dexin Chen, Eugen Egel, Falco Cescolini, Hans-Christian Wild, Johannes Ehm, Julia Müller, Markus Göhrle, Martin Lowinski, Manuel Krause, Michael Faath, Michael Tempelmeier, Preethi Parayil, Robert Specht, Sebastian Herzog, Simon Schulze, Stefan Rösch, Umbreen Mian Philipp Wagner 39 OpTiMSoC @ FOSDEM 2014

Recommend


More recommend