Top Banner
Using FPGAs with Embedded Processors for Complete Hardware and Software Systems Jonah Weber May 2, 2006
17

Using FPGAs with Embedded Processors for Complete Hardware and Software Systems Jonah Weber May 2, 2006.

Dec 22, 2015

Download

Documents

Frederick Moody
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Using FPGAs with Embedded Processors for Complete Hardware and Software Systems Jonah Weber May 2, 2006.

Using FPGAs with Embedded Processors for Complete Hardware and

Software Systems

Jonah Weber

May 2, 2006

Page 2: Using FPGAs with Embedded Processors for Complete Hardware and Software Systems Jonah Weber May 2, 2006.

5/2/2006 Using FPGAs with Embedded Processors for Complete Hardware and Software Systems

2

Overview

• Basics of embedded processors

• Design process

• Design examples

• Demo immediately following this talk

Page 3: Using FPGAs with Embedded Processors for Complete Hardware and Software Systems Jonah Weber May 2, 2006.

5/2/2006 Using FPGAs with Embedded Processors for Complete Hardware and Software Systems

3

Types of Embedded Processors

• Hard Core – Embedded processor is a dedicated physical

component of the chip, separate from the programmable logic

– E.g. Xilinx Virtex families w/ PowerPC 405

• Soft Core– Embedded processor is built out of the

programmable logic on the chip– E.g. Xilinx MicroBlaze, Altera NIOS

Page 4: Using FPGAs with Embedded Processors for Complete Hardware and Software Systems Jonah Weber May 2, 2006.

5/2/2006 Using FPGAs with Embedded Processors for Complete Hardware and Software Systems

4

Hard Core vs. Soft Core(Xilinx FPGAs)

Hard Core Soft Core

Page 5: Using FPGAs with Embedded Processors for Complete Hardware and Software Systems Jonah Weber May 2, 2006.

5/2/2006 Using FPGAs with Embedded Processors for Complete Hardware and Software Systems

5

Hard Core vs. Soft CoreConsiderations

• Both cores utilize about the same % of total chip resources

• Hard core performance = 3-4x faster than fastest soft cores

• FPGAs with hard cores are more expensive

• Soft cores more flexible– Multiple cores can be used in a single chip– Can be used in a chip with a hard core

Page 6: Using FPGAs with Embedded Processors for Complete Hardware and Software Systems Jonah Weber May 2, 2006.

5/2/2006 Using FPGAs with Embedded Processors for Complete Hardware and Software Systems

6

FPGA

EmbeddedProcessor

Internal Bus

Analog I/O I/F

Dig I/O I/F

ExternalMemory

I/F

Ethernet I/F

I/O Pins

Custom Peripherals

Standard Peripherals

Page 7: Using FPGAs with Embedded Processors for Complete Hardware and Software Systems Jonah Weber May 2, 2006.

5/2/2006 Using FPGAs with Embedded Processors for Complete Hardware and Software Systems

7

EmbeddedProcessor

Internal Bus

Analog I/O I/F

Dig I/O I/F

ExternalMemory

I/F

Ethernet I/F

Custom Peripherals

Standard Peripherals

I/O Pins

Custom Board

Ethernet Phy

ADC

DAC

Digital I/O

Analog I/OExternalMemory

FPGA

Page 8: Using FPGAs with Embedded Processors for Complete Hardware and Software Systems Jonah Weber May 2, 2006.

5/2/2006 Using FPGAs with Embedded Processors for Complete Hardware and Software Systems

8

Ethernet Phy

ADC

DAC

Digital I/O

Analog I/OExternalMemory

FPGA

Ethernet Network

Instrument 1

Instrument 2

Instrument 3

I/O

I/O

I/O

Custom Board

System

Page 9: Using FPGAs with Embedded Processors for Complete Hardware and Software Systems Jonah Weber May 2, 2006.

5/2/2006 Using FPGAs with Embedded Processors for Complete Hardware and Software Systems

9

Advantages of FPGA Embedded Processor Systems

• Merge CPU and I/O functions onto a single board

• Flexible design template – optimize power, data, and form factor to match application and I/O requirements

