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



Ähnliche Dokumente
Übersicht aktueller heterogener FPGA-SOCs

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

Prototyping eines universellen ISM-Band Transmitters auf Basis des NI FlexRIO MDK

Self-aware Memory: Hardware-Prototyp eines Prozessorknotens

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

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

Open Source - Mikrokontroller für Mixed Signal ASIC

Implementierung eines Software Defined Radio auf einem FPGA

Entwicklung mit Xilinx-FPGAs

Tickt ihr Board noch richtig? Frequenzmessung durch ChipVORX als Ergänzung zum Boundary Scan Test. Dipl.-Ing. (FH) Martin Borowski

LabView7Express Gerätesteuerung über LAN in einer Client-Serverkonfiguration. 1. Steuerung eines VI über LAN

VarioTAP Einführung Hosea L. Busse

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

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

Entwicklung von Partitionierungsstrategien im Entwurf dynamisch rekonfigurierbarer Systeme

Linux Terminal mit Ethernet und Java. Eine dynamische Plattform für Automatisierungsapplikationen?

Embedded GNU/Linux mit Gnublin

Entwurf und Implementierung eines hochparallelen Black- Scholes Monte-Carlo-Simulators

Policy-Framework (PFW) - Eine Methode zur Umsetzung von Sicherheits-Policies im Cloud-Computing

TBE332 Controller. Produktbeschreibung

Microsoft.NET Gadgeteer: Ein raffinierter Weg zum Embedded-Produkt. ECC 2013 Marcel Berger

Realisierung von CI- Regelalgorithmen auf verschiedenen Hardwareplattformen

Programmierbare Logik CPLDs. Studienprojekt B Tammo van Lessen

Vortrag zur Diplomarbeit

Grundlagen der Rechnerarchitektur. Einführung

Freier Linux Kernel für den Virtex4 FX12

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

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

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

Modulare Grafische Programmierung (MGP) von FPGAs

Grundlagen der Rechnerarchitektur

Name: ES2 Klausur Thema: ARM Name: Punkte: Note:

1. Übung - Einführung/Rechnerarchitektur

Partitionierung von rechenintensiven Aufgaben zwischen FPGA und CPUs

ABLEITUNG ZUSÄTZLICHER STEUERGRÖSSEN FÜR DIE STRAHLFORMUNG IN EINEM LASER-SCANNER IM ECHTZEITBETRIEB

BitRecords FPGA Modul XC6SLX25_V2.0, Mai2013 1

Administration von großen Ubuntu Linux Desktop Umgebungen mit Univention Corporate Client

Bachelor-/Masterarbeit: Entwicklung einer interaktiven und bedienerfreundlichen Oberfläche (GUI/NUI)

Agenda. Ziel Problematik OS-Installation Softwareverteilung Inventarisierung Stufenplan

Fakultät für Technik Technische Informatik Entwicklung einer Kombinierte Hard-/Software- Schnittstelle zur Anbindung von einfachen Sensoren und

13 Programmierbare Speicher- und Logikbausteine

Verbindung auf eigenen PC (Windows 2000)

CU-R-CONTROL. Beschreibung zur Schaltung ATMega16-32+ISP MC-Controller Steuerung auf Basis ATMEL Mega16/32. Autor: Christian Ulrich

Hardware Virtualisierungs Support für PikeOS

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

Emulation und Rapid Prototyping

Universelle Speicherschnittstelle für große externe Speicher

Automatisierte GUI Tests in fachlichen Teststufen Patrick Möller

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

Session 3: Projektvorstellung Transferprojekt itsowl-tt-hapromesy 18. August 2015, Gütersloh.

Embedded Linux gnublin Board Programmieren Sonstiges. Embedded Linux am Beispiel des Gnublin-Boards

OpenBeacon Proximity - 2.4GHz RFID - 4. Wildauer Symposium RFID und Medien

Anwendungen zur Raumautomation auf Basis der OSGi- und LON-Technologie

