SISTEMI EMBEDDED. Embedded Systems SOPC Design Flow. Federico Baronti Last version:

Similar documents
Digital Systems Design. System on a Programmable Chip

NIOS CPU Based Embedded Computer System on Programmable Chip

System Cache (CMS-T002/CMS-T003) Tutorial

University of Massachusetts Amherst Computer Systems Lab 1 (ECE 354) LAB 1 Reference Manual

Designing with Nios II Processor for Hardware Engineers

ECE332, Week 2, Lecture 3. September 5, 2007

ECE332, Week 2, Lecture 3

Excellent for XIP applications"

Designing with Nios II and SOPC Builder

Practical Hardware Debugging: Quick Notes On How to Simulate Altera s Nios II Multiprocessor Systems Using Mentor Graphics ModelSim

HyperBus Memory Controller (HBMC) Tutorial

Embedded Computing Platform. Architecture and Instruction Set

Laboratory Exercise 3 Comparative Analysis of Hardware and Emulation Forms of Signed 32-Bit Multiplication

HyperBus Memory Controller (HBMC) Tutorial

Creating projects with Nios II for Altera De2i-150. By Trace Stewart CPE 409

HyperBus Memory Controller (HBMC) Tutorial

NIOS CPU Based Embedded Computer System on Programmable Chip

Enabling New Low-Cost Embedded System Using Cyclone III FPGAs

Synaptic Labs HyperBus Memory Controller (HBMC) Tutorial for Intel FPGA devices

Nios II Performance Benchmarks

Non-Volatile Configuration Scheme for the Stratix II EP2S60 DSP Development Board

AN INNOVATIVE IMPLEMENTATION TECHNIQUE OF A REAL-TIME SOFT-CORE PROCESSOR

HyperBus Memory Controller (HBMC) Tutorial

HyperBus Memory Controller (HBMC) Tutorial

Using NIOS 2 Embedded Design Suite 10

HyperBus Memory Controller (HBMC) Tutorial

DE2 Board & Quartus II Software

SISTEMI EMBEDDED. Building a Nios II Computer from scratch. Federico Baronti Last version:

Introduction to the Altera SOPC Builder Using Verilog Designs. 1 Introduction

SISTEMI EMBEDDED. Computer Organization Memory Hierarchy, Cache Memory. Federico Baronti Last version:

Synaptic Labs (S/Labs) HyperBus Memory Controller (HBMC) Tutorial for Intel FPGA devices

SISTEMI EMBEDDED AA 2013/2014

Today s Agenda Background/Experience Course Information Altera DE2B Board do Overview Introduction to Embedded Systems Design Abstraction Microprocess

Introduction to the Qsys System Integration Tool

Synaptic Labs' HyperBus Memory Controller (HBMC) Tutorial

The Nios II Family of Configurable Soft-core Processors

Embedded Design Handbook

Design of Embedded Hardware and Firmware

Nios II Embedded Design Suite 7.1 Release Notes

Introduction. Definition. What is an embedded system? What are embedded systems? Challenges in embedded computing system design. Design methodologies.

Smart Self-Controlled Vehicle for Motion Image Tracking

Terasic DE0 Field Programmable Gate Array (FPGA) Development Board

Designing with ALTERA SoC Hardware

System-on-a-Programmable-Chip (SOPC) Development Board

Five Ways to Build Flexibility into Industrial Applications with FPGAs

DESIGN OF STANDARD AND CUSTOM PERIPHERAL USING NIOS II PROCESSOR

Introduction to the Altera SOPC Builder Using Verilog Design

Nios II Embedded Design Suite Release Notes

Somes French translations :

Graduate Institute of Electronics Engineering, NTU Advanced VLSI SOPC design flow

4K Format Conversion Reference Design

QUARTUS II Altera Corporation

CHAPTER 1 Introduction of the tnano Board CHAPTER 2 tnano Board Architecture CHAPTER 3 Using the tnano Board... 8