• Tightly coupled high speed logic and control system interface on a single chip – versatile tradeoff between hardware and software tasks

• Advanced tools bridge software and logic development, provide BSP generation for Linux, VxWorks

Page 10: Using FPGAs with Embedded Processors for Complete Hardware and Software Systems Jonah Weber May 2, 2006.

5/2/2006 Using FPGAs with Embedded Processors for Complete Hardware and Software Systems

10

Design Process

• Step 1: Choose an evaluation board– Supported by development software– Closely matches I/O and peripheral requirements– There are at least 30 unique evaluation boards

supported by Xilinx development tools!– Alternatively, select an FPGA

• Step 2: Construct printed-circuit board design based on evaluation board or FPGA

• Step 3: Create embedded design project

Page 11: Using FPGAs with Embedded Processors for Complete Hardware and Software Systems Jonah Weber May 2, 2006.

5/2/2006 Using FPGAs with Embedded Processors for Complete Hardware and Software Systems

11

Xilinx Embedded Design Flow

Base System Builder

Configure Software Platform

Create Custom Peripherals

Populate and Connect Design

Build Hardware

Generate Complete Hardware/Software System

Develop & Debug Software Applications

Hardware DesignSoftware Design

Page 12: Using FPGAs with Embedded Processors for Complete Hardware and Software Systems Jonah Weber May 2, 2006.

5/2/2006 Using FPGAs with Embedded Processors for Complete Hardware and Software Systems

12

Design Examples

• PEP-II TFB– Old system: 8 bit fixed delay on large power hungry boards

– New system: 12-bit 2-tap programmable delay, extensive diagnostics

• ALS Bunch Cleaning– Zero crossing method increases excitation of parasite

bunches, eliminates need for scrapers

• ALS Mini IOC– Booster ramp control for ALS top off operation

– Flexible design for potential future applications

Page 13: Using FPGAs with Embedded Processors for Complete Hardware and Software Systems Jonah Weber May 2, 2006.

5/2/2006 Using FPGAs with Embedded Processors for Complete Hardware and Software Systems

13

PEP-II TFB

• Started with Xilinx ML300 evaluation board set

• Used supplied CAD design files (PADS and DxDesigner) to modify design of ML300 CPU board

• Used ML300 Power I/O board as is

Xilinx ML300 CPU Board

PEP-II TFB CPU Board

Page 14: Using FPGAs with Embedded Processors for Complete Hardware and Software Systems Jonah Weber May 2, 2006.

5/2/2006 Using FPGAs with Embedded Processors for Complete Hardware and Software Systems

14

ALS Bunch Cleaning

• Used Xilinx ML403 evaluation board as is

• Customized FPGA firmware

• Added external components: connectorized mixer and signal source

Page 15: Using FPGAs with Embedded Processors for Complete Hardware and Software Systems Jonah Weber May 2, 2006.

5/2/2006 Using FPGAs with Embedded Processors for Complete Hardware and Software Systems

15

ALS Mini IOC

• Started with Avnet/Memec Mini Module

• Designed custom baseboard

• Use Mini Module as is

Mini Module on evaluation base board

ALS Mini IOC base board

Page 16: Using FPGAs with Embedded Processors for Complete Hardware and Software Systems Jonah Weber May 2, 2006.

5/2/2006 Using FPGAs with Embedded Processors for Complete Hardware and Software Systems

16

Conclusion

• FPGAs with embedded processors can simplify design of instrument interfaces

• Starting with an evaluation board decreases development time

• Flexible physical implementation– Use evaluation board as is– Modify design files– Build custom design around selected FPGA

Page 17: Using FPGAs with Embedded Processors for Complete Hardware and Software Systems Jonah Weber May 2, 2006.

5/2/2006 Using FPGAs with Embedded Processors for Complete Hardware and Software Systems

17

Demo

• Avnet/Memec Mini Module evaluation board– FPGA = Xilinx Virtex-4 – Embedded Processor = PPC-405 hard core

• Mini Module is running EPICS on VxWorks with channels corresponding to LEDs and DIP switches on the base board

• Control and monitor the channels over Ethernet using Winprobe on a laptop