Ein Debugger für ASIC-Prototypen

Ähnliche Dokumente
Emulation und Rapid Prototyping. Hw-Sw-Co-Design

Emulation und Rapid Prototyping

Vortrag zum Hauptseminar Hardware/Software Co-Design

Configurable Embedded Systems

EHP Einführung Projekt A

Eingebettete Systeme. 4: Entwurf und Test. Technische Informatik T T T

STM32 - Schieberegister, SPI - u

Open Source - Mikrokontroller für Mixed Signal ASIC

Übungsblatt 2 Entwicklung und Test sequentieller Logik Abgabefrist: Mittwoch , 14:00 Uhr

CoreSight-Zugang auf dem ZedBoard. Alex Bereza

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

&R9HULILNDWLRQYRQ$50'HVLJQVPLW5LYLHUD,37

Laborübung 2. Teil 1: Latches, Flipflops, Counter. Abbildung 1: Schaltkreis eines Gated D-Latch

Vortrag zum Ergebnis der Literaturrecherche. Fehlerinjektion mittels Trace-Architektur auf einem Mips-Prozessor. Matthias Brinker

Lehrstuhl für Informatik 12 (Hardware-Software-Co-Design) Friedrich-Alexander-Universität Erlangen-Nürnberg Prof. Dr.-Ing. J.

Vorläufige Dokumentation

Hardware PCI-Bus. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg

Hardware PCI-Bus. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg

Übungsblatt 1. Einführung in die Xilinx Vivado FPGA Design Plattform

Outline Schieberegister Multiplexer Zähler Addierer. Rechenschaltungen. Marc Reichenbach und Michael Schmidt

PROJEKT WÜRFEL. von Vincent Bootz, Christoph Beigel, Matthias Ackermann. Projekt Würfel WS2002/03

PROJEKT WÜRFEL. von Vincent Bootz, Christoph Beigel, Matthias Ackermann. Projekt Würfel WS2002/03

Laborübung 4. Zustandsautomaten (Finite State Machines)

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

Speaker. Dominik Helleberg. Mobile Development Android / Embedded Tools.

Entwicklungsumgebung

12 VHDL Einführung (III)

Der Design- und Verifizierungsprozess von elektronischen Schaltungen. Y Diagramm

Übung Hardwareentwurf

Smart Metering: Entwicklung eines intelligenten Stromzählers

Semestralklausur Einführung in Computer Microsystems

Boundary Scan Days 2009

Wozu dient ein Logikanalysator?

Rechnerorganisation. 1. Juni 201 KC Posch

Betriebssysteme VO Betriebssysteme KU

Test & Diagnose digitaler! Systeme,! Prüffreundlicher Entwurf.!

Funktionale Sicherheit Testing unter

2.5.2 Prinzipieller Aufbau eines Boundary-Scan-fähigen Bausteins. 2.5 Boundary Scan (JTAG)

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

Embedded Board Test Seminar Dipl.-Ing. (FH) Martin Borowski

M I K R O P R O Z E SS O R P R A K T I K U M SS2018. Termin1. C-Programmierung für eingebettete Systeme

Praktikum Systementwurf mit VHDL HDL Design Lab

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

jinvent iolinker Press Kit

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

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

Ansteuerung eines LCD-Screens

Vorlesung Modellierung und Simulation heterogener Systeme

BASIC-Tiger Starter Kit. Tel: +49 (241) Fax: +49 (241)

2008 Jiri Spale, Programmierung in eingebetteten Systemen 1

Konzepte von Betriebssystemkomponenten. Gerätetreiber. Mario Körner

Physical Computing. Ralf Nolte. Bielefeld, 13. Dezember 2011

Dynamisches Testen von Embedded. Hans Georg Hermann ExpertControl GmbH

Eclipse. für die kleinen Dinge des (modernen) Lebens

VORSTELLUNG DER DIPLOMARBEIT

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

FAQ 12/2015. PROFINET IO- Kommunikation.

Datentechnik. Prinzipieller Aufbau eines Schnittstellenbausteins

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

Eine blinkende LED mit Xilinx ISE 13: das Hello World! der Hardware.

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

Computergestützter IC- Entwurf

Die Integration zukünftiger In-Car Multimedia Systeme unter Verwendung von Virtualisierung und Multi-Core Plattformen

Der Übungsrechner

Neues vom STRIP Forth-Prozessor

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

