Entwurf und Implementierung eines statischen Backbones für die Kommunikation mit dynamischen Nutzerpartitionen auf einem Multi-FPGA-Board

Ähnliche Dokumente
Entwurf und Implementierung eines statischen Backbones für die Kommunikation mit dynamischen Nutzerpartitionen auf einem Multi-FPGA-Board

Realisierung eines Speichermanagements zur Zugriffsvirtualisierung von konkurrierenden Nutzerdesigns auf Rekonfigurierbarer Hardware

Vortrag zur Diplomarbeit

Energieeffizienz und Performance von Networks-on-Chip

Der CAN-Bus (Controller Area Network)

T est of 1GBit/s Fiber optical communication interfaces based on FlexRIO R Series

Remote-Objekt-Überwachung. von Jan Schäfer und Matthias Merk

Einführung in Peer-To-Peer (P2P) Datenstreaming mit NI FlexRIO

Einfluss der Window Scale Option auf die Fairness in TCP/IP-Netzen

Der I²C-Bus. Bearbeitet von: Thomas Finke, EL5

Echtzeit-Messdatenerfassung. über WLAN. Stephan Habegger Senior Design Engineer. Neratec AG

Netzwerkperformance 2.0

Busse. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009

A20_PCI. ARCNET Controller Karte für PCI Bus. Gerätebeschreibung TK Systemtechnik GmbH Nr. TK F-1.2

Kommunikation zwischen Mikrocontrollern

CPU Speicher I/O. Abbildung 11.1: Kommunikation über Busse

FCoE (Fibre Channel over Ethernet) Eine Lösung für konvergente Datencenter

Boundary Scan Days 2009

Teil 1: Digitale Logik

Self-aware Memory: Hardware-Prototyp eines Prozessorknotens

Rechnernetze I. Rechnernetze I. 1 Einführung SS Universität Siegen Tel.: 0271/ , Büro: H-B 8404

Fakultät Informatik, Institut für Technische Informatik, Professur für VLSI - EDA. Implementierung eines UDP/IP-Stacks in Hardware.

Advanced DAQ System Development Using NI-DAQmx and Intelligent DAQ (FPGA)

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

IHS2 Seminar CFG. Steffen Ostendorff Zusebau, R2078, Tel: -1788

Foliensatz. Theorie und Einsatz von Verbindungseinrichtungen in parallelen Rechnersystemen

FlexPath - Flexible, Dynamisch Rekonfigurierbare Verarbeitungspfade in Netzwerkprozessoren

Simulative Verifikation und Evaluation des Speichermanagements einer Multi-Core-Prozessorarchitektur am Beispiel von SHAP

Domain Name Service (DNS)

Fakultät Informatik Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur. Diplomverteidigung

Messsysteme für den SwissFEL

Eingebettete Taktübertragung auf Speicherbussen

Test of 1 GBit/s Fiber optical communication

Schichtenmodell der Internet Architektur

Platzierung und Verdrahtung massiv-paralleler FPGA-Designs am Beispiel eines Many-Core- Prozessors

Teil 1: Digitale Logik

KNX Twisted Pair Protokollbeschreibung

DIPLOMARBEIT. Entwurf und Implementierung eines modularen USB-Stacks für eingebettete Controller ohne Betriebssystem. Uwe Pfeiffer

TCP/IP-Protokollfamilie

ENTWURF UND REALISIERUNG EINES SATA PHYSICAL LAYERS FÜR ALTERA STRATIX II GX FPGAS

Rechnernetze I SS Universität Siegen Tel.: 0271/ , Büro: H-B Stand: 25.

Einleitung Die Pins alphabetisch Kapitel 1 Programmierung des ATmega8 und des ATmega

Rechnernetze I. Rechnernetze I. 1 Einführung SS Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/ , Büro: H-B 8404


Hardware/Software-Entwicklung + Teststand für Libera Hadron. im Rahmen des Kollaborationstreffen am

Grundlegende Steuer- und Verwaltungsfunktionen (ICMP)

