System-on Solution from Altera and Xilinx

Similar documents
Nios Soft Core Embedded Processor

Excalibur Device Overview

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

Designing Embedded Processors in FPGAs

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

ECE332, Week 2, Lecture 3

Digital Systems Design. System on a Programmable Chip

Digital Integrated Circuits

Basic FPGA Architectures. Actel FPGAs. PLD Technologies: Antifuse. 3 Digital Systems Implementation Programmable Logic Devices

Full Linux on FPGA. Sven Gregori

Simple Excalibur System

ARM-Based Embedded Processor Device Overview

Field Programmable Gate Array (FPGA) Devices

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011

Programmable Logic. Any other approaches?

DSP Co-Processing in FPGAs: Embedding High-Performance, Low-Cost DSP Functions

NIOS CPU Based Embedded Computer System on Programmable Chip

The Nios II Family of Configurable Soft-core Processors

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

Qsys and IP Core Integration

Designing with ALTERA SoC Hardware

INTRODUCTION TO FPGA ARCHITECTURE

Embedded Computing Platform. Architecture and Instruction Set

Introduction to Field Programmable Gate Arrays

A Study of the Speedups and Competitiveness of FPGA Soft Processor Cores using Dynamic Hardware/Software Partitioning

Intelop. *As new IP blocks become available, please contact the factory for the latest updated info.

2001 Altera Corporation (1)

AL8253 Core Application Note

Xynergy It really makes the difference!

EITF35: Introduction to Structured VLSI Design

Estimating Nios Resource Usage & Performance

L2: FPGA HARDWARE : ADVANCED DIGITAL DESIGN PROJECT FALL 2015 BRANDON LUCIA

Early Models in Silicon with SystemC synthesis

Agenda. Introduction FPGA DSP platforms Design challenges New programming models for FPGAs

FPGA How do they work?

NIOS CPU Based Embedded Computer System on Programmable Chip

9. Building Memory Subsystems Using SOPC Builder

FPGA based embedded processor

Designing with Nios II Processor for Hardware Engineers

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

SECURE PARTIAL RECONFIGURATION OF FPGAs. Amir S. Zeineddini Kris Gaj

FPGA Implementation and Validation of the Asynchronous Array of simple Processors

Signal Processing Algorithms into Fixed Point FPGA Hardware Dennis Silage ECE Temple University

نﺎﻬﻔﺻا ﻲﺘﻌﻨﺻ هﺎﮕﺸﻧاد ﺮﺗﻮﻴﭙﻣﺎﻛ و قﺮﺑ هﺪﻜﺸﻧاد

Dynamically Reconfigurable Coprocessors in FPGA-based Embedded Systems

Hardware Design. University of Pannonia Dept. Of Electrical Engineering and Information Systems. MicroBlaze v.8.10 / v.8.20

SoC Design Lecture 9: Platform Based Design. Shaahin Hessabi Department of Computer Engineering

FPGA Embedded Processors

Reconfigurable Computing

VXS-610 Dual FPGA and PowerPC VXS Multiprocessor

An Introduction to Programmable Logic

Building A Custom System-On-A-Chip

Field Programmable Gate Array (FPGA)

Contents of this presentation: Some words about the ARM company

ARM Processors for Embedded Applications

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

TS-C43. The TS-C43 is a quad TigerSHARC DSP PMC. Quad ADSP-TS101S DSP 64-bit PMC Card. Features. 4x 300MHz ADSP-TS101 DSPs

Spiral 2-8. Cell Layout

Nios Embedded Processor Development Board

FPGA architecture and design technology

Method We follow- How to Get Entry Pass in SEMICODUCTOR Industries for 3rd year engineering. Winter/Summer Training

ALTERA FPGAs Architecture & Design

V8-uRISC 8-bit RISC Microprocessor AllianceCORE Facts Core Specifics VAutomation, Inc. Supported Devices/Resources Remaining I/O CLBs

Learning Outcomes. Spiral 3 1. Digital Design Targets ASICS & FPGAS REVIEW. Hardware/Software Interfacing

Introduction to Embedded System Design using Zynq

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

Microprocessor Soft-Cores: An Evaluation of Design Methods and Concepts on FPGAs

Designing with ALTERA SoC

FPGA. Agenda 11/05/2016. Scheduling tasks on Reconfigurable FPGA architectures. Definition. Overview. Characteristics of the CLB.

APEX Devices APEX 20KC. High-Density Embedded Programmable Logic Devices for System-Level Integration. Featuring. All-Layer Copper.

Embedded Systems: Architecture

AL8259 Core Application Note

Intel MAX 10 FPGA Device Overview

The SOCks Design Platform. Johannes Grad

Stratix vs. Virtex-II Pro FPGA Performance Analysis

