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

optimsoc
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Technische Universität München

Institute for Integrated Systems

  • Prof. Dr. Andreas Herkersdorf

Arcisstraße 21 80333 München Germany http://www.lis.ei.tum.de

OpTiMSoC

Build Your Own System-on-Chip!

Philipp Wagner FOSDEM 2014 February 2nd 2014

slide-2
SLIDE 2

2

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

slide-3
SLIDE 3

3

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

It's his fault! (not really)

Photo by IntelFreePress, CC-BY-SA-2.0 http://www.fickr.com/photos/intelfreepress/8429166752/sizes/o/in/photostream/

slide-4
SLIDE 4

4

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

Figure by Wgsimon CC-BY-SA-3.0 or GFDL, via Wikimedia Commons http://commons.wikimedia.org/wiki/File%3ATransistor_Count_and_Moore's_Law_-_2011.svg

slide-5
SLIDE 5

5

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

scalable

reusable robust

Goals

slide-6
SLIDE 6

6

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

The solution is not new

Photo by mharrsch on Flickr, CC-BY-SA-2.0 http://www.fickr.com/photos/mharrsch/29319685/sizes/o/in/set-653640/

slide-7
SLIDE 7

7

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

Tiles: our basic building blocks

a tile

slide-8
SLIDE 8

8

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

Tiles can be very difgerent ...

compute tile accelerator tile memory tile

slide-9
SLIDE 9

9

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

Network-on-Chip (NoC): Mesh

slide-10
SLIDE 10

10

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

Network-on-Chip (NoC): Ring

slide-11
SLIDE 11

11

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

Intel Single-chip Cloud Computer (SCC)

Slide 6 from SCC Announcement Presentation by Justin Rattner (CTO Intel), Dec. 2009 http://download.intel.com/pressroom/pdf/rockcreek/SCC_Announcement_JustinRattner.pdf

slide-12
SLIDE 12

12

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

Adapteva Epiphany (→ Parallela)

Graphic from the “Epiphany Introduction” by Adapteva http://www.adapteva.com/introduction/

slide-13
SLIDE 13

13

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

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

slide-14
SLIDE 14

14

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

Op Ti M SoC

Open Tiled Many- Core System-on-Chip

Let's talk about

slide-15
SLIDE 15

15

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

Building Blocks for your Tiled Manycore System-on-Chip

Not a production ready solution!

slide-16
SLIDE 16

16

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

The OpTiMSoC “Bag of Components”

Jeffrey Beall via Flickr, CC-BY-SA-2.0 (edited) www.fickr.com/photos/denverjeffrey/4392418334

slide-17
SLIDE 17

17

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

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

slide-18
SLIDE 18

18

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

Network Adapter

  • Computation

Communication ↔

  • DMA Engine

– Transfer bulk data between tiles

  • Message Passing (MP)

– Explicit communication between tiles – Asynchronous

T

  • NoC From NoC

IRQ Bus write read

slide-19
SLIDE 19

19

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

Memory Tile

On-Chip SRAM External DDR Memory

  • r
slide-20
SLIDE 20

20

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

I/O Tiles

  • UART
  • SPI
  • LCD dotmatrix display
slide-21
SLIDE 21

21

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

Accelerator Tiles

  • For CPU offoad
  • Needs to handle NoC

protocol and possibly Message Passing protocol

  • currently working on AES

(crypto) tile

slide-22
SLIDE 22

22

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

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, ...)

slide-23
SLIDE 23

23

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

Photo by cliff1066TM, via Flickr; CC-BY-2.0 http://www.fickr.com/photos/nostri-imago/3137422976/

T a r g a r g e t e t P l a t f

  • r

l a t f

  • r

m s m s

slide-24
SLIDE 24

24

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

T arget Platforms

RTL Simulation FPGA Emulation

slide-25
SLIDE 25

25

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

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

slide-26
SLIDE 26

26

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

T arget: FPGA

ZTEX USB-FPGA 1.15b/d

Xilinx Spartan 6 FPGA and Cypress FX2 USB 2.0

Xilinx University Program Virtex 5

(XUPV5; almost ML505)

pro: fast, real hardware con: hard-ware = hard bugs

slide-27
SLIDE 27

28

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

Programming?

?

slide-28
SLIDE 28

29

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

Programming: the basics

  • newlib C library port
  • OpenRISC GCC
slide-29
SLIDE 29

30

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

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
slide-30
SLIDE 30

31

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

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!

slide-31
SLIDE 31

32

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

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
slide-32
SLIDE 32

33

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

Debugging: Implementation

slide-33
SLIDE 33

34

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

OpTiMSoC Host GUI

slide-34
SLIDE 34

35

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

OpTiMSoC Host GUI

slide-35
SLIDE 35

36

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

OpTiMSoC Host GUI

slide-36
SLIDE 36

37

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

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>
slide-37
SLIDE 37

38

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

Get Started!

Code & Documentation @ www.optimsoc.org

slide-38
SLIDE 38

39

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

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