Kirchhoff Institute for Physics Heidelberg

Similar documents
Networking Virtualization Using FPGAs

FPGA Accelerator Virtualization in an OpenPOWER cloud. Fei Chen, Yonghua Lin IBM China Research Lab

7a. System-on-chip design and prototyping platforms

Reconfig'09 Cancun, Mexico

Getting the most TCP/IP from your Embedded Processor

ReCoSoC'11 Montpellier, France. Implementation Scenario for Teaching Partial Reconfiguration of FPGA

All Programmable Logic. Hans-Joachim Gelke Institute of Embedded Systems. Zürcher Fachhochschule

Open Flow Controller and Switch Datasheet

KIP Heidelberg. Norbert Abel. SysCore 1.0. Firmware and Software Aspects

Simplifying Embedded Hardware and Software Development with Targeted Reference Designs

The new frontier of the DATA acquisition using 1 and 10 Gb/s Ethernet links. Filippo Costa on behalf of the ALICE DAQ group

Von der Hardware zur Software in FPGAs mit Embedded Prozessoren. Alexander Hahn Senior Field Application Engineer Lattice Semiconductor

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

Accelerate Cloud Computing with the Xilinx Zynq SoC

Reconfigurable System-on-Chip Design

Getting Started with Embedded System Development using MicroBlaze processor & Spartan-3A FPGAs. MicroBlaze

AMC13 T1 Rev 2 Preliminary Design Review. E. Hazen Boston University E. Hazen - AMC13 T1 V2 1

Model-based system-on-chip design on Altera and Xilinx platforms

Network connectivity controllers

CoProcessor Design for Crypto- Applications using Hyperelliptic Curve Cryptography

Hybrid Platform Application in Software Debug

Architekturen und Einsatz von FPGAs mit integrierten Prozessor Kernen. Hans-Joachim Gelke Institute of Embedded Systems Professur für Mikroelektronik

HANIC 100G: Hardware accelerator for 100 Gbps network traffic monitoring

NARC: Network-Attached Reconfigurable Computing for High-performance, Network-based Applications

SYSTEM-ON-PROGRAMMABLE-CHIP DESIGN USING A UNIFIED DEVELOPMENT ENVIRONMENT. Nicholas Wieder

FPGA PCIe Bandwidth. Abstract. 1 Introduction. Mike Rose. Department of Computer Science and Engineering University of California San Diego

MPX28. o UART, SD-CARD, I2C, PWM, Serial Audio, SPI Power management optimized for long battery life 3.3V I/O

Getting Started with the Xilinx Zynq All Programmable SoC Mini-ITX Development Kit

AppliedMicro Trusted Management Module

Products. CM-i586 Highlights. Página Web 1 de 5. file://c:\documents and Settings\Daniel\Os meus documentos\humanoid\material_o...

Chapter 02: Computer Organization. Lesson 04: Functional units and components in a computer organization Part 3 Bus Structures

FPGA Design From Scratch It all started more than 40 years ago

Post-Configuration Access to SPI Flash Memory with Virtex-5 FPGAs Author: Daniel Cherry

WiSER: Dynamic Spectrum Access Platform and Infrastructure

Xenomai: integration and qualification of a real time operating system ARMadeus Systems

SPI I2C LIN Ethernet. u Today: Wired embedded networks. u Next lecture: CAN bus u Then: wireless embedded network

TKDM A Reconfigurable Co-processor in a PC s Memory Slot

FPGA implementation of Voice-over IP

System Design Issues in Embedded Processing

ARM Cortex -A8 SBC with MIPI CSI Camera and Spartan -6 FPGA SBC1654

A Complete Multi-Processor System-on-Chip FPGA-Based Emulation Framework

Arquitectura Virtex. Delay-Locked Loop (DLL)

Avoiding pitfalls in PROFINET RT and IRT Node Implementation

Pre-tested System-on-Chip Design. Accelerates PLD Development

How to design and implement firmware for embedded systems

HowHow to Get Rid of Unwanted Money

USB readout board for PEBS Performance test

Accessing I2C devices with Digi Embedded Linux 5.2 example on Digi Connect ME 9210

Embedded System Hardware - Processing -

MVME162P2. VME Embedded Controller with Two IP Slots

Horst Görtz Institute for IT-Security