Lichtwürfel. Ein Projekt in der Vertiefung Prozessdatenverarbeitung. Michael Frey mail at mfrey dot net. July 3, 2008

ARP, ICMP, ping. Jörn Stuphorn Bielefeld, den 4. Mai Mai Universität Bielefeld Technische Fakultät

Untersuchung zur hardwareunterstützten Entwurfsverifikation von Stream-basierten Kommunikations- und Verarbeitungsalgorithmen

Embedded Touch Panel PC OTP/57V

Computeranwendung in der Chemie Informatik für Chemiker(innen) 4. Netzwerke

Universelle Speicherschnittstelle für große externe Speicher

Hardware PCI, PCIe und Bus-Bridges

I2C-BUS Von Ramesh Sathiyamoorthy Klasse E4p Embedded Control Hr.Felser HTI Burgdorf

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

Analyse von Ansätzen zur Beschleunigung von SAT - Lösern durch dedizierte Hardware Komponenten

High Performance Datenerfassung Tests am Beispiel WEGA

PCI VME Interface SIS1100/SIS3100

Das J1939 Protokoll. Überblick und Ausblick

Der Mikrocontroller beinhaltet auf einem Chip einen kompletten Mikrocomputer, wie in Kapitel

Gliederung. Integrated Service Architecture (ISA) RSVP-Überblick Reservation Styles RSVP-Nachrichten. RN II Kap. 5.

Slow Control System SCS3000 / Midas Slow Control Bus (MSCB)

Handbuch. S/ATA PCI Card 1+1. deutsch.

CoreSight-Zugang auf dem ZedBoard. Alex Bereza

Hauptdiplomklausur Informatik Januar 2007: Computer Networks

Raspberry Pi Rezepte Teil 5

Grundlagen der Rechnerarchitektur. Ein und Ausgabe

Konfigurieren eines HHR Gerät, um es über eine CBX800 an Profibus anzubinden

Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur USB 3.0. Hauptseminar Technische Informatik. Bastian Lindner

Vorläufige Dokumentation

Realisierung eines fernsteuerbaren Testcontrollers für FPGA-basierte Systeme. Kolloquium zum Mastermodul INF-PM-FPG

Entwurf eines FPGA-Cores zur Simulationsbeschleunigung zeitkontinuierlicher Modelle im HiL Kontext

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

Emulation und Rapid Prototyping

Entwurf eines Generators zur Erzeugung von Hard- und Software-Beschreibungen für Bildverarbeitungspipelines

EyeCheck Smart Cameras

Schaltungshinweise zum Linux Control System mit DIL/NetPC DNP/7520

Entwicklung eines intelligenten FlexRay-Sternkopplers Paul Milbredt, AUDI AG, , TU Darmstadt

IP Internet Protokoll

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

Das Internet-Protocol. Aufteilung von Octets. IP-Adressformat. Class-A Netzwerke. Konventionen für Hostadressen

EX-1361 / EX-1361IS EX-1362 / EX-1362IS. 1S PCMCIA Karte Standard und Surge Protection & Optical Isolation

HORUS. Seminar "Ausgewählte Themen in Hardwareentwurf und Optik" im HWS Martin Scherer

COOL HASHING MIT FPGAS. Robert Bachran

Technologietag Baugruppentest

DALI SCI RS232. Datenblatt. DALI RS232 Interface. Schnittstelle zur Kommunikation zwischen PC (oder einer SPS) und Modulen in einem DALI-Lichtsystem

SAN - Storage Area Network

Manchester Codierung sowie Differenzielle Manchester Codierung

Serielle Kommunikation mit dem Arduino. Teil 1: Das Serial Peripheral Interface (SPI)

Analyse verschiedener HLS-Systeme in Hinblick auf ihren Umgang mit der Hochsprachenabstraktion Speicher. Sascha Kath

Bluetooth Low Energy gleichzeitige Verbindungen zu mehreren Knoten

Hypertransport. Parallele Rechnerarchitekturen. Patrice Weisemann

Positive/Negative Logik

I 2 C. ANALYTICA GmbH

