nios tm 2.0

58
1 © 2001 ® Nios Nios TM TM 2.0 2.0 Altera’s embedded Processor Solution

Upload: anne

Post on 14-Feb-2016

84 views

Category:

Documents


1 download

DESCRIPTION

Nios TM 2.0. Altera’s embedded Processor Solution. Nios Embedded Processor. Configurable Soft Core Embedded Processor Optimized for Altera ® Programmable Logic Device (PLD) Architecture 32-Bit RISC Architecture License & Royalty Free Over 6,000 Kits Sold. Nios Device Support. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Nios TM  2.0

1© 2001

®

NiosNiosTMTM 2.0 2.0

Altera’s embedded Processor Solution

Page 2: Nios TM  2.0

2© 2001

®

Nios Embedded ProcessorNios Embedded Processor Configurable Soft Core

Embedded Processor Optimized for Altera®

Programmable Logic Device (PLD) Architecture

32-Bit RISC Architecture License & Royalty Free Over 6,000 Kits Sold

Page 3: Nios TM  2.0

3© 2001

®

Nios Device SupportNios Device Support

Low CostLow Density

ACEX® 1K

Low CostLow-to-Medium Density

FLEX® 10K

High-Speed Differential I/OLow-to-High Density

APEX 20KEAPEX 20KC

High-Speed Differential I/OVery High Density

APEX™ II

High SpeedMulti-Processor Systems (ARM + Nios)Medium-to-High Density

ARM®-Based Excalibur

Very High-Speed I/O with Clock-Data Recovery (CDR)Medium Density

Mercury™

Highest Speed (0.13-µm, All-Layer Copper) DSP BlocksVery High Speed I/O Very High Density

Stratix™

FeaturesFeaturesDevice FamilyDevice Family

Page 4: Nios TM  2.0

4© 2001

®

SOPCSOPCBuilderBuilder

Combines Altera Strengths Combines Altera Strengths

Robust IP Offerings Processor DSP Communication

Bus Interface

HardwareDevelopment Tools Quartus® II LeonardoSpectrum™ ModelSim®

Development Boards

High-Density, High-Performance Devices Stratix APEX II Mercury ARM-Based

Excalibur

Software Development Tools Compiler Debugger RTOS

Page 5: Nios TM  2.0

5© 2001

®

SOPC_BUILDERSOPC_BUILDER

Page 6: Nios TM  2.0

6© 2001

®

A powerful friendly GUI A powerful friendly GUI

SimulationEnvironment

HardwareEnvironment

SoftwareEnvironment

HardwareTeam

SoftwareTeam

Page 7: Nios TM  2.0

7© 2001

®

The NiosThe NiosTMTM System Architecture System Architecture

UART nUART 0

Timer nTimer 0

SPI nSPI 0

GPIO nGPIO 0

DMA nDMA 0

MemoryInterface

User-DefinedInterface

OCD

AM

BA

/ A

VA

LON

STRIPE

@decoder

InterruptControler

Wait StateGeneration

Data InMultiplexer

DynamicBus Sizing

Port Interface

AVALON (Bus Peripheral Module)

Arbiter

Arbiter

Arbiter

Arbiter

UserTri_StateDevice

NiosFlash

NiosSRAM

Tri-StateBridge

Arbiter

Page 8: Nios TM  2.0

8© 2001

®

SOPC Builder Ready ComponentsSOPC Builder Ready Components

The List Keeps Growing . . .

Nios™ Embedded Processor

ARM922T™Processor

ARM®-to-Nios Bridge (AMBA AHB-to-Avalon)

On-Chip ROMOn-Chip RAM

16550S UARTWatchdog10/100 Ethernet

FLASHCAN 2.0TimerInterface to User Logic

SRAMSPIGPIO

SSRAMUSB 2.0PCI

SDRAMUSB 1.1DMA

Page 9: Nios TM  2.0

9© 2001

®

A Lego's like systemA Lego's like systemThe 2.0 CPU core