Der Industrie-PC in der Automatisierungstechnik

Prozessoren in Programmierbarer Logik

Embedded System Design

Gforth EC auf dem NXT Brick

Funktionskapselung in Steuergeräten

Man liest sich: POP3/IMAP

Linux auf FPGAs. Massgeschneiderte Computersysteme. Christoph Zimmermann, Marc-André Beck. 1. März Berner Fachhochschule MedOnStream

EINE MODULARE TESTPLATTFORM FÜR DAS PROTOTYPING VON DRAHTLOSEN SYSTEMEN

ANYWHERE Zugriff von externen Arbeitsplätzen

Pos. Bestandteile Stck Bestellbezeichnung Groundplane (Aussparung 100 x 100 mm) 1 GND 25

Effizienzsteigerung von Softwaretests durch Automatisierung

Microcontroller Kurs Microcontroller Kurs/Johannes Fuchs 1

Zellulare Neuronale Netzwerke

Teil VIII Von Neumann Rechner 1

Smart Metering: Entwicklung eines intelligenten Stromzählers

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

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

Wie in der Skizze zu sehen ist, bleibt die Periodendauer / Frequenz konstant und nur die Pulsweite ändert sich.

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

Projektpräsentation der Betrieblichen Projektarbeit

Mikrocontroller Grundlagen. Markus Koch April 2011

vernetzten prozessübergreifenden Testsystems DATA Ahead GmbH

1 Registrieren Sie sich als Benutzer auf dem Televes. 2 Sobald ein Konto erstellt ist, können Sie auf das Portal

ATMega2560Controllerboard

Willkommen. Programmierung (MGP) von FPGAs. zur Präsentation

Teil 1: Digitale Logik

Mikrocontrollerprogrammierung in Assembler und C

OSEK / OSEKtime - ein Vergleich

Testplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw,

BMW Markenforum. Karlsruhe, 28. Oktober 2015 Christian Bayer ASC Automotive Solution Center AG

Remote Arbeitsplatz - SPS-Einstieg (ACC)

Programmieren für Ingenieure Sommer Ein Rechner. Rechner sind überall. Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet.

PARC. Eine virtuelle Echtzeit Entwicklungsumgebung für den Ausbildungsbereich

carekundenforum 2013 Virtualisieren spart Geld

Media Oriented Systems Transport Die MOST-Systembus Architektur

Automatisierung mit Hilfe einer rekonfigurierbaren FPGA-Hardwareplattform

Mobile App Testing - Mit der richtigen Strategie zum Erfolg

Windows Server 2008 (R2): Anwendungsplattform

Vorschlag einer Architektur für Software Defined Networks

Praktikant / Abschlussarbeit im Bereich Softwareentwicklung / Mechatronik (m/w)

AndroidRCCar & Physical Computing mit Android

Diplomarbeit Antrittsvortrag

Development Tools for 16/32 Bit Microcontroller

Betreuung von dezentralen PC-Pools. Eigbert Riewald

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick


Transkript:

Fakultät Informatik, Inst. für Tech. Informatik, Prof. für VLSI-Entwurfssysteme, Diagnostik und Architektur Realisierung eines fernsteuerbaren Testcontrollers für FPGA-basierte Systeme Kolloquium zum Mastermodul INF-PM-FPG Patrick Lehmann Patrick.Lehmann@tu-dresden.de Dresden,

Motivation Prototyping-Board mit Schnittstellenübersicht [1] Xilinx KC705 Produktbild, 06.05.2015 - Xilinx Kintex-7 FPGA KC705 Evaluation Board Fernsteuerbarer Testcontroller für FPGAs Folie Nr. 2 von 22

Agenda 1 Zielstellung 2 Analyse 3 PicoBlaze Softcore und SoFPGA 4 Ergebnisse Fernsteuerbarer Testcontroller für FPGAs Folie Nr. 3 von 22

