Using FPGAs with Embedded Processors for Complete Hardware and Software Systems Jonah Weber May 2, 2006
Dec 22, 2015
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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