PeripheralsAvailableOptions

Page 10: Nios TM  2.0

10© 2001

®

A modular generationA modular generation

Software Environment

Hardware EnvironmentNetlist Generation

Simulation Environment

Sources for the Synthesis and simulation are available in both VHDL and verilog languages.

All PLD families supported

Page 11: Nios TM  2.0

11© 2001

®

NiosNiosTMTM

Hardware Description1- The Core,2- Custom Instruction3- Multi-Mastering

Page 12: Nios TM  2.0

12© 2001

®

NiosNiosTMTM processor Features processor Features 1/21/2 32-Bits or 16-Bits RISC Architecture

5 Stage Pipeline Fully-Synchronous Interface Same 16-bits instruction Set for both Data Path sizes.

Windowed Register File Configurable to 512 Registers. Fast Context Switching.

Integrated Interrupt Controller 64 Vectored Interrupts.

Selectable Reset Address

Page 13: Nios TM  2.0

13© 2001

®

NiosNiosTMTM processor Features processor Features 2/22/2 Dynamic Bus Sizing mechanism

Arithmetic's functions for the ALU. Fixed Barrel-Shifter that executes all shift instructions in 2 clock cycles,

regardless of the shift-distance. MSTEP multiplier or 16x16 Bits multiplier.

Optimized Data Processing Custom CPU Instructions >2X Acceleration (e.g. MAC, MP3, Bit Swap)

Optimized Data Flow Simultaneous Multi-master Bus Capability Gbps Throughput

Page 14: Nios TM  2.0

14© 2001

®

Nios RISC Processor Block DiagramNios RISC Processor Block Diagram Standard RISC Components Fully-Synchronous Interface Native Verilog Native VHDL

Page 15: Nios TM  2.0

15© 2001

®

Optional FIFO, Memory, Other Logic

Nios System Module

Extends Nios Instruction Set Up to 5 Instructions

System Builder: Adds User Logic to Nios ALU Assigns Op-Code Generates C & Assembly

Macros

Profiler Tools.

Custom Instruction Block DiagramCustom Instruction Block Diagram

Page 16: Nios TM  2.0

16© 2001

®

Direct Memory Access (DMA) Processor Waits For Bus During DMA

System CPU(Master 1)

DMA Arbitor

DMA(Master 2)

System Bus

I/O1

I/O2 Data

Memory

DMA Bus ArbiterBottleneck

Arbiter Determines Which Master Has Access To Shared

Bus

ProgramMemory

Masters

Slaves

Traditional Data Flow for Multi-MastersTraditional Data Flow for Multi-Masters

Page 17: Nios TM  2.0

17© 2001

®

Master 1(Nios CPU)

I/O1Program

Memory

Arbiter

DataMemory

1

Master 2(100Base-T)

I D

I/O2

Avalon Bus Avalon Bus

Multiple ArbitrationSchemes Round Robin Priority Based

Masters

Slaves

Simultaneous Multi-Master Avalon BusSimultaneous Multi-Master Avalon Bus

Page 18: Nios TM  2.0

18© 2001

®

Multi-Master Avalon

Simultaneous Multi-Master BusSimultaneous Multi-Master Bus

Master 1(Nios CPU)

I/O1Program

Memory

Arbiter

DataMemory

1

Master 2(100Base-T)

Master n(100Base-T)

I D

Arbiter

DataMemory

n

I/O2

Avalon Bus Avalon Bus Avalon Bus

Masters

Slaves

Page 19: Nios TM  2.0

19© 2001

®

Simultaneous Multi-Master BusSimultaneous Multi-Master Bus

Master 1(Nios CPU)

Arbiter

DataMemory

1

Master 2(100Base-T)

Master n(100Base-T)

I D

Fetch Code Receive Packets Send PacketsAvalon Bus Avalon Bus

Arbiter

DataMemory

n

Avalon Bus

I/O1Program

Memory

I/O2

Page 20: Nios TM  2.0

20© 2001

®