1 Zielstellung 1.1 Zielstellung Hardware: Implementierung eines Testcontrollers Integration einer Kommunikationsschnittstelle Entwurfsunterstützung für den Entwickler Software: Nachweis der Fernsteuerbarkeit des Testcontrollers Fernsteuerung vom Messarbeitsplatz Fernsteuerung von einem Remote-Arbeitsplatz Bereitstellung von wiederverwendbaren Bibliotheken Fernsteuerbarer Testcontroller für FPGAs Folie Nr. 4 von 22

2 Analyse 2.1 Interaktionsmöglichkeiten mit dem FPGA Dateneingabe: Einzelbit Eingabe Einzelbyte Eingabe ROM unterstützte Eingaben Eingaben in Echtzeit Erzeugung von Testdaten in Echtzeit Fernsteuerbarer Testcontroller für FPGAs Folie Nr. 5 von 22

2 Analyse 2.1 Interaktionsmöglichkeiten mit dem FPGA Datenausgabe: Ausgabe von Einzelbits und -bytes Endergebnis Messwertlisten Weiterverarbeitet der Messwerte Fernsteuerbarer Testcontroller für FPGAs Folie Nr. 6 von 22

2 Analyse 2.1 Interaktionsmöglichkeiten mit dem FPGA Fehlerausgabe: Fehlerindikation Fehlermeldung Fehlerprotokoll Abbild des Systemzustandes Tracelog Fernsteuerbarer Testcontroller für FPGAs Folie Nr. 7 von 22

2 Analyse 2.2 Interaktionsgrad und Beeinflussbarkeit Interaktionsgrad: Manuell Interaktiv Vollautomatisiert Beeinflussbarkeit: Parametrierbar (Fern-)steuerbar Rekonfigurierbar Fernsteuerbarer Testcontroller für FPGAs Folie Nr. 8 von 22

2 Analyse 2.3 Testfälle Merkmale der Testfälle: Begrenzte Anzahl, fest kodiert Parametrierbar Austauschbar Benchmark Fernsteuerbarer Testcontroller für FPGAs Folie Nr. 9 von 22

2 Analyse 2.4 Fernsteuerbarkeit FPGA mit Testsystem Terminal Sitzung: Programmieren per impact oder Skript SoFPGA Steuerung per Kitty / minicom Direkte ChipScope-Nutzung Rechner / Server mit eingebautem FPGA Remote Arbeitsplatz Fernsteuerbarer Testcontroller für FPGAs Folie Nr. 10 von 22

2 Analyse 2.4 Fernsteuerbarkeit Remote Konsole: SSH Sitzung Programmieren per Script SoFPGA Steuerung per minicom FPGA mit Testsystem Rechner / Server mit eingebautem FPGA Remote Arbeitsplatz Fernsteuerbarer Testcontroller für FPGAs Folie Nr. 11 von 22

2 Analyse 2.4 Fernsteuerbarkeit FPGA mit Testsystem Remote Sitzung: Remote Desktop Verbindung, Programmieren per impact oder Skript Terminalsteuerung per Kitty Remote ChipScope-Nutzung Rechner / Server mit eingebautem FPGA Remote Arbeitsplatz Fernsteuerbarer Testcontroller für FPGAs Folie Nr. 12 von 22

2 Analyse 2.4 Fernsteuerbarkeit Weiterleitung der Schnittstellen: Programmieren per klink und rc3e UART Forwarding per socat tcp://fpga-cloud:40 001 ChipScope Zugriff auf tcp://fpga-cloud:50 001 FPGA mit Testsystem Rechner / Server mit eingebautem FPGA Remote Arbeitsplatz Fernsteuerbarer Testcontroller für FPGAs Folie Nr. 13 von 22

2 Analyse 2.5 Architekturübersicht Gesamtsystem Test-Controller CPU oder FSM Testfälle Datengenerator Ergebnisspeicher DUT (Device Under Test) Teilkomponente 1 Teilkomponente 2 Teilkomponente n Fernsteuerbarer Testcontroller für FPGAs Folie Nr. 14 von 22

