Content Project Goals. Workflow Background. System configuration. Working environment. System simulation. System synthesis. Benchmark. Multicore.

Slides:



Advertisements
Similar presentations
Nios Multi Processor Ethernet Embedded Platform Final Presentation
Advertisements

SoCks Hardware / Software Codesign Andrew Pearson Sanders DeNardi ECE6502 May 4, 2010.
Sumitha Ajith Saicharan Bandarupalli Mahesh Borgaonkar.
Program Development Tools The GNU (GNU’s Not Unix) Toolchain The GNU toolchain has played a vital role in the development of the Linux kernel, BSD, and.
Linux on an FPGA Team: Anthony Bentley Dylan Ismari Bryan Myers Tyler Jordan Mario Espinoza Sponsor: Dr. Alonzo Vera.
Reporter :LYWang We propose a multimedia SoC platform with a crossbar on-chip bus which can reduce the bottleneck of on-chip communication.
© ABB Group Jun-15 Evaluation of Real-Time Operating Systems for Xilinx MicroBlaze CPU Anders Rönnholm.
Term Project Overview Yong Wang. Introduction Goal –familiarize with the design and implementation of a simple pipelined RISC processor What to do –Build.
IO Controller Module Arbitrates IO from the CCP Physically separable from CCP –Can be used as independent data logger or used in future projects. Implemented.
Configurable System-on-Chip: Xilinx EDK
The Xilinx EDK Toolset: Xilinx Platform Studio (XPS) Building a base system platform.
1 Real-Time System Design Developing a Cross Compiler and libraries for a target system.
Modern trends in computer architecture and semiconductor scaling are leading towards the design of chips with more and more processor cores. Highly concurrent.
Performance Analysis of Processor Characterization Presentation Performed by : Winter 2005 Alexei Iolin Alexander Faingersh Instructor:
Students:Gilad Goldman Lior Kamran Supervisor:Mony Orbach Part A Presentation Network Sniffer.
Reconfigurable Computing in the Undergraduate Curriculum Jason D. Bakos Dept. of Computer Science and Engineering University of South Carolina.
ECE Department: University of Massachusetts, Amherst Lab 1: Introduction to NIOS II Hardware Development.
Implementation of DSP Algorithm on SoC. Mid-Semester Presentation Student : Einat Tevel Supervisor : Isaschar Walter Accompaning engineer : Emilia Burlak.
Implementation of DSP Algorithm on SoC. Characterization presentation Student : Einat Tevel Supervisor : Isaschar Walter Accompany engineer : Emilia Burlak.
Lecture 7 Lecture 7: Hardware/Software Systems on the XUP Board ECE 412: Microcomputer Laboratory.
Embedded Systems Programming Introduction to the course.
A Flexible Architecture for Simulation and Testing (FAST) Multiprocessor Systems John D. Davis, Lance Hammond, Kunle Olukotun Computer Systems Lab Stanford.
Final presentation Encryption/Decryption on embedded system Supervisor: Ina Rivkin students: Chen Ponchek Liel Shoshan Winter 2013 Part A.
© 2011 Xilinx, Inc. All Rights Reserved This material exempt per Department of Commerce license exception TSU Xilinx Tool Flow.
Out-of-Order OpenRISC 2 semesters project Semester A: Implementation of OpenRISC on XUPV5 board Final A Presentation By: Vova Menis-Lurie Sonia Gershkovich.
Constructive Computer Architecture Tutorial 4: SMIPS on FPGA Andy Wright 6.S195 TA October 7, 2013http://csg.csail.mit.edu/6.s195T04-1.
Students: Oleg Korenev Eugene Reznik Supervisor: Rolf Hilgendorf
General Purpose FIFO on Virtex-6 FPGA ML605 board Students: Oleg Korenev Eugene Reznik Supervisor: Rolf Hilgendorf 1 Semester: spring 2012.
Introduction to The Linaro Toolchain Embedded Processors Training Multicore Software Applications Literature Number: SPRPXXX 1.
1 Introduction to Tool chains. 2 Tool chain for the Sitara Family (but it is true for other ARM based devices as well) A tool chain is a collection of.
Ross Brennan On the Introduction of Reconfigurable Hardware into Computer Architecture Education Ross Brennan
Out-of-Order OpenRISC 2 semesters project Semester A: Implementation of OpenRISC on XUPV5 board Midterm Presentation By: Vova Menis-Lurie Sonia Gershkovich.
Content Project Goals. Term A Goals. Quick Overview of Term A Goals. Term B Goals. Gantt Chart. Requests.
ECE Department: University of Massachusetts, Amherst Using Altera CAD tools for NIOS Development.
1 of 23 Fouts MAPLD 2005/C117 Synthesis of False Target Radar Images Using a Reconfigurable Computer Dr. Douglas J. Fouts LT Kendrick R. Macklin Daniel.
Advanced SW/HW Optimization Techniques for Application Specific MCSoC m Yumiko Kimezawa Supervised by Prof. Ben Abderazek Graduate School of Computer.
SPREE RTL Generator RTL Simulator RTL CAD Flow 3. Area 4. Frequency 5. Power Correctness1. 2. Cycle count SPREE Benchmarks Verilog Results 3. Architecture.
Xilinx LogiCore Animation and Connect6 game development on Remote FPGA Student - Stephen Conway Supervisor - Fearghal Morgan Co-Supervisor – Martin Glavin.
System on Chip (SoC) Architecture Design The SOCks Design Platform
1 Towards Optimal Custom Instruction Processors Wayne Luk Kubilay Atasu, Rob Dimond and Oskar Mencer Department of Computing Imperial College London HOT.
TEMPLATE DESIGN © Hardware Design, Synthesis, and Verification of a Multicore Communication API Ben Meakin, Ganesh Gopalakrishnan.
Array Synthesis in SystemC Hardware Compilation Authors: J. Ditmar and S. McKeever Oxford University Computing Laboratory, UK Conference: Field Programmable.
COMPUTER ORGANIZATIONS CSNB123. COMPUTER ORGANIZATIONS CSNB123 Why do you need to study computer organization and architecture? Computer science and IT.
NIOS II Ethernet Communication Final Presentation
 Overview › Requirements › Proof of Principal › Issues … › First Step – Wrap Altera NIOS2 GNU Tools › Next Step – Build RTEMS/NIOS GNU Tools › Future.