ccnuma Unterstützung Zustandsübergangsdiagramm MESIF

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

Vertiefungsrichtung Rechnerarchitektur

Marco Sliwa. Regional Sales Manager Deutschland JTAG Technologies B.V.

High Performance Embedded Processors

Modellbasierte Entwicklung und Verifikation von Sensor-SiPs

Die AVR Mikrocontrollerfamilie

Hardware Praktikum 2008

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

Profiling und Coverage mit GNU und Bare Embedded Systems

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

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

Outline Simulation Design-Richtlinien. VHDL Einführung 2. Marc Reichenbach. Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 05/14

Testautomatisierung. Schritthalten mit agiler Software-Entwicklung. Matthias Hölzer-Klüpfel

Projektlabor. LCD Ansteuerung

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

Verteiltes Debugging. Gemeinsames Debuggen in Saros

Wozu Verifikation? Der Entwurf eines 1 million gate ASIC benötigt ca Mann Tage Quality Assurance benötigt 50% der Zeit/des Geldes

Multi-Port-Speichermanager für die Java-Plattform SHAP

Montageanleitung. AS-i CONTROLLER e AC1305/AC / / 2005

Siemens AG Electronic Siemens Electronic Design and Design Manufacturing and Services. Produkte & Lösungen THE POWER OF IDEAS

Programmieren in Haskell Debugging

Outline Automaten FSM Synthesis FSM in VHDL FSM auf FPGA. State Machines. Marc Reichenbach und Michael Schmidt

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0

EINE MODULARE TESTPLATTFORM FÜR DAS PROTOTYPING VON DRAHTLOSEN SYSTEMEN

Einführung in VHDL. Dipl.-Ing. Franz Wolf

Modell-basierte Entwicklung mit der Timing Definition Language (TDL)

x86 Open Source Virtualisierungstechniken Thomas Glanzmann

Einbindung realer Hardwarekomponenten in objektorientierte Simulationsumgebungen

Linux auf dem Nios II Softcore Prozessor

GRAFIK 128x64 IN 2 GRÖSSEN MIT ST7565. preliminary

Diplomarbeit. Konzeption, Entwicklung und Implementierung einer modifizierten JTAG-Schnittstelle für In-Target Online-Software-Debugging

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

Transkript:

Jürgen Haufe 1, Matthias Gulbins 1, Peter Schwarz 1, Christoph Fritsch 2, Jens Große 3 1 für 2 Bosch Telecom 3 SharcWare 1

Gliederung Motivation für Hardware-Debugging Anforderungen und Methode Architekturvarianten eines HW-Debuggers Debuggerkomponenten Designflow Ausblick 2

Motivation für Hardware-Debugging Trotz treten Fehler auf beim Prototyping und In-System-Test RT- und Gate-Level-Simulation Statischer Timing-Analyse Formaler Verification Entwurfsspekifikation nicht ausreichend RTL-Simulation nicht vollständig Verwendung von Third-Party-Cores: RTL-Modelle nicht verfügbar oder nicht korrekt Verifikationsumgebung nicht ausreichend Mehrtaktsysteme, asynchrone I/O usw. Derzeitige Lösungen Wünsche der Entwerfer Testpins und Logikanalysatoren,... Lange Simulationsläufe, teilweise auf Gate-Level während der ASIC-Prototyp in Echtzeit arbeitet: vollständige Sichtbarkeit der HW-internen Knoten vollständige Modifizierbarkeit der HW-internen Knoten 3

Anforderungen an Hardware-Debbugging läuft in Echtzeit Debugger läuft in Echtzeit, rückwirkunsfrei auf - Timing Trace und Breakpoint-Erkennung in Echtzeit Update-Daten Breakpoints System- Umgebung Debugger ist unabhängig von -Technologie, aber vorrangig gedacht für FPGAs Steuerung über Rechnerinterface geeignet für übliche Designflows Plug-and-Play - Lösung Host-Interface Trace-Daten (Register, RAM) -Board : Device Under Test 4

Methode: Trace-Mode : Device Under Test Fehler Systemumgebung 0 Echtzeit Debugger interface Fehler erkannt im Echtzeitumgebung HW- Debugger Abtastwerte Simulator-Initialisierung mit Abtastwerten Simulationsumgebung Simulator 0 eingesparte Simulationszeit Fehler erkannt in Simulation Fehleranalyse-Intervall Simulationszeit 5

