soc

Post on 18-Jan-2015

1.302 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

SoC, PSoC, & SoPC Design

J. Hamblen

SoC, PSoC, & SoPC Design

Design a single chip solution Recent option for Embedded Systems System on a Chip (SoC) – one chip replaces a embedded system board System on a Programmable Chip (SoPC) is an SoC that uses a large FPGA Intellectual Property (IP) cores are used to provide processors and common hardware for SoPC designs. IP cores are drop in design elements purchased from another vendor

eBox 2300- SoC Embedded PC

eBox 2300 – SoC example

Same I/O features as a standard PC motherboard Uses a Vortex 86 SOC X86 Processor Motherboard Chipset is in the Processor chip Boots from Flash memory – Notebook disk optional No cooling fan needed and small size 4.5 by 4.5

inch X86 processor is slower than PC’s processor Low cost $150 and runs Windows XP and CE Used in ECE 4180, several 4007 design projects

and Windows Embedded student design contest

SoC ASIC Design

Design an single chip Application Specific Integrated Circuit (ASIC) solution for the product

ASIC Advantages Faster clock speed Lowest cost for very high volume parts

1,000,000 transistors for <$.25

ASIC Disadvantages

Long lead time to develop an ASIC Several months or perhaps years Requires complex Legal Agreements with ASIC fab house

and for any IP cores needed Can increase time to market

Designer must develop complete testing methods Increasing Mask and Design Costs

Up to $50,000,000 for a state-of-the-art submicron ASIC High product volume needed to support mask and large

engineering development cost – need up to $250,000,000 in chip sales to recover these costs (5X development cost)

PSoC Design

Programmable System on a Chip (PSoC) A small low-cost microcontroller with on chip

memory, some programmable logic, and mixed signal hardware (A/D) – single chip solution

Tools provided to configure hardware, and then write software in assembly or C

Also has a new Labview type development tool Limited to just tens of KBs of on chip memory – so

no OS or full networking support PSoC is a trademark of Cypress PSoC II – new 32-bit ARM based processor core

Low Cost Cypress PSoC Board

SoPC Design

Use a large Field Programmable Gate Array (FPGA) with a processor IP core

In a Soft IP core logic elements from the FPGA are used to build the processor.

In a Hard IP core a full custom VLSI layout for the processor is placed in the FPGA

Soft cores more flexible, but have slower clock rates

Processor Cores for SoPC Soft Processor Cores for FPGAs

NIOS II - Altera Microblaze, Picoblaze, 8051 - Xilinx

Hard Processor Cores for FPGAs MIPS Altera, also ARM but not on newest FPGAs PowerPC Xilinx, but not on newest FPGAs S5 Tensilica Xtensa - Stretch

Largest FPGAs can support several processors on a single FPGA chip

Cost as low as $.35 per processor

Software for SoPC Design

Traditional FPGA tools (VHDL & Verilog) FPGA also used to build additional hardware

Processor Configuration Tool (Soft Cores) C/C++ Compiler for Processor Program Code Tools to debug code and load memories Optional OS support for Processor Board Support Package (BSP) provides OS

I/O device drivers for a specific board design

FPGA-based SOPC CAD Tool Flow

FEATURES OF COMMERCIAL

SOFT PROCESSOR CORES

Feature Nios 3.1 MicroBlaze 3.2

Datapath 16 or 32 bits 32 bits

Pipeline Stages 5 3

Frequency up to 150 MHz up to 150 MHz

Gate Count 26,000–40,000 30,000–40,000

Register File up to 512 32 general purpose

(window size: 32) and 32 special purpose

Instruction Word 16 bits 32 bits

Instruction Cache Optional Optional

Hardware Multiplier Optional Optional

This clock speed is not achievable on all devices. Some devices limit the maximum frequency to as low as 50 MHz.

Processor IP Core configuration tool for Altera’s Nios Processor

SOPC Memory Organization

Volatile Memory(for Application

Program Execution)

Non-volatile Memory(for Application

Program Storage)

ProcessorCore

On-chip Memory(Initialized with

bootloader)

To PC(via Serial Interface)

FPGA

Non-volatile (Flash) Memory is used both to boot processor software at power on and to configure the FPGA hardware

SoPC Design Space

Solution Time

Alg. Complexity

Not Obtainable

Hardware Software Tradeoffs

Solution Time

Alg. Complexity

Combining both approaches

Add custom co-processor for main processor Add custom instructions to processor Perform high data rate calculations in

hardware and the rest in software Automatic C compilers that transform critical