Vernetzte Systeme Network Layer Vermittlungsschicht Schicht 3 Netzwerk Schicht

Entwicklung mit Xilinx-FPGAs

Übersicht aktueller heterogener FPGA-SOCs

Low Cost PCI Digital-Scope

Transkript:

Zwischenvortag zur Studienarbeit Entwurf und Implementierung eines statischen Backbones für die Kommunikation mit dynamischen Nutzerpartitionen auf einem Multi-FPGA-Board Albert Schulz Dresden, 1

Gliederung 1. Motivation 2. Zielarchitektur 3. Stand der Technik 4. Systemstruktur 5. Protokollentwurf 6. Aktueller Stand 7. Ausblick 2

1. Motivation Multi-FPGA Board mit großen FPGAs Optimale Auslastung mehrere User Designs (Nutzerpartitionen) pro FPGA Kommunikation zwischen Host und User Designs über einen gemeinsamen Bus Multiplexen mehrerer Datenströme erforderlich 3

2. Zielarchitektur DNK7 F5 PCIe-Board mit 5 Kintex-7 FPGAs 4x gfpga: User FPGAs 1x dfpga: Dataflow Manager Verbindung der FPGAs über Ringbus mit 46 GPIO Pins PCIe-Interface zu Host-Rechner (mittels pfpga) 4

2. Zielarchitektur Clock Generation Si598 Synth Si598 Synth OnSemi MC100EP 210S (2x1:5 buffer) F0-F4 User FPGAs High-Speed: DDR3-1600 Low-Speed: DDR3-800 GPIO: 400Mbps High-Speed DDR3 (3 chip) Low-Speed DDR3 (2 chip) High-Speed DDR3 (3 chip) Low-Speed DDR3 (2 chip) User Clock from F1 OR Fixed 100MHz Clock from V6 Fixed 50MHz Clock from V6 Fan Header Temperature Sensors (3) EEPROM for Board Data OnSemi MC100EP 210S ICSLV810 Some Status LEDs Some Status LEDs F0-F4 User FPGAs All FPGAs I 2 C I 2 C to EEPROM PCIe Jitter Atten High-Speed DDR3 (3 chip) Kintex-7 XC7K325T FBG900 F0 GPIO (2 banks = 77 I/O + SS clock) V6 LX75T (PCIe controller) pfpga Low-Speed DDR3 (3 chip) GPIO (1 banks = 46 I/O + SS clock) GPIO (1 banks = 46 I/O + SS clock) Low-Speed DDR3 (2 chip) Kintex-7 XC7K325T FBG676 F1 Kintex-7 XC7K325T FBG676 F4 High-Speed DDR3 (3 chip) GPIO (1 banks = 46 I/O + SS clock) MB [5:0] GPIO (1 banks = 46 I/O + SS clock) Low-Speed DDR3 (2 chip) Kintex-7 XC7K325T FBG676 F2 GPIO (1 banks = 46 I/O + SS clock) Kintex-7 XC7K325T FBG676 F3 High-Speed DDR3 (3 chip) PCIe REFCLK PCIe x4 Gen-2 Interface DN0220_DNBFC_K7F5_PCIe Rev. 1 Functional Block Diagram Drawing Revision 3, Drawn 2011-12-19 Quelle: http://www.dinigroup.com/product/data/dnk7_f5pcie/files/hardware_manual_dnk7_f5_pcie_rev4.pdf 5

3. Stand der Technik systolische Datenübertragung über Ringbus Eingangs- und Ausgangspuffer an Sender/Empfänger Flusskontrolle zwischen benachbarten Knoten über Put/Go-Signale 6

3. Stand der Technik Source-Synchronous-Schaltung differenzieller Takt (durch gfpga 1 erzeugt) 7

4. Systemstruktur - Überblick 2 getrennte Busse: 32-Bit Datenbus 8-Bit Kontrollbus für latenzarme Übermittlung von Status- und Kontrollinformationen 8

4. Systemstruktur - Datenfluss 9