Methode: Update-Mode : Device Under Test Systemumgebung 0 Echtzeit Debugger interface -Initialisierung mit Simulationsergebnissen Echtzeitumgebung HW- Debugger Simulationsumgebung Simulator 0 eingesparte Simulationszeit Fehler erkannt in Simulation Fehleranalyse-Intervall Simulationszeit 6

Architekturvarianten eines HW-Debuggers Basisstruktur -Datenregister Trace-Mode Schattenregisterkette(n) HW-Debug-Controller RAM Host-Interface 7

Architekturvarianten eines HW-Debuggers HW-Debugger getrennt vom Debugger-Interface seriell geringe Datenrate wenige Pins On-chip Debugger-Komponenten wenig Fläche Separates Debugger-Board möglich RAM HW debug controller Host interface Separates Debugger- Board System- Umgebung Trace/Update Breakpoint Debugger-Interface zeitkritisch 8

Architekturvarianten eines HW-Debuggers HW-Debugger integriert im Debugger-Interface seriell maximale Datenrate wenige Pins On-chip Debugger-Komponenten maximale Fläche Debugger-Core möglich RAM Host interface HW- Debug- Controller Debugger-Interface zeitkritisch Trace/Update Breakpoint System- Umgebung 9

Architekturvarianten eines HW-Debuggers HW-Debugger-Kernel im Debugger-Interface parallel optimale Datenrate maximale Pinanzahl On-chip Debugger-Komponenten optimale Fläche Separates Debugger-Board möglich RAM HW- Debug- Controller Host- Interface Debugger-Interface HW- Debug- Kernel zeitkritisch System- Umgebung Trace/Update Breakpoint 10

11 Scahttenzelle Debugger-Komponenten HW- Debug Kernel Trace/Update Breakpoint C1 d q qb clk d upd clk q qb si so cpt sc se en ce 1E en 1D C1 1E 1D C1 1E 0 1 0 1 d upd clk si cpt sc se en ce q qb so 1D 1D 1S C1 2D 2S C2 2E 1E1 1E2

Debugger-Komponenten Breakpoint-Zelle HW debug kernel Trace/Update Breakpoint VHDL-Beispiel: if <breakcondition> then rtlbreak <= ë1í; else... end if; Register-Transfer-Level-Breakpoint = watched node gtlbreak Enable Reference Gate-Level-Breakpoint breakpoint cell path 12

Debugger-Komponenten On-chip Debugger-Kernel BoardReset HW- Debug- Kernel Trace/Update Breakpoint reset Update TraceOn TraceOff Read/Write Init Wait RAMinit Go Run+Trace Break TraceOff TraceOn Break Run 13

Debugger-Komponenten Debugger-Interface RAM Parallel Port RAM-Interface Data port 15.. 0 Host-Interface Start signal go HW Debug- Controller Host- Interface Addr port 16.. 0 Chip enable Mode trace Mode update HW- Debug Kernel Debugger-Interface 42 Pins Write enable Output enable User intervention Debugger busy Trace/Update Breakpoint break occurred 14

Designflow -Design.v(hd) optional RTLBreakInsert Synthesephase optional RTL Synthesis GTLBreakInsert GTL-Breakpoint-Zellen ShadowInsert Schattenzellen Linking HW-Debug-Kernel Place & Route Verifikationsphase HW2sim Steuerdaten Sim2HW Gate-Level-Simulation 15

Vorteil Nachteil Gegenwärtige Beschränkungen Ausblick erlaubt die Beobachtung und Modifikation aller Register eines ASIC-Prototypen technologie- und herstellerunabhängig rückwirkungsfrei echtzeitfähig Plug-and-Play -Lösung Debugger-Komponenten notwendig im Prototyp zusätzliche Pins notwendig keine Abbildung von Trace-Daten in das RT-Level keine Unterstützung von embedded RAM nur Eintaktsysteme keine kontinuierlicher I/O-Signalabttastung Beseitigung der gegenwärtigen Beschränkungen Separates Debugger-Board Ausblick 16

Ausblick Anwendungen Fehlersuche beim Prototyping Data Logging Fehleremulation begrenzte temporäre Schaltungsmodifikation ohne Redesign gezielte Zustandsänderung der Schaltungsregister IP-Core-Test im Schaltkreis elementarer SW-Debugger für Prozessor-Cores... 17