Modul A. Modul B. Bisheriger Ansatz für dynamisch und partiell rekonfigurierbare Systeme. Slot 0 Slot 1. Prozessor. Dynamischer Bereich



Ähnliche Dokumente
Programmierbare Logik CPLDs. Studienprojekt B Tammo van Lessen

Ein Tool zum Rapid-Prototyping von Multitouch- Anwendungen

Freier Linux Kernel für den Virtex4 FX12

Storage Area Networks im Enterprise Bereich

HS Technische Informatik

Übersicht aktueller heterogener FPGA-SOCs

Hybride Apps DPR und Android auf dem Xilinx ZYNQ. Endric Schubert, Missing Link Electronics Fabian Zentner, Univ. Ulm

FPGA Field Programmable Gate Array im Unterschied zu anderen PLD-Architekturen.

Scalable Vector Graphics-basierte

AVT Spartan-3E Development Kit AVT DK S3E-500 (V1.0)

J.6 Programmierung eingebetteter Systeme

Software Defined Networking. und seine Anwendbarkeit für die Steuerung von Videodaten im Internet

Entwicklung von Partitionierungsstrategien im Entwurf dynamisch rekonfigurierbarer Systeme

13 Programmierbare Speicher- und Logikbausteine

Instandhaltung. Jakob Krause, Sebastian Cech. TU Dresden - Fakultät Informatik

Funktionstest Ti2CA Compact

Modulare Grafische Programmierung (MGP) von FPGAs

Jürg Gutknecht, SI und ETH Zürich, April 2015

Entwicklung mit Xilinx-FPGAs

Zellulare Neuronale Netzwerke

Plazierung von unterschiedlich großen Komponenten in gleich große rekonfigurierbare Flächen unter Berücksichtigung der Signallaufzeiten

Emulation und Rapid Prototyping. Hw-Sw-Co-Design

Emulation und Rapid Prototyping

Anleitung Smargo mit DreamBox und CCcam.

Mikrocontroller Grundlagen. Markus Koch April 2011

Realisierung einer 32'768-Punkt-FFT für 2 GBytes/s Datenrate auf einem FPGA

Architekturplanung und IS-Portfolio-

USB-ZU-SERIELL-KONVERTER

eblock, SD-Kartenleser Projektteam: Henrik Esche Tobias Albers Michael Heßling Daniel Lütfrenk Jonas Wieschmann

Military Air Systems

Jan Mönnich

BitRecords FPGA Modul XC6SLX25_V2.0, Mai2013 1

Vortrag zur Diplomarbeit

Application Requirements Engineering

Automatische Boundary Scan Testgenerierung für scanunfähige Schaltungspartitionen durch modellbasierte Werkzeuge

Switching. Übung 7 Spanning Tree. 7.1 Szenario

690+ Bootloader Software - Upgrade -

Tutorial about how to use USBView.exe and Connection Optimization for VNWA.

Implementation of a Framework Component for Processing Tasks within Threads on the Application Level

Test zur Bereitschaft für die Cloud

Installationsanleitung LogControl DL-Software

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Teil 1: Digitale Logik

Übersicht und Dokumentation der Reset- Funktionen der IO CONNECT

Zeitkritische Kommunikation für drahtlose Fernwartungssysteme

Benötigen wir einen Certified Maintainer?

Konzeption und Implementierung einer Videodigitalisierung und Videoausgabe unter Embedded Linux. Kolloquium von Frank Schwanz

Vorbereitung des seriellen Kabels (RS232, 9-Pin)

Anbindung des Onyx Editors an das Lernmanagementsystem OLAT Anwendungsdokumentation

Symmetric Multiprocessing mit einer FPGA basierten. Marco Kirschke INF-M3 Seminar Wintersemester 2010/ November 2010

Ausbildungsunterlage für die durchgängige Automatisierungslösung Totally Integrated Automation (T I A)

Bernhard Redemann. Steuern und Messen mit USB. Hard- und Softwareentwicklung mit dem FT232B/R, FT245B/R und FT2232L/D

Manufacturing Execution Systems - Ein Überblick

Software Survivability

Integration FMS in den GSB

Flexibles Echtzeit HF- Testsystem mit LabVIEW Realtime, FPGA-Technologie und TestMaster

/ Rev. 1 / Quick Guide für FDT Basic-Tool und Backup-Tool SERIE P40T

Thermoguard. Thermoguard CIM Custom Integration Module Version 2.70

Solaris Cluster. Dipl. Inform. Torsten Kasch Bielefeld.DE> 8. Januar 2008