DMA Peripheral supportDMA Peripheral support

Master 1(Nios CPU)

I/O1Program

Memory

Arbiter

DataMemory

1

Master 2(SPI)

I D

I/O2

Avalon Bus Avalon Bus

DMA

Page 21: Nios TM  2.0

21© 2001

®

SOPC Builder Design FlowSOPC Builder Design Flow

Define SystemCPU

PeripheralsMemory

User Logic

Generate

FinishedSystem

SignalTapSignalTap™™Logic AnalysisLogic Analysis

Simulate

Application Application HardwareHardware Debug/Profile

Application Software

HardwareHardwareHDLHDL

SimulationSimulation

SoftwareHeader File

Custom LibraryOS Kernel

Download Download

Page 22: Nios TM  2.0

22© 2001

®

HDL SimulationHDL Simulation

Page 23: Nios TM  2.0

23© 2001

®

Memory Device Simulation ModelsMemory Device Simulation Models Applies to the following Nios Memories

On Chip Memory (ROM or RAM) SRAM (one or two IDT71V016 chips) Flash Memory

Source files (*.c & *.s) are compiled.Data files (*.mif & *.srec) are convertedFile is used in raw format

Useful for non-standard build eg nios-build –cc –O0 hello.c

String is used in raw format

Page 24: Nios TM  2.0

24© 2001

®

UART SimulationUART Simulation UART rx and tx transmissions are echoed to ModelSim

Console

Page 25: Nios TM  2.0

25© 2001

®

RTL SimulationRTL Simulation Nios SOPC Builder Automatically creates simulation

model plus ModelSim Project Testbench Simulation Scripts Formatted Wave Window

Start ModelSim

Page 26: Nios TM  2.0

26© 2001

®

32-BitNios

Processor

SDRAMController

PIO

User-Defined Interface

NiosFlash

NiosSRAMIncluded

Not Included

Address (32)

Read

Write

Data In (32)

Data Out (32)

IRQ

IRQ #(6)

Address (32)

Data (32)

Avalon B

us

Nios Processor

Nios TestBenchNios TestBench

Tri-State

Bridge

UART Timer

On ChipROM

On ChipRAM

Nios32 BitRAM

UserTri_StateDevice

SPI

User-DefinedPeripheral

SDRAM

User Device

User Device

User Device

User Peripheral

Clock

Reset

User Device

Page 27: Nios TM  2.0

27© 2001

®

Simulation ScriptsSimulation Scripts When ModelSim is started from the SOPC Builder a

set-up script is run automatically which creates aliases for simulation scripts

The set up script can be run independently as follows: do setup_sim.do

Simulation Scripts ss Compiles HDL source code and loads design cc Rebuilds memory contents based on software code

Includes changes since Nios generation

ww Opens Wave window with “useful” signalsWill have to add user signals

hh Displays help message describing scripts

Page 28: Nios TM  2.0

28© 2001

®

Wave WindowWave Window Adds UART and CPU signals by default

CPU Opcodes are decoded and displayed to help trace software execution

Page 29: Nios TM  2.0

29© 2001

®

Nios Debugging SolutionsNios Debugging Solutions

Page 30: Nios TM  2.0

30© 2001

®

Nios Debug SolutionsNios Debug Solutions

External Memory Daughter Card for Use as Software Trace Capture Buffer

Debugger ModuleMicrotronix

IDE with Integrated Support for Nios On-Chip Debug Module - Hardware Breakpoints & Processor Trace

Arriba!Viosoft

Interface to Nios On-Chip Debug ModuleHardware Breakpoints & Processor Trace

Tracelink *Altera

GDB / Insight *

ProductProduct

Software Debugger Redhat

DescriptionDescriptionProviderProvider

* Included in Excalibur Development Kit Featuring Nios Processor

Page 31: Nios TM  2.0

31© 2001

®