4. Systemstruktur - Datenfluss 10

5. Protokollentwurf paketorientiertes Protokoll Nutzung der 2 Busse: Datenpakete über breiten Datenbus Pakete für Flusskontrolle, Interrupts und Statusinformationen über Kontrollbus Paketaustausch nur zwischen dfpga <> gfpgas (User Design) 11

5. Protokollentwurf - Datenpaketformat Frame-Format für Datenpakete: 32 Bit 8 Bit 8 Bit 12 Bit 4 Bit 0-16 KiByte Sentinel Zieladresse Quelladresse Datenlänge Pakettyp Daten Sentinel zur Erkennung eines gültigen Pakets notwendig, da ungültiger Zustand nach Bus-Start beobachtet 12

5. Protokollentwurf - Datenpaketformat Frame-Format für Datenpakete: 32 Bit 8 Bit 8 Bit 12 Bit 4 Bit 0-16 KiByte Sentinel Zieladresse Quelladresse Datenlänge Pakettyp Daten Adressformat = 3 Bit ChipID + 5 Bit User Design ID 3 Bit ChipID notwendig für 5 FPGAs (dfpga + 4 gfpgas) max. 32 User Designs pro gfpga 13

5. Protokollentwurf - Datenpaketformat Frame-Format für Datenpakete: 32 Bit 8 Bit 8 Bit 12 Bit 4 Bit 0-16 KiByte Sentinel Zieladresse Quelladresse Datenlänge Pakettyp Daten max. Paketgröße: 2 12 Worte + Header = ~16 KiByte 16 Pakettypen definierbar z.b. Daten für Anwendung, Konfigurationsdaten, Speicherinhalt Weiterleitung der Daten durch Switch zu FIFOs, ICAP Interface oder RAM 14

5. Protokollentwurf - Flusskontrolle Flusskontrolle zwischen dfpga und User Designs über Credit-Based Flow Control verlustfrei, kein wiederholtes Senden von Paketen aufgrund von Pufferüberlauf nötig 15

5. Protokollentwurf - Flusskontrolle Empfänger vergibt Credits, wenn N Einträge aus Puffer gelesen wurden (N = Halbe Puffergröße) geringere Belastung des Kontrollbusses 16

5. Protokollentwurf - Flusskontrolle: Szenario 17

5. Protokollentwurf - Flusskontrolle: Szenario 18

5. Protokollentwurf - Kontrollpakete Frame-Format für Kontrollpakete: 1 Byte 1 Byte 1 Byte 1 Byte 1-n Byte Sentinel Zieladresse Quelladresse Pakettyp Daten 256 mögliche Pakettypen für z.b. Credits für Flusskontrolle, Statusinformationen, Interrupts Datenlänge abhängig vom Pakettyp, z.b.: 1 Byte bei Credit-Paketen (Anzahl an Credits) 19

5. Protokollentwurf - Arbitrierung faire Buszuteilung mittels gewichtetem Round- Robin-Verfahren (3:1) Ringbus Ringbus 20

6. Aktueller Stand Protokoll im Wesentlichen spezifiziert VHDL-Testbench Implementierung des Datenpfades für 32-Bit Bus (TX, RX, Switch, FIFOs, MUX) funktionierender Datentransfer zwischen dfpga- Design und User Designs 21

7. Ausblick Flusskontrolle implementieren Implementierung der Arbitrierung Kommunikation zwischen Host-Rechner und dfpga Fehlererkennung/-korrektur (falls notwendig) funktionaler Test des Designs (simulativ & physisch) Performance Test Dokumentation (Entwurf, Realisierung, Testergebnisse) 22

Quellen Infrastucture Proposal for Sharing the DINI FPGA Cluster - Dr.-Ing. Thomas B. Preußer DNK7_F5_PCIe Hardware Manual (Link) - N. Harder (The DINI Group) Traffic Management for High-Speed Networks: Fourth Lecture International Science Lecture Series - H.T. Kung https://de.wikipedia.org/wiki/weighted-fair- Queuing, Abruf 9.5.2016 23