USB - FPGA MODULE (PRELIMINARY)

Introduction to Field Programmable Gate Arrays

SmartFusion csoc: Basic Bootloader and Field Upgrade envm Through IAP Interface

Fastboot Techniques for x86 Architectures. Marcus Bortel Field Application Engineer QNX Software Systems

Outline. Introduction. Multiprocessor Systems on Chip. A MPSoC Example: Nexperia DVP. A New Paradigm: Network on Chip

Andreas Läng. Hilscher Gesellschaft für Systemautomation mbh Intelligent solutions for industrial communication.

PowerPC 405 GP Overview

How To Write Security Enhanced Linux On Embedded Systems (Es) On A Microsoft Linux (Amd64) (Amd32) (A Microsoft Microsoft 2.3.2) (For Microsoft) (Or

MicroBlaze Tutorial Creating a Simple Embedded System and Adding Custom Peripherals Using Xilinx EDK Software Tools

A Design of Video Acquisition and Transmission Based on ARM. Ziqiang Hao a, Hongzuo Li b

Techniques de conception et applications sur FPGAs partiellement reconfigurables

Xilinx 7 Series FPGA Power Benchmark Design Summary May 2015

POSIX. RTOSes Part I. POSIX Versions. POSIX Versions (2)

760 Veterans Circle, Warminster, PA Technical Proposal. Submitted by: ACT/Technico 760 Veterans Circle Warminster, PA

Interfacing Credit Card-sized PCs to Board Level Electronics

OPTIMIZE DMA CONFIGURATION IN ENCRYPTION USE CASE. Guillène Ribière, CEO, System Architect

Porting Plan 9 to the PowerPC Architecture. Ian Friedman Ajay Surie Adam Wolbach

Concurrent Direct Network Access for Virtual Machine Monitors

Embedded Display Module EDM6070

PCIe AHCI-IP Demo Instruction Rev Jul-15

SABRE Lite Development Kit

Dualog Connection Suite Hardware and Software Requirements

Below is a diagram explaining the data packet and the timing related to the mouse clock while receiving a byte from the PS-2 mouse:

Notes and terms of conditions. Vendor shall note the following terms and conditions/ information before they submit their quote.

PMC-XM-DIFF & EADIN/MODBUS Virtex Design

FlexPath Network Processor

4/2/2014 Linux Dev-Boards. Linux Dev Boards. Tagung Forth Gesellschaft e.v. Maerz file:///home/cas/talk/linux-boards/html/linux-boards.

LogiCORE IP AXI Performance Monitor v2.00.a

ECLIPSE Performance Benchmarks and Profiling. January 2009

Building an Embedded Processor System on a Xilinx Zync FPGA (Profiling): A Tutorial

Chapter 1 Lesson 3 Hardware Elements in the Embedded Systems Chapter-1L03: "Embedded Systems - ", Raj Kamal, Publs.: McGraw-Hill Education

DS1104 R&D Controller Board

International Journal of Advancements in Research & Technology, Volume 2, Issue3, March ISSN

Soft processors for microcontroller programming education

PCI Express Impact on Storage Architectures and Future Data Centers. Ron Emerick, Oracle Corporation

Hardware Task Scheduling and Placement in Operating Systems for Dynamically Reconfigurable SoC

Configurable Sensor Nodes for AAL Applications

UNITE: Uniform hardware-based Network Intrusion detection Engine

Transcription:

Kirchhoff Institute for Physics Heidelberg Norbert Abel FPGA: (re-)configuration and embedded Linux 1

Linux Front-end electronics based on ADC and digital signal processing Slow control implemented as single board computer OS Linux Controls multiple MCS/FPGAs PA/ ADC RAM PA/ ADC MCM or FPGA Link Clockrecovery Clock PA/ ADC Slow Control & Configuration Ethernet 2

Linux Move slow control to front-end electronics FPGA PA/ ADC RAM PA/ ADC FPGA Slow Control & Configuration Link Clockrecovery Clock Ethernet PA/ ADC 3

Linux - Hardware PLB-Arbiter OPB-Arbiter MicroBlaze I-OCM Ctroller I-BRAM UART Ethernet ICAP OPB D-BRAM D-OCM Ctroller PLB PLB2OPB Bridge JTAG PROC_SYS RESET PLB_DDR DCM 4

Linux - Hardware FPGA Linux 908 Slices HWS Xilinx Virtex 2 Pro 7: 3 727 Slices Xilinx Virtex 4 FX 60: 25 407 Slices 309 Slices Hardware Scheduling 5

What is Hardware Scheduling? Reconfiguration of Hardware Tasks on demand Partial bit files are stored in RAM If you need more place than available => Scheduling Linux: Hardware Task <=> Linux process 6

Motivation More flexibility Simple and inexpensive bug fixes High performance tasks More space for more functionality on chip Saving of costs as a result of using smaller FPGAs Less power consumption 7

Major Points Chip areas Short reconfiguration times Context management Implementation Tools 8

Chip areas Short reconfiguration times Context management Implementation Tools 9

10 Hardware Scheduling

Chip areas Short reconfiguration times Context management Implementation Tools 11

Reconfiguration time using PPC SDRAM Minor Frame PPC Scheduler in SW Minor Frame 340µs ICAP Controller ICAP-BRAM 75µs HW-ICAP 5,7MB/s 12

Reconfiguration time without PPC SDRAM Minor Frame PPC Minor Frame 340µs ICAP Controller ICAP-BRAM 75µs Scheduler and ICAP Controller in HW 6,4µs HW-ICAP 80MB/s Reconfiguration of one task(121kb): 1,8ms 13

Chip areas Short reconfiguration times Context management Implementation Tools 14

Task Scheduler Communication Scheduler Task Start Task Stop Task Stop Task Start Task STOP INIT='1' STOP='1' STOP<='1' WAIT FOR STOP_ACK TCLK<='0' TASK SWITCH TASK SWITCH INIT<='1' TCLK <= SYS_CLK INIT<='0' Scheduler BRAM STOP_ACK INIT TCLK DO (8) DI (8) ADDR (11) RESET ALL FSM & FF WAIT FOR INIT='0' LOAD CONTEXT... SAVE CONTEXT STOP_ACK <='1' WAIT 15

Design of a Task Start Task: Stop Task : INIT='1' RESET ALL FSM & FF TSK INIT='0' STOP='0' STOP='1' SAVE CONTEXT STOP_ACK <='1' WAIT FOR INIT='0' WAIT LOAD CONTEXT... not interruptible part 16

Context Store Global Store Local Store 1 Local Store 2 Local Store 3 Local Store 4 Local Store 5 Local Store 6 Local Store 7 Task 1 Task 2 Task 5 17

Chip areas Short reconfiguration times Context management Implementation Tools 18

Size & Speed Size BRAMs Xilinx Virtex 2 Pro 7 4944 Slices 44 Xilinx Virtex 4 FX 60 26624 Slices 24 System (SCHEDULER, PPC, OPB, PLB,...) 1217 Slices 8 SCHEDULER 309 Slices 1 HWS-OS of Waldner und Platzner Scheduler on the FPGA using PPC Scheduler on the FPGA without PPC Reconfiguration of one Minor Frame - 415µs 6,4µs Reconfiguration of one Major Frames - 9130µs 141µs Reconfiguration of one Task 510ms 119ms 1,82ms Task size 182,8kB 121kB 121kB Data throughput 0,36MB/s 1MB/s 80MB/s 19

Chip areas Short reconfiguration times Context management Implementation Tools 20

Linux - Software Our Linux constists of: small Kernel (uclinux) RAMFS BusyBox HWS controller 21

Linux Hardware vs. Software Linux kernel ressource allocations 22

Linux configuration tool Linux configuration tool Selection of hardware components, kernel versions and drivers and applications Currently supported µc Linux on MicroBlaze and Leon3 PowerPC Kernel 2.4.30 and (2.6 in preparation) Xilinx Virtex II pro and 4 devices Busybox hardware kernel application generate Processor I/O PPC MicroBlaze Leon3 Serial ICAP Memory Type Size Ethernet 23 External DDR 128MB I-Cache BRAM 32 KB D-Cache BRAM 32 KB GPIO

Conclusion PA/ ADC RAM PA/ ADC FPGA Task Area Link Clockrecovery Clock Ethernet Slow Control & Configuration PA/ ADC Hardware Task @ Linux Process 24