Red Hat GNU Debugger (GDB)Red Hat GNU Debugger (GDB) Run Control Breakpoints, Watchpoints, Catchpoints Stack Frame Analysis List & Search Source Files Examine Memory, Constants, Variables Disassemble Machine Code Examine Expressions Using C / C++

Operators

Page 32: Nios TM  2.0

32© 2001

®

Red Hat Insight DebuggerRed Hat Insight Debugger Graphical User Interface for GDB Windows

Source Stack Register Memory Watch Expression Local Variables Breakpoints Console

Function Browser

Page 33: Nios TM  2.0

33© 2001

®

Altera TracelinkAltera Tracelink Baseline Support for Nios Processor Ver. 2.0 On-Chip Debug &

Software Trace Capabilities Captures Instructions and Data Executing in Nios CPU

Up to 1.2 Million Instructions Captures Trace Data at Full System Speed Uses External Trace Memory Debugger Module

Available from Microtronix

Page 34: Nios TM  2.0

34© 2001

®

Nios System Module

Hardware for TraceHardware for Trace Enable On-Chip Debug Logic in SOPC Builder Connect Nios OCD Ports to External Memory on Debugger Module

UART

Other…

ProgramMemory

Sim

ulta

neou

sM

ulti-

Mas

ter

Ava

lon

Bus

OCD

NiosNiosCPUCPU

Page 35: Nios TM  2.0

35© 2001

®

NiosNiosTMTM Ethernet Ethernet Development Kit Development Kit (NEDK)(NEDK)

Page 36: Nios TM  2.0

36© 2001

®

Nios Ethernet Development KitNios Ethernet Development Kit Supports Wide Range of Applications

Factory Floor Automation Basic Ethernet Connectivity Internet Upgradeable Hardware

Supports All PLD Families

Development Board External 10Mbyte MAC/Phy Support for 2 Ports

Software Included TCP/IP Stack

Reference Design Hardware (Quartus™ Project) Software (Web Server Application)

Price $495

Page 37: Nios TM  2.0

37© 2001

®

Linux Development Kit, Linux Development Kit, by Microtronixby Microtronix

Page 38: Nios TM  2.0

38© 2001

®

What do you get in the LDK box?What do you get in the LDK box? µCLinux kernel source code

Three daughter boards to enable Linux development on NDK board Memory Expansion: SDRAM & flash OS Support: Real-time Clock & IDE interface Ethernet Connectivity: NEDK daughter card Serial Y-cable for debug

Software & reference application Web server Linux command shell µCLibC & Kernel open source

Hardware reference design Linux works out of the box, no Quartus compile

necessary

Open Source. No licensing fees. No Royalties.

List Price: $2,495

Operating SystemSupport Board

EthernetConnectivity BoardMemory Expansion Board

Page 39: Nios TM  2.0

39© 2001

®

Ver 1.0

PCI32 Nios TargetPCI32 Nios TargetMegaCore FunctionMegaCore Function

Page 40: Nios TM  2.0

40© 2001

®

PCI32 Nios Target PCI32 Nios Target MegaCore® FunctionMegaCore® Function PCI Interface to Nios via Avalon™ Bus Bridge Nios System Builder Interface Behavioural Simulation Models PCI Testbench for PCI32 Nios Target Core Low-Level Driver Routines in C Source Code for Nios

Embedded Processor Reference Design for Use with Nios Embedded Processor Complete Documentation

Page 41: Nios TM  2.0

41© 2001

®

Nios Operating System Nios Operating System (OS) Support(OS) Support

Page 42: Nios TM  2.0

42© 2001

®

Nios™ OS / RTOS SupportNios™ OS / RTOS Support

Open-Source OSµCLinuxMicrotronix

KROS

Nucleus PLUS

ProductProduct

Small-Footprint, Royalty-Free, POSIX-Compliant RTOS

Shugyo Design

Tool to Convert pSOS / VxWorks Applications to Nucleus PLUS

Mapusoft Technologies

Royalty-Free, Source-Available RTOSAccelerated Technology

DescriptionDescriptionProviderProvider