inner loop code to hardware are available – Stretch Inc (www.stretchinc.com) and recently from major FPGA Vendors.

Nios II C-to-Hardware Acceleration Compiler – C2H

Automatic acceleration of ANSI/ISO C code GHz performance possible with mW power

consumption  Tight integration with software design flow Direct connection of hardware accelerators to CPU's

memory map Seamless support for pointers and arrays Efficient latency-aware scheduling and pipelining of

memory transactions

Hardware Accelerator Design Flow

Block Diagram of example Mandelbot Processor System

Effect of Adding Hardware Accelerators on System Performance (left) and Power Consumption (right)

Effects of Reducing System Clock Frequency

Other C2H Benchmarks

Algorithm Speedup Hardware Increase

Autocorrelation 41.0x 115 Mhz 124%

Bit Allocation 42.3x 110 Mhz 152%

Convolution 13.3x 95 Mhz 133%

FFT 15.0x 85 Mhz 208%

High Pass Filter 42.9x 110 Mhz 181%

Matrix Rotate 73.6x 95 Mhz 106%

RGB to CMYK 41.5x 120 Mhz 84%

RGB to YIQ 39.9x 110 Mhz 158%

Recent SoPC OS Developments

FPGA processors initially did not have an MMU for Virtual Memory – Limits OS choices (Xilinx & Altera have just announced an MMU core and full Linux should soon follow)

Linux, Nucleus PLUS, NORTi, Wind River VxWorks AE X, OSE RTOS, and KROS are available for Altera’s FPGAs

Linux, QNX Neutrino, Wind River, & uC/OS-II RTOS are available for Xilinx’s FPGAs

Recent Trends

Increased mask costs and long product development times are making ASICs very expensive

Fewer ASIC Design Starts for last 10 years An industry survey in 2009 showed 30X more

FPGA-based design starts than ASICs

SoPC Technology Tradeoffs

Feature SOPC ASIC Fixed-Microprocessor

S/W Flexibility H/W Flexibility Reconfigurability Development Cost Peripheral Costs Performance Production Cost 11[ Power Efficiency

Legend: – Good; – Moderate; – Poor

[1] In very large quantities.

Altera’s SoPC UP 3 board contains a 200,000 gate FPGA with Flash and SRAM memory. It can run a soft Nios II RISC processor IP core

Xilinx SOPC FPGA Board

Xilinx SOPC Board Features

Xilinx Virtex-2 Pro FPGA with 3M Logic Gates, 136 18-bit multipliers for DSP applications, 2,448Kb of internal SRAM, and two PowerPC Microprocessors

DDR SDRAM DIMM that can accept up to 2Gbytes of RAM 10/100 Ethernet port & USB 2.0 port Non-volatile Flash memory & Compact Flash card slot VGA Video port & PC Audio Codec Serial ATA, PS/2, & RS-232 ports High and Low Speed I/O expansion connectors with a large

collection of available expansion boards Low cost: Board is $299 for Universities Xilinx SOPC Development tools are free for Universities

Altera’s SoPC DE2 board contains a large FPGA with hardware multiply, 4MB Flash, and 8MB SDRAM memory. It

can run C code on a soft Nios II RISC processor IP core

This R/C hobbyist Hummer was converted to an autonomous robot with

vision tracking capabilities using a SOPC board and a CMUCAM

This Amigobot commercial robot was originally designed to be remotely controlled using a PC with a serial cable. An FPGA-based

SOPC board was added to control the robot autonomously .

Altera DE2 board running uClinux on NIOS II processor (uClinux has no MMU)

A student designed FPGA-based SOPC board with FLASH and SRAM inside a modified toy front loader used as a robot.

A small SOPC-based aircraft autopilot system that contains an FPGA with a Nios processor core, a DSP processor, and memory. The bottom sensor board contains a GPS receiver, an A/D converter, MEMS gyros and accelerometers for all three axes, an airspeed sensor, and an altitude sensor. Photograph ©2004 Henrik Christophersen

Autopilot bottom sensor I/O board contains a GPS receiver, an A/D converter, MEMS gyros and accelerometers for all three axes, an airspeed sensor, and an altitude sensor. Photograph ©2004 Henrik Christophersen

Seismic Mine Detection System

SoPC Prototype with Sensorsin Laboratory Experimental Model

Analog Sensors

Digital Sensors

FPGA SoPC Board Seismic

Source

Conclusions

SoPC is at the leading edge of electronic systems design

Opportunities exist for innovative design approaches using processors, memory, and programmable FPGA logic

OS support is available for FPGA processors New approaches and new tools are needed

to explore and develop designs

top related