Nios II Studio Help System

S. Moslehpour *, K. Jenab & S. Valiveti

EMBEDDED SOPC DESIGN WITH NIOS II PROCESSOR AND VHDL EXAMPLES

Automatic Peak Detection System Power Analysis Using System on a Programmable Chip (SoPC) Methodology

Designing Embedded Processors in FPGAs

Nios II Soft Core-Based Double-Layer Digital Watermark Technology Implementation System

Guidelines for Developing a Nios II HAL Device Driver

Nios II Embedded Design Suite 6.1 Release Notes

Embedded Systems. "System On Programmable Chip" NIOS II Avalon Bus. René Beuchat. Laboratoire d'architecture des Processeurs.

IMPLEMENTATION OF TIME EFFICIENT SYSTEM FOR MEDIAN FILTER USING NIOS II PROCESSOR

Higher Level Programming Abstractions for FPGAs using OpenCL

3-D Accelerator on Chip

My First Nios II for Altera DE2-115 Board

Digital Integrated Circuits

ECE 448 Lecture 15. Overview of Embedded SoC Systems

Distributed Real-Time Control Systems. Module 3 Hardware for Real Time Distributed Control Systems

Nios II Classic Software Developer s Handbook

Design and Application of a Reconfigurable Embedded system

Ethernet Switch. WAN Gateway. Figure 1: Switched LAN Example

EasyGX. GX Development Kit Guide. Ver: 1.0. Cytech Technology A Macnica Company

SoC FPGAs. Your User-Customizable System on Chip Altera Corporation Public

An Introduction to Programmable Logic

Synaptic Labs. HyperFlash Programmer for the Nios II Ecosystem. Introduction

FPGA for Software Engineers

Nios II Embedded Evaluation Kit, Cyclone III Edition User Guide

Designing with ALTERA SoC

Using the NicheStack TCP/IP Stack - Nios II Edition Tutorial

The University of Reduced Instruction Set Computer (MARC)

TUTORIAL: Adding non-traditional properties for embedded systems design Indira Jayaram, 2011

Nios II Classic Software Developer s Handbook

CSCE 313: Embedded System Design. Introduction. Instructor: Jason D. Bakos

Basic Components of Digital Computer

PREFACE. Changes to the SOPC Edition

Nios II Embedded Design Suite 6.0 Service Pack 1 Release Notes

Advanced course on Embedded Systems design using FPGA

ELEC 5260/6260/6266 Embedded Computing Systems

Design and Realization of FPGA Based Phonetic Intelligent Home System Wei Zhuo

Full Linux on FPGA. Sven Gregori

Lesson 6 Intel Galileo and Edison Prototype Development Platforms. Chapter-8 L06: "Internet of Things ", Raj Kamal, Publs.: McGraw-Hill Education

Analysis of Resource Utilization in FPGA Implementation of an Embedded System Using Soft Core Processor.

FPGA Development Board Hardware and I/O Features

Building A Custom System-On-A-Chip

Introducing the Spartan-6 & Virtex-6 FPGA Embedded Kits

esi-risc Development Suite Getting Started Guide

Nios Soft Core Embedded Processor

System-on Solution from Altera and Xilinx

DKAN0011A Setting Up a Nios II System with SDRAM on the DE2

Transcription:

SISTEMI EMBEDDED Embedded Systems SOPC Design Flow Federico Baronti Last version: 20160229

Definition(s) of Embedded Systems Systems with embedded processors Hamblen, Hall, Furman, Rapid Prototyping Of Digital Systems, Springer 2008 One or more computers are used as components Ashenden, Digital Design: An Embedded Systems Approach Using Verilog, Elsevier 2008 A physical system that employs computer control for a specific purpose, rather than for general-purpose computation Hamacher, Vranesic, Zaky, Manjikian, Computer Organization And Embedded Systems, McGraw Hill 2012 Device that includes a programmable computer but is not itself intended to be a general-purpose computer Wolf, Principles of Embedded Computing System Design, Elsevier 2008