3 Der PicoBlaze Softcore (KCPSM6) 3.1 Architekturmerkmale Ken Chapman s Programmable State Machine [2]: 8-Bit Prozessor / Programmierbarer Zustandsautomat 4096 Worte Instruktionsspeicher 2 Registerbänke á 16 Register 256 Byte Scratchpad Memory 256 I/O Adressen Bis zu 280 MHz (140 MIPS) auf einem 7-Series FPGA Unterstützt Interrupts [2] PicoBlaze6 - Rev9, 30.09.2014 Fernsteuerbarer Testcontroller für FPGAs Folie Nr. 15 von 22

3 Der PicoBlaze Softcore 3.2 Erweiterungen Paged Instruction ROM: Erweiterung auf bis zu 8 Pages á 4096 Instruktionen => 32 Ki Instruktionen => Erlaubt die Speicherung vieler String-Konstanten Zur Laufzeit Reprogrammierbar per JTAG Interrupt Controller: Unterstützt bis zu 32 maskierbare Interrupts Round-Robin Arbitrierung Fehlermeldungsregister pro Interrupt-Port Fernsteuerbarer Testcontroller für FPGAs Folie Nr. 16 von 22

3 Der PicoBlaze Softcore 3.3 System-on-FPGA (SoFPGA) Grundsystem: PicoBlaze PagedROM InterruptController Arithmetische Beschleuniger: Multiplizierer (16 Bit) Dividierer (32 Bit) Scaler (40x8/8 Bit) BCD-Counter Fernsteuerbarer Testcontroller für FPGAs Folie Nr. 17 von 22

3 Der PicoBlaze Softcore 3.3 System-on-FPGA (SoFPGA) Kommunikation: General Purpose I/O (GPIO) Bit-Banging I/O (BBIO) LC-Display UART (~ 1 MBaud) DRP Adapter DUT Adapter: SATAController Adapter SATASController Adapter DMATest Adapter Fernsteuerbarer Testcontroller für FPGAs Folie Nr. 18 von 22

4 Ergebnisse 4.1 FPGA Ressourcenbedarf VHDL Modul Register LUTs BlockRAM Gesamt (Kintex-7 325T) 407.600 203.800 445 PicoBlaze mit 2 ROM-Pages 79 194 4 SoFPGA mit 15 Devices 1336 1661 6 DUT Adapter 456 226 0 SATAController Stack (DUT) 1220 2137 10 Fernsteuerbarer Testcontroller für FPGAs Folie Nr. 19 von 22

4 Ergebnisse 4.2 Fernsteuerung per Kitty Fernsteuerbarer Testcontroller für FPGAs Folie Nr. 20 von 22

4 Ergebnisse 4.3 Wünschenswerte Verbesserungen Weitere PicoBlaze Devices: Timer Echtzeituhr mit Batteriebackup UDP/IP Integration Software: Interrupt-Handler-Routinen Co-Routinen / Asynchrone Programmierung Makrounterstützung (m4 oder cpp) [3] Fernsteuerbarer Testcontroller für FPGAs Folie Nr. 21 von 22

Quellen [1] http://www.xilinx.com/products/boards-and-kits/ek-k7-kc705-g.html#baseboard - Xilinx KC705 Evaluation Kit Produktbild [2] http://www.xilinx.com/ipcenter/processor_central/picoblaze/member/ - Xilinx PicoBlaze Sourcefiles (KCPSM6 Rev9 30.09.2014) - PicoBlaze for Spartan-6, Virtex-6, 7-Series, Zynq and UltraScale Devices (KCPSM6) - Ultra-Compact UART Macros for Spartan-6, Virtex-6 and 7-Series [3] https://code.google.com/p/opbasm/ - Open PicoBlaze Assembler von Kevin Thibedeau (v1.2.7) - m4 support for opbasm Fernsteuerbarer Testcontroller für FPGAs Folie Nr. 22 von 22