Altera Product Overview. Altera Product Overview

Park Sung Chul. AE MentorGraphics Korea

Spiral 3-1. Hardware/Software Interfacing

Embedded Systems. 7. System Components

VXS-621 FPGA & PowerPC VXS Multiprocessor

Co-Design and Co-Verification using a Synchronous Language. Satnam Singh Xilinx Research Labs

Today. Comments about assignment Max 1/T (skew = 0) Max clock skew? Comments about assignment 3 ASICs and Programmable logic Others courses

Designing with Nios II and SOPC Builder

FIELD PROGRAMMABLE GATE ARRAYS (FPGAS)

MAX 10 FPGA Device Overview

Copyright 2014 Xilinx

MAX 10 FPGA Device Overview

9. PIO Core. Core Overview. Functional Description

FABRICATION TECHNOLOGIES

Excalibur ARM-Based. Embedded Processors PLDs. Hardware Reference Manual January 2001 Version 1.0

DSP Builder Handbook Volume 1: Introduction to DSP Builder

A software platform to support dynamically reconfigurable Systems-on-Chip under the GNU/Linux operating system

Introduction to the Qsys System Integration Tool

Laboratory Exercise 5

Verilog for High Performance

Simplify System Complexity

Toolflow for ARM-Based Embedded Processor PLDs

Embedded Real-Time Video Processing System on FPGA

FPGA for Software Engineers

Parallel FIR Filters. Chapter 5

Transcription:

System-on on-a-programmable-chip Solution from Altera and Xilinx Xun Yang VLSI CAD Lab, Computer Science Department, UCLA

FPGAs with Embedded Microprocessors Combination of embedded processors and programmable logic is the next step in the evolution of system integration. Advantages: Extreme flexibility of programmable logic and processor Low cost and short time-to-market Hardware/Software partitioning for more efficient implementations

Altera s Excalibur Three families of embedded processor solutions integrated with Altera s APEX PLD architecture. Nios soft-core embedded processor ARM-based hard core embedded processor MIPS-based hard core embedded processor

Nios Architecture The Nios embedded processor is a general purpose RISC CPU implemented as a soft core in Altera APEX 20K devices. The Nios family includes a 32-bit and a 16-bit processor core. Includes the industry-standard GNUPro software from Cygnus.

Nios 32-bit Nios 16-bit Data bus size (bits) 32 16 ALU width (bits) 32 16 Internal register width (bits) 32 16 Address bus size (bits) 33 17 Instruction size (bits) 16 16 Logic cells (typical) 1,700 1,100 f MAX (EP20K200E-1 device) Up to 50 MHz Up to 50 MHz

Nios Embedded Processor

ARM-based embedded processor Industry-standard ARM922T 32-bit RISC processor core operating at up to 166 MHz Memory management unit (MMU) included for real-time operating system (RTOS) support System-on-a-programmable-chip (SOPC) architecture builds upon features of the APEX 20KE family of PLDs, with up to 1,000,000 gates Internal single-port SRAM up to 256 Kbytes - Internal dual-port SRAM up to 128 Kbytes External SDRAM 133-MHz data rate (PC133) interface up to 512 Mbytes External dual data rate (DDR) 266-MHz data rate (PC266) interface up to 512 Mbytes External flash memory up to 32 Mbytes PLD configuration/reconfiguration possible via the embedded processor software Integrated hardware and software development environment C/C++ compiler, source-level debugger, and RTOS support

MIPS-based embedded processor Industry-standard MIPS32 4Kc 32-bit RISC processor core operating at up to 166 MHz Memory management unit (MMU) included for real-time operating system (RTOS) support 32-bit MIPS RISC processor instruction set, user-level compatible with the R3000 and R4000(32-bit mode) Part of the Altera Excalibur embedded processor solutions: system-on-a-programmable-chip (SOPC) architecture builds upon features of the APEX20KE family of PLDs, with up to 1,000,000 gates Internal single-port SRAM up to 256 Kbytes Internal dual-port SRAM up to 128 Kbytes External flash memory up to 32 Mbytes PLD configuration/reconfiguration possible via the embedded processor software C/C++ compiler, source-level debugger, and RTOS support

Nios Embedded Processor Quartus-II Development Tools Nios Hardware Development Kit Cygnus GNUPro Software Development Kit, Cygwin is required for GNUPro tools to run Development Board

Nios Software Development Flow Set up communication with the board Select Program>Cygwin>bash Type nios-run t Test the system Compile and download demo nios-build lcd_demo1.c Run the demo nios-run lcd_demo1.srec

Nios Software Development Flow Define the processor Specify CPU data path to be 16 or 32 bit If dedicated hardware multipliers are necessary How much on-chip ROM or RAM is necessary Specify off-chip memory Decide the number and type of peripherals