Embedded Systems (1) Not easy to find a precise definition. But we can identify some prominent features: Contain a computer which is not general-purpose Are part of a larger device/equipment/plant that they control Are application-specific and single functioned; functions are a-priori known and executed repeatedly Need to be optimized for cost, size, energy consumption, May have Real time and safety requirements Typically have minimal user interface

Embedded Systems (2) Are very pervasive in our daily life: Household appliances, cars (ABS, EPS, ), ATMs, printers, scanners, cameras, videogames, TVs, smart watches, alarm systems, smartphones, tablets, Every year billion of new embedded computers 100 embedded computers every one generalpurpose computer

Application Examples (1)

Application Examples (2) Microwave Oven Camera

Embedded System Block Diagram Embedded Computer Embedded System Memory Sensor Sensor Sensor SENSOR CONDITIONING Processor Peripherals DRIVER Actuator Actuator Indicator Device/Equipment to be controlled

An embedded system is a computer system that is not general-purpose like a personal computer Main building blocks: Memory Input Processor Output Processor(s) Memories: FLASH, EEPROM, SRAM, SDRAM, DDRAM Peripherals: GPIO, Timer/Counter, PWM, Communication interfaces (SPI, I 2 C, CAN, ), A/D, D/A, and definitely some specific SOFTWARE

An embedded system is a computer system that is not general-purpose like a personal computer Main design constraints: Development cost (Non-Recurring Engineering cost) Production cost Power consumption Physical size Their relative importance varies from one embedded system to another

An embedded system is a computer system that is not general-purpose like a personal computer Hardware design options: ASIC COTS (Commercial-off-the-shelf) Design logic, mem. and proc. Discrete µcs, DSPs SoC alternatives: MCP, PoP, SiP FPGA with mem. and hard-core proc. Design logic FPGA Design logic Configure mem. and soft-core proc. SOC SOC: System on a Chip MCP: Multi Chip Package PoP: Package on Package SiP: System in a Package SOC FPGA SOPC SOPC (System On a Programmable Chip)

System-on-Programmable-Chip Configure soft-core processor: Core configuration Core version (E.g. economy, standard, fast for Altera Nios II) Instruction/Data Cache, Pipeline Stages, JTAG Debug Modules, Custom Instructions, etc. Peripheral configuration (what and where) Peripheral selection Standard peripherals from Altera and third-party vendors: GPIOs, Timers, Serial Communication Interfaces, Memory Interfaces, etc. Custom peripherals Address mapping

SOPC Design Flow J. O. Hamblen et al. Rapid Prototyping of Digital Systems SOPC Edition, Springer, 2008

Altera s CAD tools Logic Design: Quartus II Nios II Configuration and Computer integration: Qsys Qsys generates the HDL description of the Computer Logic Simulation: ModelSim-Altera Software Development: Nios II Embedded Design Suite (EDS) Eclipse DE2: Development & Education board Cyclone II EP2C35F672C6 (33216 LE; 105 M4K) Nios II/e Nios II/s Nios II/f #LE 600-700 1200-1400 1400-1800 #M4K 2 2 + cache 3 + cache Nios II versions: economy standard fast

Nios II HW/SW Design Flow

Nios II SBT Design Flow Creating a project Nios II Application and BSP from Template Target hardware information (.sopcinfo, CPU) Project template Board Support Package (BSP) Code editing (.c,.h) Building the Project (.elf) Configuring the FPGA Quartus II programmer (.sof) Running/ Debugging the Project on Nios II Run/Debug configurations

Board Support Package (BSP) Library and header files (e.g. system.h) specific to the target processor Automatically generated through.sopcinfo and CPU Hides memory map, available devices, device implementation and processor configuration Device drivers Hardware Abstraction Layer (HAL) RTOS: Micrium MicroC/OS-II