PayPal Plus Benutzerhandbuch

Vorschlag einer Architektur für Software Defined Networks

Seite Wireless Distribution System (Routing / Bridging) 3.1 Einleitung

Grundlagen der Fehlerinjektion Lehrstuhl 12 Fakultät Informatik. Grundlagen der Fehlerinjektion

MOA-ID Hands-On Workshop

Thread basierte partielle Rekonfiguration von SoC Systemen. Frank Opitz INF-M1 Anwendung 1 - Wintersemester 2009/

SIM Application Toolkit basierter Angriff auf mobile Endgeräte durch Hardwaremanipulation an der SIM-Karte

USB 2.0-/FireWire IEEE 1394a PCI Interface Card

Netzwerktechnologie 2 Sommersemester 2004

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

Peripherie Komplexe serielle Schnittstellen

Harun Özturgut. Mitarbeiterportal als zentrales Arbeitsinstrument

OSEK/VDX NM (Network Management)

DIGITALVARIO. Anleitung Bootloader. Ausgabe 0.1 deutsch für Direkt-Digital-Vario. Firmware ab Hardware 01 Seriennummer ab 0003

Großer Beleg. Björn Gottschall Dresden,

32-Bit Microcontroller based, passive and intelligent UHF RFID Gen2 Tag. Zürcher Fachhochschule

METTLER TOLEDO ETHERNET-Option

GEONET Anleitung für Web-Autoren

Die Geheimnisse meiner SMF Daten

Embedded Linux. Embedded Linux. Daniel Buchheim Seminar "Eingebettete drahtlose Systeme"

Dynamische Rekonfigurationvon Echtzeit-Ethernet-Standards mit harten Echtzeitanforderungen

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger

Eine technische Plattform für Smart-Client-Systeme. Alexander Ziegler

OSEK-OS. Oliver Botschkowski. PG AutoLab Seminarwochenende Oktober AutoLab

EyeCheck Smart Cameras

IHS2 Seminar. Einführung Zusatzfolien A. Integrated HW/SW Systems Group. IHS2 Seminar 06 November 2009 Self-Organization 19 November

Anleitung für die Teilnahme an den Platzvergaben "Studio II, Studio IV und Studio VI" im Studiengang Bachelor Architektur SS15

Begleitung eines Vernetzungsprojektes zur Politischen Bildung im Internet. bildung-schwaben.net

ORGA 6000 in Terminalserver Umgebung

Bedienungsanleitung. WebServer. Stand: 25. November Autor: Peter Beck

Erläuterung des technischen Hintergrundes des neues RIWA GIS-Zentrums

Ein mobiler Electronic Program Guide

Regiometer. Bedienungsanleitung

Anwenderprogrammierbare

Um mit der FEC Utility Software zu konfigurieren, Müssen Sie in folgendem Untermenü die Software starten:

Effiziente Ankopplung eines zeitgesteuerten Feldbusses an ein Echtzeitbetriebssystem

MS Outlook Integration

Windows Vista Security

Transkript:

DFG Mini Workshop Device Treiber für rekonfigurierbare Rechensysteme HW-ICAP API zur Anwendung der Read-, Modify-, Writeback-Methode für Xilinx Virtex-II FPGAs 8. 9. Dezember TU München Michael Hübner Institutsleitung: Prof. Dr.-Ing. K.D. Müller-Glaser Prof. Dr.-Ing. J. Becker Institut für Technik der Informationsverarbeitung

Gliederung -2- Einleitung und Motivation Grundlagen Readback- Modify- Writeback Methode Anwendungen Konfigurationsmanagement System Online Routing Integration und Test Audio- Streaming Anwendung Zusammenfassung und Ausblick

Bisheriger Ansatz für dynamisch und partiell rekonfigurierbare Systeme Aufteilung des Systems in 2 Bereiche: Statischer Bereich Dynamischer Bereich Dynamischer Bereich Slot 0 Slot 1 Statischer Bereich Interface IOs Motivation Aufteilung des Dynamischen Bereichs in Slots Slot Höhe entspricht Bausteinhöhe Modul A Modul B Prozessor Kommunikationstruktur Horizontale Busmakros -3- Interface ICAP Quelle: Markus Stitz Externer Speicher

Nachteile des traditionellen Designs Motivation Uneffektive Ausnutzung der zur Verfügung stehenden Chipfläche durch: Starre Aufteilung in dynamischen und statischen Bereich Unflexible Slotbelegung Anpassung der Slotgröße an größtes Modul Lange Signallaufzeiten auf den horizontalen Verbindungsmakros Festlegung auf Slotstruktur Komplizierte Anwendung des Modularen Design- Flow Problemspezifischer Ansatz Allgemeiner Design Ansatz -4-

