Designing with Nios II Processor for Hardware Engineers

Similar documents
Designing with ALTERA SoC Hardware

Introduction to the Qsys System Integration Tool

Designing with ALTERA SoC

Creating PCI Express Links in Intel FPGAs

FPGA for Software Engineers

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

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

Nios II Embedded Design Suite Release Notes

Embedded Design Handbook

HyperBus Memory Controller (HBMC) Tutorial

NIOS CPU Based Embedded Computer System on Programmable Chip

2.5G Reed-Solomon II MegaCore Function Reference Design

HyperBus Memory Controller (HBMC) Tutorial

Digital Systems Design. System on a Programmable Chip

ALTERA FPGAs Architecture & Design

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

Design of Embedded Hardware and Firmware

Using NIOS 2 Embedded Design Suite 10

2. Learn how to use Bus Functional Models (BFM) and write test cases for verifying your design.

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

Advanced ALTERA FPGA Design

HyperBus Memory Controller (HBMC) Tutorial

Qsys and IP Core Integration

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

Quartus II Prime Foundation

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

ECE332, Week 2, Lecture 3

HyperBus Memory Controller (HBMC) Tutorial

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

My First Nios II for Altera DE2-115 Board

Simulating Nios II Embedded Processor Designs

HyperBus Memory Controller (HBMC) Tutorial

HyperBus Memory Controller (HBMC) Tutorial

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

The Nios II Family of Configurable Soft-core Processors

Building Interfaces with Arria 10 High-Speed Transceivers

Arria 10 JESD204B IP Core Design Example User Guide

Debugging Nios II Systems with the SignalTap II Logic Analyzer

NIOS II Instantiating the Off-chip Trace Logic

Nios II Embedded Design Suite 6.1 Release Notes

Cover TBD. intel Quartus prime Design software

DSP Builder Handbook Volume 1: Introduction to DSP Builder

Excellent for XIP applications"

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

University of Massachusetts Amherst Computer Systems Lab 2 (ECE 354) Spring Lab 1: Using Nios 2 processor for code execution on FPGA

Synaptic Labs' HyperBus Memory Controller (HBMC) Tutorial

DE2 Board & Quartus II Software

Board Update Portal based on Nios II Processor with EPCQ (Arria 10 GX FPGA Development Kit)

DSP Builder Handbook Volume 1: Introduction to DSP Builder

Designing Embedded Processors in FPGAs

ALTERA FPGA Design Using Verilog

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

ARM CORTEX-R52. Target Audience: Engineers and technicians who develop SoCs and systems based on the ARM Cortex-R52 architecture.

VHDL for Synthesis. Course Description. Course Duration. Goals

Building Gigabit Interfaces in Altera Transceiver Devices

Using Tightly Coupled Memory with the Nios II Processor

Cover TBD. intel Quartus prime Design software

4K Format Conversion Reference Design

Nios II Classic Software Developer s Handbook

Laboratory Exercise 5

NIOS II Processor Booting Methods In MAX 10 Devices

NIOS CPU Based Embedded Computer System on Programmable Chip

NIOS CPU Based Embedded Computer System on Programmable Chip

Nios II Classic Software Developer s Handbook

Nios II Embedded Design Suite 7.1 Release Notes

Multi-core microcontroller design with Cortex-M processors and CoreSight SoC

System Debugging Tools Overview

Guidelines for Developing a Nios II HAL Device Driver

Digital Systems Design

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

Nios II Software Developer s Handbook

Cortex-M3/M4 Software Development

Copyright 2014 Xilinx

Altera JTAG-to-Avalon-MM Tutorial

NIOS Character. Last updated 7/16/18

MICROTRONIX AVALON MOBILE DDR MEMORY CONTROLLER IP CORE

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

MICROTRONIX AVALON MULTI-PORT FRONT END IP CORE

System-on Solution from Altera and Xilinx

Nios II Embedded Design Suite 6.0 Service Pack 1 Release Notes

Nios II Studio Help System

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

Verilog for High Performance

Cornell Cup Tutorials

Nios II Performance Benchmarks

Alternative Nios II Boot Methods

ARM Processors for Embedded Applications

Bare Metal User Guide

SerialLite III Streaming IP Core Design Example User Guide for Intel Arria 10 Devices

Designing with Nios II and SOPC Builder

9. Building Memory Subsystems Using SOPC Builder

Functional Safety Clock Checker Diagnostic IP Core

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

Nios II Custom Instruction User Guide Preliminary Information

AN 812: Qsys Pro System Design Tutorial

Generic Serial Flash Interface Intel FPGA IP Core User Guide

Intel SoC FPGA Embedded Development Suite User Guide

SerialLite III Streaming IP Core Design Example User Guide for Intel Stratix 10 Devices

Interlaken IP Core (2nd Generation) Design Example User Guide

esi-risc Development Suite Getting Started Guide

Transcription:

Designing with Nios II Processor for Hardware Engineers Course Description This course provides all theoretical and practical know-how to design ALTERA SoC FPGAs based on the Nios II soft processor under Quartus II software. The course combines 50% theory and 50% practical work on Terrasic DE series evaluation boards. The course starts with Nios II processor system hardware development, Nios II soft core capabilities, and continues with deep methodic training of the Nios II architecture. The course teaches the Nios II architecture and its memory, peripherals, how to manage SoC system, how to configure system based on Nios II, how to transfer data through the Bus system and internal interconnect, how to connect external memories, how to build a system with Qsys, how to handle interrupts, how to develop software and ways for debugging. The second part of the course focuses on appending custom instruction and custom components to enhance performance, use of simulation models (BFMs), and creating SoC test-benches. The course ends with multi-nios II systems (multicore) design, the design considerations, and how to debug multiple processors at the same time. Course Duration 2 days

Goals 1. Become familiar with ALTERA Nios II processor, its capabilities and when to use it 2. Understand SoC design hardware and software flow from specification to programming and final verification on the board 3. Develop software for Nios II processor 4. Integrate custom components into the SoC design 5. Integrate custom instructions to a Nios II processor 6. Configure the SoC system (clocks, PLLs, Resets, cache, TCM, on-chip memory, offchip memory, MMU/MPU, Peripherals) 7. Use Bus Functional Models (BFMs) to simulate SoC behavior 8. Use system console to debug hardware 9. Handle Interrupts using the Nios II internal or external interrupt controller 10. Design multi-nios II processor systems Intended Users Hardware and system engineers who would like to design with ALTERA Nios II soft processor Previous Knowledge Quartus II software and Qsys SignalTap Embedded Logic Analyzer ModelSim Course Material 1. Simulator: Modelsim 2. Synthesizer and Place & Route: Quartus II 3. Terrasic Cyclone V GX Evaluation board 4. Course book (including labs)

Table of Contents Day #1 Nios II Processor-Based Systems o What is System On a Programmable Chip (SOPC)? o What is Nios II processor? o Typical system architecture o Nios II processor major features o Requirements for Nios II processor designs o Nios II processor block diagram o Licensing o Qsys automatic interconnect generation o Add and configure Nios II CPU in Qsys o Nios II Gen 2 processor changes and improvements o Nios II processor versions and performance comparison o Vector tab settings o Caches and memory interfaces tab o Nios II Gen 2 uncached peripheral region feature o Tightly coupled memory o Arithmetic instructions tab o Nios II multiplier/divider/shifter performance o MMU and MPU settings tab o JTAG debug tab o Advanced features tab o Internal interrupt controller o Vectored interrupt controller (VIC) o Shadow registers o Using bridges with a system o Migrate from Nios II classic to Nios II Gen2 processor Lab #1: Creating a Nios II Processor System Using Qsys Software Development and Debug Tools o Nios II processor system design flow o Nios II software design process o Nios II Embedded Design Suite (EDS)

o Nios II software build tools o Creating new software projects o Application and BSP projects o Application and BSP from template o Create BSP project by itself o Create application project by itself o Importing projects into Workspace o Creating a new source file in GUI o Importing source files to a project o Creating linked resources o Setting project properties o Application project properties o Setting compiler flags (App and BSP) o Add libraries to application project o BSP project properties o BSP editor o Build properties for individual files o Project directory structure o.elf and system.h output files o Program target hardware o Running code on a target o Run configurations window o System ID peripheral check o Nios II debugger o Nios II debug perspective o Debug windows o Breakpoints o Watchpoints o Nios II instruction set simulator System Verification with System Console o What is system console? o Usage examples o System console operation requirements o System console interfaces o System console GUI o Command line interface o GUI interactive usage tips o System console services

o System console usage flow o Master service type o Dashboards o Widgets o Other system console uses Lab #2: Build a Software Project for the Nios II Processor Day #2 RTL Simulation with the Nios II Processor o RTL simulation for a Qsys system o Enable testbench generation o Qsys testbench output files o Building for an RTL simulation o Running an RTL simulation o msim_setup.tcl simulation script o Component simulation options Custom Components o What are custom components? o Example signal mapping o Component editor GUI o hw.tcl file o Custom component integration into Qsys system o Edit component parameters Nios II Processor Custom Instructions o What are custom instructions? o Block diagram of a system with custom instructions o Custom instructions support in Nios II development tools o Create custom instructions in Qsys o Add custom instruction to system o C language software interface o Assembly language interface o Why custom instructions?

o Floating point custom instructions o Floating point CI macros o Nios II custom instruction user guide o Custom instruction vs. custom component o Multi-cycle custom instructions o Accelerating CRC example Working with Development Boards o Ensure unused I/O are tri-state o Flash memory configuration o Hardware configuration from Flash o Boot copier o Nios II Flash Programmer o Extra features o What if you have a custom board? o What if Facory Safe Flash Image overwritten? o Booting from the MAX 10 device on-chip Flash LAB #3: Custom Components and Custom Instructions Application Examples for the Nios II Processor o Component tradeoff o State machine replacement o Custom microcontroller o General purpose system controller o I/O processing controller o Off-loading existing CPU o Build multi-processor systems o Multi-CPU architectures o Shared memory, mutex, and mailboxes o Software for multi-processor systems o Launch group for multi-processor systems o Sending interrupts o Control plane and data plane LAB #4: Build and Explore a Multi-Nios II CPU System