Build Your Own System-on-Chip!
This talk introduces OpTiMSoC, a set of open source building blocks to create your own System-on-Chip, which then runs on an FPGA or can be simulated on a PC. The system is formed by tiles like processors or memories connected by a Network-on-Chip, all written in Verilog and supported by a set of software required to run it out of the box. The talk shows how you can use OpTiMSoC to gain insight into a complex System-on-Chip, to evaluate the benefit of new hardware accelerators, or to compare different multicore hardware architectures.
Have you ever wondered what exactly is happening inside a System-on-Chip, like the one that's inside your cellphone, your washing machine, or your car? Have you ever thought "wow, this algorithm could be implemented so much faster in hardware"? Do you do research on embedded hardware architectures and need a platform on which you can try out your ideas?
Then we might have something for you: OpTiMSoC. The "Open Tiled Manycore System-on-Chip" is an open source collection of building blocks to create your own System-on-Chip (SoC). It is based on the concept of "tiles", elements like CPUs, memories, hardware accelerators or external interfaces, which are connected by a Network-on-Chip. On top of those hardware components, which are written mostly in Verilog and can be synthesized to run on an FPGA as well as simulated on a PC, OpTiMSoC contains all necessary software components to get a SoC up and running (a basic "operating system", a C library port, debug support). Of course some running demo systems are included, so you can get started easily by modifying existing designs.
OpTiMSoC was designed by researchers at the Technische Universität München (TUM) and is used there to evaluate new hardware architectures. Over the last two years it grew massiveley in scale and we think it's now useful to others as well. By providing a signal-level insight into a complex SoC it serves as teaching tool and as experimentation and research platform at the same time.
This talk gives an overview over OpTiMSoC, how we use it and how you can make use of it to realize your own ideas.