Alternative Designmöglichkeiten Motivation Flexible Anordnung der Konfigurationsslots Flexible Position innerhalb der Slots Mehrere Module pro Slot Gute Ausnutzung der Chipfläche Kurze Signalwege Hohe Adaptivität Slot basierter Ansatz M 3 M 2 M 1 Static Area Makro Configuration Slot Modul basierter Ansatz FPGA User-IP Interface MicroBlaze/ PowerPC Eigenständige Module Frei platzierbar Module B Module A Module C Module D OPB-Bus UART Flash- Controller HWIcap to PC External Flash Memory -5- Frage: Warum nicht? Module E Quelle Matthias Kühnle ICAP

Virtex-II Architektur Grundlagen Logik Ressourcen Regelmäßige Anordnung in Spalten und Zeilen Routing Ressourcen Regelmäßige Anordnung zwischen Logik Ressourcen Homogenität in horizontaler Richtung nur von BRAM- Blöcken unterbrochen Block SelectRAM resource I/O Blocks (IOBs) Dedicated multipliers Programmable interconnect Configurable Logic Blocks (CLBs) Quelle Xilinx -6- Clock Management (DCMs, BUFGMUXes)

Virtex-II Konfigurationsspeicher Architektur Grundlagen Konfigurationsspeicher aus Frames aufgebaut Minor Frame konfiguriert Bruchteil aller CLB- Ressourcen einer Spalte Minor Frame ist kleinste adressierbare Einheit Major Frame Partiell dynamische Rekonfiguration kann nur CLB- Spalten weise erfolgen Lösung: Read-, Modify- Writeback Methode Minor Frame -7-

Prinzip Readback- Modify- Writeback Methode Voraussetzungen Partielles Auslesen der aktuellen Konfiguartion Glitchless Switching Readback- Modify- Writeback Methode Grundprinzip Auslesen einer partiellen Konfiguration Manipulieren der entsprechenden Ressourcen Rückschreiben der manipulierten Konfiguration Problem Keine Angaben zur Adressierung einzelner Ressourcen ICAP- Schnittstelle -8-

Reverse Engineering mit JBits Java Klassenbibliothek Readback- Modify- Writeback Methode API für Xilinx Virtex-II Konfigurationsbitstrom JBits- Klasse stellt Virtex-II Bausteinmodell da Manipulation einzelner FPGA Ressourcen Gesamtbitstrom Readback- Bitstrom Bitstrom Bitstrom Manipulation JBits- API JBits- API JBits.read() Serielles Serielles Interface Interface JBits.getCLBBits(row,col,source) JBits.generatePartial() Serielles Serielles Interface Interface Bitstrom Bitstrom JBits.setCLBBits(row,col,source,bits) ICAP ICAP Host- System FPGA -9-

Adressierung von Elementarblöcken Elementar- Block := CLB- Block + adjazente Switch Matrix IO-Block 12 Byte Elementar-Block n 10 Byte Readback- Modify- Writeback Methode Elementar-Block 2 10 Byte Elementar-Block 1 10 Byte Elementar-Block 0 IO-Block 10 Byte 12 Byte -10- Frame 0 1 2... 20 21

Möglichkeiten durch Elementarblock Adressierung Readback- Modify- Writeback Methode On- Chip Realisierung Verschieben von Elementarblöcken Vertauschen von Elementarblöcken Laden von Elementarblock Konfigurationen aus einem externem Speicher Zusammenfassen von E-Blöcken zu abgeschlossenen Funktionsmodulen Verschieben von Funktionsmodulen Vertauschen von Funktionsmodulen Laden von Funktionsmodulen -11-

Speicherung eines Moduls im externen Speicher Col 0 Col 1 0 1 2 21 0 1 2 21 Col 0 Col 1 0 1 2 21 0 1 2 21 n Speichermapping Readback- Modify- Writeback Methode............ COL 0 COL 1 0 1 2 21 1 2 3 21...... n..0 n..0 n..0 n..0 n..0 n..0 n..0 n..0 Modul ohne Placement Information 0-12- Modul Ausschneiden der Frames aus Gesamtbitstrom Normierung durch Verschieben nach unten Serielles Speichern der einzelnen Frames