Nios Software Development Flow Use Quartus and MegaWizard Plug-In manager to Build the Processor Save the Processor Configuration to Flash Create the Application Code Download the Application Code Debug the Code The code can be built with debugging set ON

Nios Software Development Flow Transition to Auto-Booting Code Code in on-chip memory, change on-chip RAM to on-chip ROM and rebuild the design using code to initialize ROM Code in off-chip memory, remove the monitor entirely, change the reset address to point to the program in flash memory. Add a routine that copies the executable code from flash to memory at start time.

Xilinx s Solution Virtex-II family Platform FPGAs MicroBlaze soft processor core AllianceCORE third-party IP provider Other processor cores tested in Xilinx devices and open source processor cores: 2900, 6502, 8051, Java, MIPS-like, PIC, SAPRC, Proprietary.

Platform FPGAs Offer a single platform that can address nearly any application include processing, DSP, connectivity. Embedded PowerPC processors, CoreConnect Buses, MicroBlaze soft processors and related peripherals and interfaces extend FPGA applications into embedded systems

Platform FPGAs

Virtex-II Family Virtex-II devices with densities from 40,000 up to 10 million gates, enhanced system memory, flexible system interfaces with signal integrity, complex system clock management, and on-board EMI management, with embedded multipliers and improved arithmetic functions, flexible IP-immersion fabric.

Virtex Virtex-II Family II Family 12 12 12 12 12 8 4 8 8 8 4 4 DCM Units 192 168 144 120 96 68 48 40 32 24 8 4 Multipliers 3456 302 4 259 2 216 0 172 8 100 8 864 720 576 432 144 72 BRAM(Kb) 138240 104 832 760 32 518 40 322 56 241 92 172 80 115 20 691 2 345 6 115 2 57 6 Logic Cells XC2V 10000 XC 2V 800 0 XC 2V 600 0 XC 2V 400 0 XC 2V 300 0 XC 2V 200 0 XC 2V 150 0 XC 2V 100 0 XC 2V 500 XC 2V 250 XC 2V 80 XC 2V 40 Virtex-II Part Number

Virtex-II Family function Industry s fastest DSP core Xilinx Virtex-E-08 Xilinx Virtex-II MACs per second 8.8billion 128billion 600billion (multiply and accumulate) FIR filter 17MSPS 160MSPS 180MSPS @1.1GHz @160MHz @180MHz FFT 7.7µs @800MHz 41 µs @100MHz <1 µs @140MHz

Conventional Programmable DSP Fixed inflexible structure Typically 1-4 MACs Fixed data width Serial processing limits data throughput Time-shared MACs High clock frequency creates difficult system challenge

Virtex-II Family Flexible structure Distributed DSP resources(registers, memory, multiplier, LUT) Parallel processing maximizes data throughput Support any level parallelism Optimal performance/cost trade-off FPGAs also supports serial processing

Virtex-II Family DSP Development Environment System level Design&Simulation The MathWorks Partnership Simulink&Matlab System Generator for Simulink FPGA Design&Simulation FPGA Implementation

MicroBlaze Soft Core Structure

MicroBlaze s Performance Advantage

MicroBlaze Software Flow Allow user to select processor parameters and peripheral configurations and generate netlist files as well as the required header and driver files

Xilinx + ARC Cores Xilinx has teamed up with ARC Cores to offer the ARC soft 32-bit configurable processor solution for use in Xilinx's Virtex and Spartan series FPGAs. The ARC is a user customizable 32-bit softcore microprocessor architecture suitable for embedded processor based applications.

ARC Structure

ARC features Example Implementation Basecase ARC Basecase ARC ARC with DSP extensions Device Tested 2S150-6 V400E-8 V400E-8 CLB Slices 1538 1517 4800 Performance (MHz) 37 41 23 Xilinx Tools M2.1i SP6 M2.1i SP6 M2.1i SP6 Special Features 9 Block RAMs 9 Block RAMs 29 Block RAMs

ARC Development Environment C/C++ compiler, assembler/linker, SeeCode source-level debugger Supports a large variety of commercially distributed RTOS ARChitect GUI can be used to safely create custom configured processor Adding a few appropriate instructions specifically needed for the application

ARC Development Environment Equally configurable software tools and debugging tools, compiler must be aware of the instruction set and take advantage of features such as multipliers or barrel shifters

LavaCORE Structure

LavaCORE Configuration Environment

LavaCORE Configuration Environment Analyze an application to determine which Java bytecode instructions can be omitted FormalSYNTHESIS technology is used to synthesize an implementation leading to application specific optimal solutions A gate level implementation is generated together with an HDL testbench and LavaOS Hardware interface provides an implementation debugging bridge for the synthesized hardware