Using FPGAs with Embedded Processors for Complete Hardware
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
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 2
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/ Power. PC 405 • Soft Core – Embedded processor is built out of the programmable logic on the chip – E. g. Xilinx Micro. Blaze, Altera NIOS 5/2/2006 Using FPGAs with Embedded Processors for Complete Hardware and Software Systems 3
Hard Core vs. Soft Core (Xilinx FPGAs) Hard Core 5/2/2006 Soft Core Using FPGAs with Embedded Processors for Complete Hardware and Software Systems 4
Hard Core vs. Soft Core Considerations • Both cores utilize about the same % of total chip resources • Hard core performance = 3 -4 x 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 5
FPGA Internal Bus Custom Peripherals I/O Pins Analog I/O I/F Embedded Processor Dig I/O I/F Standard Peripherals Ethernet I/F External Memory I/F 5/2/2006 Using FPGAs with Embedded Processors for Complete Hardware and Software Systems 6
Custom Board Internal Bus Custom Peripherals I/O Pins Ethernet Phy Analog I/O I/F Digital I/O FPGA External Memory Embedded Processor Dig I/O I/F Analog I/O Standard Peripherals ADC Ethernet I/F DAC External Memory I/F 5/2/2006 Using FPGAs with Embedded Processors for Complete Hardware and Software Systems 7
System Ethernet Network Ethernet Phy Digital I/O FPGA I/O Custom Board External Memory Analog I/O Instrument 1 Instrument 2 ADC I/O DAC Instrument 3 5/2/2006 Using FPGAs with Embedded Processors for Complete Hardware and Software Systems 8
Advantages of FPGA Embedded Processor Systems • • 5/2/2006 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, Vx. Works Using FPGAs with Embedded Processors for Complete Hardware and Software Systems 9
Design Process • Step 1: Choose an evaluation board – Supported by development software – Closely matches I/O and peripheral requirements – There 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 10
Xilinx Embedded Design Flow Software Design Hardware Design Base System Builder Create Custom Peripherals Configure Software Platform Populate and Connect Design Develop & Debug Software Applications Build Hardware Generate Complete Hardware/Software System 5/2/2006 Using FPGAs with Embedded Processors for Complete Hardware and Software Systems 11
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 12
PEP-II TFB Xilinx ML 300 CPU Board PEP-II TFB CPU Board 5/2/2006 • Started with Xilinx ML 300 evaluation board set • Used supplied CAD design files (PADS and Dx. Designer) to modify design of ML 300 CPU board • Used ML 300 Power I/O board as is Using FPGAs with Embedded Processors for Complete Hardware and Software Systems 13
ALS Bunch Cleaning • Used Xilinx ML 403 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 14
ALS Mini IOC Mini Module on evaluation base board ALS Mini IOC base board 5/2/2006 • Started with Avnet/Memec Mini Module • Designed custom baseboard • Use Mini Module as is Using FPGAs with Embedded Processors for Complete Hardware and Software Systems 15
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 16
Demo • Avnet/Memec Mini Module evaluation board – FPGA = Xilinx Virtex-4 – Embedded Processor = PPC-405 hard core • Mini Module is running EPICS on Vx. Works with channels corresponding to LEDs and DIP switches on the base board • Control and monitor the channels over Ethernet using Winprobe on a laptop 5/2/2006 Using FPGAs with Embedded Processors for Complete Hardware and Software Systems 17
- Slides: 17