LAB1 Summary Zhaofeng SJTU.SOME. Embedded Software Tools CPU Logic Design Tools I/O FPGA Memory Logic Design Tools FPGA + Memory + IP + High Speed IO.
Part A Presentation Implementation of DSP Algorithm on SoC Student : Einat Tevel Supervisor : Isaschar Walter Accompanying engineer : Emilia Burlak The.
Porting Linux Linux onto the Puppeteer SA1110. The Puppeteer board –SA1110 CPU –SMSC LAN91C96I ethernet –8 Mb Flash Intel 28F320C3 Boot block flash –32.
Out-of-Order OpenRISC Stage 1: Implementation of OpenRISC on XUP5 board Project Characterization By: Vova Menis-Lurie Sonia Gershkovich Advisor: Mony Orbach.
MIPS Microprocessor (Cache Circuits) ‏ Rhys Bowden, Robert Moric, Joel Stanley, Melanie Tan.
Infrastructure design & implementation of MIPS processors for students lab based on Bluespec HDL Students: Danny Hofshi, Shai Shachrur Supervisor: Mony.
A Monte Carlo Simulation Accelerator using FPGA Devices Final Year project : LHW0304 Ng Kin Fung && Ng Kwok Tung Supervisor : Professor LEONG, Heng Wai.
Lab 2 Parallel processing using NIOS II processors
Implementation of Embedded OS Lab4 Cortex-M3 Programming.
Lecture 7: Overview Microprocessors / microcontrollers.
Implementation of Embedded OS Lab3 Porting μC/OS-II.
Out-of-Order OpenRISC 2 semesters project Semester B: OR1200 ISA Extension Final B Presentation By: Vova Menis-Lurie Sonia Gershkovich Advisor: Mony Orbach.
Teaching Digital Logic courses with Altera Technology
Advanced SW/HW Optimization Techniques for Application Specific MCSoC m Yumiko Kimezawa Supervised by Prof. Ben Abderazek Graduate School of Computer.
Embedded Systems Design with Qsys and Altera Monitor Program
Application-Specific Customization of Soft Processor Microarchitecture Peter Yiannacouras J. Gregory Steffan Jonathan Rose University of Toronto Electrical.
Corflow Online Tutorial Eric Chung
Implementing RISC Multi Core Processor Using HLS Language - BLUESPEC Liam Wigdor Instructor Mony Orbach Shirel Josef Semesterial Winter 2013.
Padmarao Begari April 2nd, 2017
Co-Designing Accelerators and SoC Interfaces using gem5-Aladdin
Lab 1: Using NIOS II processor for code execution on FPGA
Application-Specific Customization of Soft Processor Microarchitecture
Figure 1 PC Emulation System Display Memory [Embedded SOC Software]
Application-Specific Customization of Soft Processor Microarchitecture
From Custom CPU to Hello World in 30 Minutes
Presentation transcript:

Content Project Goals. Workflow Background. System configuration. Working environment. System simulation. System synthesis. Benchmark. Multicore.

Project Goals Project Goal: building a SoC based on a multicore implementation of the OpenRISC CPU. Term A Goals: 1. Building a SoC based on an OpenRISC CPU. 2. Benchmarking the system for future reference. 3. Exploring multicore architectures.

Term A - Workflow Learning the OpenRISC architecture. Learning Verilog HDL. Choosing a SoC. Getting familiar with the work environment. Configuring the SoC. Simulation and Synthesis. Benchmarking for future reference. Choosing a multicore architecture.

The OpenRisc CPU The OpenRISC 1200 is a synthesizable CPU core maintained by developers at OpenCores. The OR1200 design is an open source (under LGPL GNU) implementation of the OpenRISC 1000 RISC architecture 1-way set associative 4KB instruction and data cache. Harvard architecture. No divide implementation (done by software). Disabled DSP unit. Includes a Timer.

Choosing the SoC orpSoC minSoC Reference design. Different FPGA’s needs different ports. Developed by OpenCores. More IP cores: UART. Ethernet. VGA. AC97… Suitable for running Linux. Generic design. Developed by Raul Fajardo. Minimal implementation, only: UART Ethernet. Only the basics, meant to be configured. simpler, but more advanced RAM model. Less FPGA resources.

Configuring minSoC On-Chip memory blocks

FPGA used XUPV5 Board

Work Environment Windows PlanAhead (synthesis). iMPACT (transferring design to FPGA). Terminal for UART connection. Ubuntu Icarus & or1ksim (simulation). GTKwave (viewing waves created by Icarus). GNU OpenRisc toolchain (or32-elf): binutils, GCC and GDB (compilation and debugging). newlib and uclibc (minimal C libraries). And others …

Simulation – workflow The code is compiled with or32-elf-gcc. The binary file is converted to a hex file. The hex file is written into the memory HDL file. The system is simulated using Icarus. UART output is redirected to the terminal. Wave file can be viewed using GTKwave.

Simulation – the code

Simulation - results f 32 2f d c 6c 6f f 72 6c 64 2e 26/2/ Hello World.

Synthesis – workflow The hex file is written to the memory model. RTL design is transferred to planAhead. Synthesis. Generating Bitstream file. Using iMPACT to program the FPGA. UART output is displayed on the terminal.

Synthesis

Benchmarking We used Dhrystone benchmark. Dhrystone is a synthetic computing benchmark program developed in intended to represent the system’s integer performance – doesn’t contain floating point operations. Dhrystone tries to represent the result more meaningfully than MIPS using DMIPS, a count of the number of program iteration completions per second. We measured a Dhrystone score (0.37 DMIPS/MHz).

MultiCore System bus isn’t aware of multicores All cores have the same address. Cache coherency. System bus is aware of multicores. Each core has different address Cache coherency.

MultiCore – Tiled architecture Scalable. CPU remains intact. NoC handles cache coherencies. NoC handles resources allocation.

Hurdles along the way Outdated hardware (RS232). Lack of proper documentation. Working on several IP cores, written by different people. Writing code for embedded system, not for an OS. RTL code is targeting different FPGAs. On a bug, is it hardware or software related.

Achievements Learned Verilog HDL. Learned Linux OS basics. Learned to work with Xilinx FPGAs and software. Design on multiple levels, from a hardware RTL design to a C software. Learned New hardware architecture and software toolchain. Project goals: 1. Building a SoC based on an OpenRISC CPU………. 2. Benchmarking the system for future reference….. 3. Exploring multicore architectures………………………

Thank you.