OSChanger

Page 43: Nios TM  2.0

43© 2001

®

Nucleus PLUSNucleus PLUS Multi-Tasking Real-Time Kernel Priority, Pre-Emptive Scheduler Inter-Task Communication

Pipes, Queues, Mailboxes Inter-Task Synchronization

Semaphores, Signals, Events Memory Management

Fixed or Variable Dynamic Creation/Deletion of All Objects

Page 44: Nios TM  2.0

44© 2001

®

uCLinuxuCLinux Linux Development Kit

Software Linux Kernel & uClibc Library – Nios™ Port Nios Linux Driver Support 70+ Applications 30-Day Installation Support

Hardware 10BaseT Ethernet Card Operating System Support Board

CompactFlash Connector Real-Time Clock IDE Interface

SDRAM/Flash Expansion Board

Page 45: Nios TM  2.0

45© 2001

®

To add or set up the Software Components, you need to go to the More “[cpu module]” Settings Tab.

The Software Components section on this page will look a lot like the System Contents page (first image) but with software instead of hardware components. The functionality is the same.

Page 46: Nios TM  2.0

46© 2001

®

The first of several pages will show up. All the typical options for configuring the kernel are presented as a list of radio buttons and/or checkboxes.

Once the settings are finished, they are saved and ready to be used during the compile process. The final screen will present the “Microtronix Make Console”.

Page 47: Nios TM  2.0

47© 2001

®

Since this is a new project, there is no actual source tree for us to compile. The source code repository files (included with the Microtronix Software Component) need to be copied.

The files are copied by clicking the “Copy Files” button.

Assuming this is cpu component “nios_0”, the source tree will be copied to the “Altera Projects\Excalibur\nios_0\uClinux” directory.

Page 48: Nios TM  2.0

48© 2001

®

Once the Copy Files button has been pressed, a small console will pop up and begin the copying of files. The “Make Dependencies” button will now be enabled and ready for use.

After the copying is done, pressing the Make Dependencies button will cause a “make clean” command to be executed followed by the “make dep”.

Page 49: Nios TM  2.0

49© 2001

®

Once finished, the file “linux.srec” will be ready for you to upload to your Excalibur Board.

Page 50: Nios TM  2.0

50© 2001

®

KROSKROS

Real-Time Operating System Features

Tiny Footprint, 16K to 64K POSIX Interface GNU Compiler Support Supports Altera Nios CPU

Advantages Low Cost Source Code Provided Royalty Free

Page 51: Nios TM  2.0

51© 2001

®

KROS LatencyKROS Latency POSIX 1c compliant About 6K foot print Based on a very simple Nios Variation (UART & Timer) The WVALID register have to be modified Latency values:

Page 52: Nios TM  2.0

52© 2001

®

RoadmapRoadmap

Page 53: Nios TM  2.0

53© 2001

®

SOPC Builder RoadmapSOPC Builder Roadmap

SOPC Builder 2.5 SOPC Builder 2.6 SOPC Builder 2.7 Multiple Clock Domains Software Acceleration

Libraries

Stand-Alone Tool Excalibur ARM Support AHB Support

Released with Nios 2.0 Multi-Master Buses

with Slave-Side Arbitration

Avalon Support

2002Q2 Q3Q1 Q4

Page 54: Nios TM  2.0

54© 2001

®

Nios Roadmap 2002Nios Roadmap 2002

Q1 2002 Q2 2002 Q3 2002Q1 2002 Q2 2002 Q3 2002 Q4 2002Q4 2002

Nios 2.0 Smaller / Faster CPU Simultaneous Multi-Master Custom Instruction On-Chip Debug SOPC Builder 2.5

Nios 2.1 Stratix Support Quartus II LE Ver 2.0 Bug Fixes

NIOS Ethernet Kit 10/100 MAC/PHY SMSC LAN91C111 Updated Protocol Lib Interrupt Support

SOPC Builder 2.6 Included in Quartus II 2.1 Consistent ARM / Nios Nios OpenCore Plus