Konfigurationsmanagement System Anwendungen Eigenschaften: Plattform unabhängig für alle Virtex-II Bausteine Allgemeiner nicht anwendungsbezogener Ansatz API für übergeordnetes Laufzeitsystem welches den Anwendungskontext herstellt Slot basiert -13- FPGA Basiskonfiguration + Konfigurationsmanagement System übernimmt folgende Aufgaben: Empfang von Konfigurationskommandos Ausgabe von Systemstatus Informationen Verwaltung der dynamisch re-konfigurierbaren FPGA Fläche Verwaltung des externen Modulspeichers Dynamisches Routing

Grundelemente Hardware Modul D Virtex-II FPGA Modul B Konfigurationsmanagement Modul A Modul AC IP-User Interface MicroBlaze V PowerPc Statisches Basissytem OPB- UartLite -14- OPB- HwIcap Memory Controller Host Externer Speicher

System Partitionierung Partitionierungs Statisches Parameter Basissystem Konfigurationsmanagement YEndPos Slot B Slot A Slot Slot B Anzahl der Slot Slots A YStartPos XStartPos XEndPos Routing Breite Slot C -15- Host Externer Speicher

Online Routing Elemente Variable Modulposition innerhalb der Slots Online Routing Online Routing Slot Modul Routing Channel Enthält dynamische Routing Blöcke Modul Interface Schnittstelle zu Routing Blöcken im Routing Channel Routingblöcke Verbindungsmakro Stellt Schnittstelle zu statischem Teil da Stellt Schnittstelle zu Routing Channel da -16- Type I Type II Type III

Online Routing Ablauf Initialisierung TYPE-I Blöcke TYPE-III Abschluss Online Routing Slot Routing Austausch TYPE-I TYPE-II Modul Un-Routing Austausch TYPE-II TYPE-I -17- IP-User Interface

Realisierung der Routing Blöcke LUT basiert Y X Y X Online Routing Verwendung von Double Line Routing Ressourcen Wichtig : Homogener Aufbau des Makros G # F# G #F# = Macro External Pin CLB- Breite =1 Signalbreite= 1-8 CLB- Breite =2 Signalbreite= 9-16 CLB- Breite =3 Signalbreite= 17-24 -18- Verschiedene Makrobreiten Als Makro mit FPGA Editor manuell erstellt

Modularer Aufbau der Software Configuration Manager Konfigurationsmanagement Serial Interface Flash Manager Icap Manager Uart Utils Flash Driver Icap Utils Uart Driver EDK- LIB Icap Driver UART FLASH ICAP-PRIMITIVE -19-

-20- ICAP API: Initialisierung

Beispiel Sequenz: Modul einfügen -21- Konfigurationsmanagement

-22- Configuration - Management

Audio Streaming Anwendung Lautsprecher Integration und Test D/A Wandler OPB-GP-IO MicroBlaze V PowerPc -23- OPB- HwIcap Memory Controller OPB- UartLite OPB- UartLite Host Externer Speicher

Performanz Integration und Test Performanz der RMW- Methode Pro E-Block = 20 ms Bei Virtex-II XC2V1000 Baustein Bei Taktrate von 100 MHz ICAP- Schnittstelle -24-

Zusammenfassung Dezentraler Ansatz mit JBits Entwicklungsplattform Tool zum Verschieben und Ausschneiden von Modulen Adressierung von E- Blöcken On-Chip Realisierung der RMW- Methode Laden von Modulen aus externem Speicher Völlig neuartige Designmöglichkeiten Plattformunabhängige Konfigurationsmanagement API Online Routing Fähigkeit Verzicht auf Makros im statischen Teil Vereinfachter Design- Flow Toolbox zum präparieren der Module Demonstration mittels Audio- Streaming Test System -25-

Ausblick Performanzsteigerung der RMW- Methode On-Chip Einbettung der Konfigurationsmanagement API in anwendungsspezifisches Laufzeitsystem On- Chip Realisierung alternativer Designs auf Basis der RMW- Methode Erweiterung durch Adressierung weiterer Ressourcen Netzlisten basiertes Online- Routing -26-

-27- Vielen Dank für Ihre Aufmerksamkeit!

-28-

Grundelemente Hardware Readback- Modify- Writeback Methode Einfache Anbindung an OBP- Bus EDK- LibGen erstellt Core Treiber MicroBlaze ICAP- Contr oller OPB- HwIcap OPB- UartLite Host Pc BRAM ICAP-Primitive OPB- Treiber Schreibe Buffer Lese Buffer Schreibe BRAM-Buffer zu Icap Lese Icap in BRAM-Buffer OPB- Contr oller OPB- HwIcap Datenfluß Kontrollfluß -29-

-30-