190 likes | 367 Views
FZI Forschungszentrum Informatik an der Universität Karlsruhe. Architekturentwurf und Emulation eingebetteter Systeme Probevortrag Karlheinz Weiss. Forschungszentrum Informatik, Karlsruhe. Gliederung. Einführung und Motivation Analyse bestehender Entwurfsmethoden
E N D
FZI Forschungszentrum Informatikan der Universität Karlsruhe Architekturentwurf und Emulation eingebetteter Systeme Probevortrag Karlheinz Weiss Forschungszentrum Informatik, Karlsruhe
Gliederung • Einführung und Motivation • Analyse bestehender Entwurfsmethoden • Definition der in dieser Arbeit eingeführten Methodik • 1. Stufe: Achitekturentwurf durch Bewertung von Komponenten • Systematische Bewertung von Auswahlkriterien • 2. Stufe: Überprüfung der Bewertung durch echtzeitfähige Emulation • Emulationsumgebung: SPYDER-System • Ergebnisse • Zusammenfassung • Ausblick
Umwelt SH3 7729-DSP Einführung: Eingebettetes System eingebettetes System anwendungsspezifische Software anwendungsspezifische Hardware Kommunikations- schnittstelle FPGA ASIC Mikrocontroller-Kern
Zusammenfassung: Motivation • Eingebettete Systeme bestehen aus wenigen, dafür aber hochintegrierten Bausteinen • Problemfelder beim Entwurf eingebetteter Systeme • Mikrocontroller • wenig Freiheitsgrade, gibt Randbedingungen vor, • steigendes Entwurfsrisiko • ASIC-Einbindung • große Freiheitsgrade mit signifikanten Entwurfsrisiken • höchste Auswahlpriorität (vor einem eigenem Entwurf) • Technologie • Echtzeitbetriebssysteme • Entwickler • Randbedingungen • immer kürzere Entwicklungszeiten, steigende Komplexität
HW-Architektur Nachteil: Verzögerung 3 Implementierung 4 SW-Architektur 5 Implementierung 6 Integration & Test Ende 7 Analyse angewandter Entwurfsmethoden Entwurfszeit In der Praxis eingesetzte Methode Spezifikation Start 1 Partitionierung in HW und SW 2 Meilen- steine Vorteile: - am weitesten verbreitet - ergebnisorientiert Nachteile: - Entwicklungsrisiko unkalkulierbar - Einschränkung der Auswahl [Gupta95]
- Gerichtete Graphen - Zusandsmaschinen - Nebenläufige Programmiersprachen Einheitliche Systembeschreibung Änderung der Partitionierung HW/SW- Partitionierung Einheitliche Darstellung Software-Synthese Schnittstellen- Synthese Hardware- Synthese System- Integration Analyse angewandter Entwurfsmethoden Methode: Hardware/Software Co-Design Gegenstand der Forschung Vorteile: - Auswahl anhand formaler Kriterien - frühzeitiger Einblick in das Systemverhalten - Implementierbar auf Rechnern Nachteile: - Keine einheitliche Systembeschreibung - Definition des Entwurfsraumes - Freiheitsgrade bei der Partitionierung in vielen eingebetteten Systemen nicht gegeben
Verbesserte HW/SW Part. 2. Stufe: Komponenten- Emulation 2. Stufe: Komponenten- Emulation neue Komp. Auswahl Software/ Firmware- Entwurf Hardware- Entwurf nein nein über- nehmen über- nehmen ja ja Systemintegration In dieser Arbeit eingeführten Methodik Spezifikation der Funtionalität Intiale Partitionierung und Komponentenauswahl Bibliothek 1.Stufe: Komponenten-Bewertung
Problemfeld: Technologie und Bauformen Problemfeld: Mikrocontroller Entscheidungsfeld Technologie Entscheidungsfeld Bus-Schnittstelle logische Bewertung implementierungsspezifische Bewertung Entscheidungsfeld Testbarkeit Entscheidungsfeld Initialisierung Gesamtbewertung HW-Komponente Problemfeld: ASIC-Einbindung Problemfeld: Echtzeitbetriebssysteme und Firmware 1.Stufe: Bewertung von Hardware Entscheidungsfeld Funktionalität
Eigenschaften des Mikro- controllers geben die Rand- bedingungen vor Quelle: Benutzerhandbuch Bus-Schnittstelle Bewertung durch Abgleich Eigenschaften der ASIC-Komponente Quelle: Benutzerhandbuch Komponente nicht verwendbar logisches Verhalten nein Koppel- logik nein ja ja + nein Zeitliches Verhalten ja 1.Stufe: Beispiel Bus-Schnittstelle
Zusammenfassung: 1.Stufe • Überprüfung des Entscheidungsfeldes Funktionalität ergibt entweder: • keine ASIC-Komponente Vorhanden, dann Eigenentwurf • oder eine oder mehrere Komponenten vorhanden • Bei vorhandenden Komponenten • erzeugt die Bewertung der ersten Stufe eine gewisse Rangliste • Aussagen bzgl. der logischen und implementierungs-spezifischen Eignung einer Komponete • Annahmen über die Komponenten werden durch Emulation in der zweiten Stufe überprüft • dazu notwendig: Werkzeugunterstützung (SPYDER-System) • interativer Prozeß
Paralleler Software Entwurf Paralleler Hardware- Entwurf PC PCI9080 Trennung Trennung 2.Stufe: Beweis durch Emulation specification Hardware partitioning Software SPYDER-CORE-P2 SPYDER-VIRTEX-X2 Konfiguration Integration (back-plane)
Hochintegrierte Logik Analysator Stecker EPROM 1 M x 8 RTOS: VxWorks BSP: TCP/IP, RS232, Flash HDI-Monitor GNU-C Umgebung Flash 1 M x 32 16MB SDRAM 10Base2 Ethernet SH3 7709A or 7729-DSP 133/66 MHz CAN CPLD Buffer Erweiter-ungs- stecker JTAG SER 0:2 connection to FPGA-tools 86 86 SPYDER-CORE-P2/SH3: Architektur
C-API-Routines for NT 4.0 Memory Add-On Board 4Meg x 32 SDRAM or 256k x 32 SSRAM or 1Meg x 32 Flash II Verbindung zu CORE-tools SSRAM 128k x 32 or SDRAM 4M x 32 SSRAM 128k x 32 or SDRAM 4M x 32 SPYDER-Virtex-X2: Architektur serielle EEPROMs 6 x 1Mbit Arbiter Externe FPGA Konfigurations stecker CPLD XC95144xl Konfiguration 86 Xilinx-Virtex-FPGA I PCI-interface Microcontroller XCV300...XCV800 PCI - SLOT 30 PLX-PCI9080 86 32 II BGA 432 Erweiterungsstecker I und II Stromversorgung + 2,5V / 10A + 3,3V / 3A hochintegrierte Logik Analysator Stecker
Lösungsansatz: -FSM-Arbiter in CPLD -Entwicklungsaufwand: 2 PM Resultat: -zeitverslust beim Umschalten -DMA-Leistung „signifikant“ unter spezifiziertem Wert CPLD Ergebnisse: Kommunikationsbereich Ausgangspunkt: - WAC-035D kann MPC860 und i960-Mode - MPC860-Variante wurde bereits verwendet - i960-Variante hat Fehler: Kein DMA - Fehleranalyse: 1 Personen-Monat Hauptspeicher-Block ATM DMA Mikrocontroller i960 ASIC WAC035-D localer Speicher Ethernet In Kooperation mit der Hilan Entwicklungs-GmbH, Karlsruhe
Ergebnisse: Industrielle Automation • Emulation des digitalen Teils der Schaltung auf SPYDER • Fehlererkennung, die bei Simulation nicht möglich war • mindestens ein Entwurfschritt eingespart (ca. 50.000$) • zusätzlich: 3 PM (entsprechend 20.000$) digitaler Teil analoger Teil In Kooperation mit American Microsystems Inc, Dresden
Ergebnisse: Automotive Bereich • SPYDER-Core-P2 • Emulation und Portierung von VxWorks auf SH3 • Aufwand: 1PM • Vergleich: Fa. Becker • ca. 6 PM bis VxWorks auf Target arbeitete • in 2000: Umstieg auf vorgestellte Methodik In Kooperation mit Becker Automotive Systems, Karlsbad
Zusammenfassung • Entwurfsmehtodik für eingebettete System • 1.Stufe: Bewertung von Komponeten (ASICs) • 2.Stufe: Emulation zur Überprüfung der Bewertung • Werkzeugunterstützung: SPYDER-SYSTEM • Paralleler Entwiklungsaubauf für Hardware und Software • echtzeitfähige Emulation • Ziel: Frühzeitiger Einblick in das interne System-Verhalten • Ergebnisse • drei Beispiele aus der Evaluierung der Methodik und der Werkzeuge • Hauptvorteile: • Beherrschung und Abschätzung des Entwicklungsrisikos • Verkürzung des Entwurfsablaufs
Ausblick • Bewertungskriterien dienen als Grundlage für automatische Auswahlverfahren zur Unterstüzung des Entwicklers • Implementierbar auf Rechner und Datenbanken • Weiterentwicklung der Emulationsumgebung SPYDER • Bereits in Arbeit: • SYPDER-CORE-P2/SH4-7751 PCI (Zusammenarbeit mit Hitachi) • SPYDER-Virtex-X3E (Zusammenarbeit mit Xilinx) • Evaluierung in der Methodik und Werkzeug durch mehrere Industrie-Partner und Universitäten