Nios 2.2 Instruction Cache JTAG UART

SOPC Builder 2.7 Web Update Multi-Clock Domain Software Components

Page 55: Nios TM  2.0

55© 2001

®

Options RoadmapOptions Roadmap

1. Ethernet links 10Mbits available now. 10/100Mbits on going to be released (WW18)

• Port plugs library to new HW

2. µClinux Available for Nios 1.1 – Kernel 2.0 The port for Nios 2.0 is on going – Kernel 2.4 (WW25)

• The LDK has been included in the SOPC_BUILDER.Evaluation CD will be shipped with Nios2.1 update kits.

• Upgrade subscription for $2000.

Page 56: Nios TM  2.0

56© 2001

®

SummarizeSummarize

Page 57: Nios TM  2.0

57© 2001

®

A Step Beyond...A Step Beyond... NiosTM has a more than 1 year lead on the competition

The NiosTM 1.0 has been released in July 2000. The NiosTM 2.1 released with Stratix support. More than 6000 kits sold all over the world. In many market places, NiosTM is become the flexible solution.

A WYSIWYG (WWhat YYou SSelect IIs WWhat YYou GGet) hardware solution Parameterize the Core and built your peripheral image. All ATERA PLD devices supported Royalty free. No obsolescence.

A complete SW, HW development tools set. Development Tools, Existing Flows Development Board, target debug support. Application demos, Real-Time Operating Systems.

Advanced Training Sessions available

Page 58: Nios TM  2.0

58© 2001

®

Nios 2.0 Systems Overview.Nios 2.0 Systems Overview.

Family CPU Features LEs / ESBs MHz Device

ACEX 1K Nios 16-bits1K Internal ROM, 32K External SRAM, 16K External FLASH

1 Timer, 1 UART, 8 INs, 8 OUTs 1400 / 2 30MHz (-3)50MHz (-1) 1K30

Nios 32-bits1K Internal ROM, 256K External SRAM, 1M Extenal FLASH

1 Timer, 1 UART, 8 INs, 8 OUTS 2600 / 8 22MHz (-3)46MHz(-1) 1K100

APEX 20KE Nios 16-bits1K Internal ROM, 32K External SRAM, 16K External FLASH

1 Timer, 1 UART, 32 INs, 32 OUTs 1700 / 7 46MHz (-3)75MHz(-1)

20K100E

Nios 32-bits1K Internal ROM, 256K External SRAM, 1M Extenal FLASH

1 Timer, 1 UART, 8 INs, 8 OUTS 2360 / 13 46MHz(-3)70MHz(-1) 20K100E

1K Internal ROM, 256K External SRAM, 1M Extenal FLASH1 Timer, 1 UART, 8 INs, 8 OUTS

DMA, Ethernet 10Mbits3100 / 13

38MHz(-3)60MHz(-1) 20K100E

APEX 20KC Nios 16-bits1K Internal ROM, 32K External SRAM, 16K External FLASH

1 Timer, 1 UART, 32 INs, 32 OUTs 1700 / 7 52MHz(-9)80MHz(-7) 20K200C

Nios 32-bits1K Internal ROM, 6K Internal RAM, 256K External SRAM,

1M Extenal FLASH, 512Mbits SDRAM3 Timers, 2 UARTs, 32 INs, 32 OUTS

DMA, SDRAM Ctrl

5400 / 3534MHz(-9)49MHz(-7) 20K400C

APEX II Nios 32-bits 1K Internal ROM, 256K External SRAM, 1M Extenal FLASH1 Timer, 2 UARTs, 8 INs, 8 OUTS

85MHz(-5) 2A15

1K Internal ROM, 6K Internal RAM, 256K External SRAM, 1M Extenal FLASH, 512Mbits SDRAM

3 Timers, 2 UARTs, 32 INs, 32 OUTSDMA, SDRAM Ctrl

5400 / 2036MHz(-9)49MHz(-5) 2A15