system-on-a-chip konzepte für die telemetrie- und ...ubicomp/projekte/master2009... · kolloquium...
TRANSCRIPT
Kolloquium zur AW1-Ausarbeitung von Felix KolbeKolloquium zur AW1-Ausarbeitung von Felix Kolbe
System-on-a-Chip Konzepte fürSystem-on-a-Chip Konzepte fürdie Telemetrie- und Steuerungskomponentendie Telemetrie- und Steuerungskomponenten
in einem Formula Student Rennwagenin einem Formula Student Rennwagen
Hochschule für Angewandte Wissenschaften Hamburg, 13.01.09Hochschule für Angewandte Wissenschaften Hamburg, 13.01.09
Kolloquium zur AW1-Ausarbeitung von Felix Kolbe, HAW Hamburg, 13.01.09 2
VortragstrukturVortragstruktur
Ziel und Anwendung der AusarbeitungZiel und Anwendung der Ausarbeitung SystemumgebungSystemumgebung
Formula Student RennwagenFormula Student Rennwagen TelemetriesystemeTelemetriesysteme SteuerungskomponentenSteuerungskomponenten
Anforderungen der SystemeAnforderungen der Systeme Entlastung durch Hardware-KomponentenEntlastung durch Hardware-Komponenten HW/SW-Codesign und System-on-a-ChipHW/SW-Codesign und System-on-a-Chip
Amdahl's LawAmdahl's Law Grundlagen der PartitionierungGrundlagen der Partitionierung MicroBlaze als aktuelles SoC-DesignMicroBlaze als aktuelles SoC-Design AusblickAusblick
Kolloquium zur AW1-Ausarbeitung von Felix Kolbe, HAW Hamburg, 13.01.09 3
Ziel und Anwendung der AusarbeitungZiel und Anwendung der Ausarbeitung
Überblick über Aspekte des SoC-DesignsÜberblick über Aspekte des SoC-Designs Aufdeckung von vertiefungsgeeigneten ThemenAufdeckung von vertiefungsgeeigneten Themen
Anwendungsbezug:Anwendungsbezug:Telemetrie- und Fahrassistenzsystem des Formula Telemetrie- und Fahrassistenzsystem des Formula Student RennwagensStudent Rennwagens Verbesserung des Mikrocontroller-Systems durch Verbesserung des Mikrocontroller-Systems durch
HW-Komponenten bzw. SoC-KonzepteHW-Komponenten bzw. SoC-Konzepte Partitionierung anhang bestehender SoftwarePartitionierung anhang bestehender Software
✔ bisherige und zusätzliche gewünschte bisherige und zusätzliche gewünschte Funktionalität in SW und HW teilenFunktionalität in SW und HW teilen
Kolloquium zur AW1-Ausarbeitung von Felix Kolbe, HAW Hamburg, 13.01.09 4
Formula Student RennwagenFormula Student Rennwagen
Studentische EinsitzerStudentische Einsitzer Entwicklungsziele:Entwicklungsziele:
Optimales FahrverhaltenOptimales Fahrverhalten Hohe BeschleunigungHohe Beschleunigung Hohe ZuverlässigkeitHohe Zuverlässigkeit Hohe WartbarkeitHohe Wartbarkeit Geringes GewichtGeringes Gewicht Geringer PreisGeringer Preis
H04 in Hockenheim
© FSG
Kolloquium zur AW1-Ausarbeitung von Felix Kolbe, HAW Hamburg, 13.01.09 5
TelemetriesystemeTelemetriesysteme
Messen, Protokollieren und Fernüberwachen des Messen, Protokollieren und Fernüberwachen des FahrzeugzustandesFahrzeugzustandes FehlerdiagnoseFehlerdiagnose OptimierungshilfeOptimierungshilfe Abwendung von DefektenAbwendung von Defekten
10 16-MHz-µC mit Task-Scheduler10 16-MHz-µC mit Task-Scheduler 30 Sensoren aktuell, 90 im Zielkonzept30 Sensoren aktuell, 90 im Zielkonzept
Fernüberwachung neben der Rennstrecke
Kolloquium zur AW1-Ausarbeitung von Felix Kolbe, HAW Hamburg, 13.01.09 6
SteuerungskomponentenSteuerungskomponenten
FahrsicherheitssystemeFahrsicherheitssysteme Antriebs-Schlupf-RegelungAntriebs-Schlupf-Regelung Anti-Blockier-SystemAnti-Blockier-System Elektronisches-Stabilitäts-ProgrammElektronisches-Stabilitäts-Programm
FahrassistenzsystemeFahrassistenzsysteme AutomatikschaltungAutomatikschaltung StartautomatikStartautomatik
H04 ohne ASR in
Silverstone
Kolloquium zur AW1-Ausarbeitung von Felix Kolbe, HAW Hamburg, 13.01.09 7
VortragstrukturVortragstruktur
Ziel und Anwendung der AusarbeitungZiel und Anwendung der Ausarbeitung SystemumgebungSystemumgebung
Formula Student RennwagenFormula Student Rennwagen TelemetriesystemeTelemetriesysteme SteuerungskomponentenSteuerungskomponenten
Anforderungen der SystemeAnforderungen der Systeme Entlastung durch Hardware-KomponentenEntlastung durch Hardware-Komponenten HW/SW-Codesign und System-on-a-ChipHW/SW-Codesign und System-on-a-Chip
Amdahl's LawAmdahl's Law Grundlagen der PartitionierungGrundlagen der Partitionierung MicroBlaze als aktuelles SoC-DesignMicroBlaze als aktuelles SoC-Design AusblickAusblick
Kolloquium zur AW1-Ausarbeitung von Felix Kolbe, HAW Hamburg, 13.01.09 8
Anforderungen der SystemeAnforderungen der Systeme
Telemetrie- und FahrassistenzsystemeTelemetrie- und Fahrassistenzsysteme Eingebettete SystemeEingebettete Systeme Umfangreiche AnforderungenUmfangreiche Anforderungen
✔ Geringer Stückpreis, geringer Geringer Stückpreis, geringer Energieverbrauch, Hohe Rechenleistung, Energieverbrauch, Hohe Rechenleistung, Echtzeitanforderungen (Mess- & Regelzyklen)Echtzeitanforderungen (Mess- & Regelzyklen)
Erhöhung der System-Rechenleistung durch:Erhöhung der System-Rechenleistung durch: Erhöhung durch TaktfrequenzErhöhung durch Taktfrequenz
✔ Begrenzt möglichBegrenzt möglich✔ Steigende StöranfälligkeitSteigende Störanfälligkeit
Hinzufügen weiterer CPUs/µCHinzufügen weiterer CPUs/µC✔ Erhöhter KommunikationsaufwandErhöhter Kommunikationsaufwand
Andersweitige Entlastung von CPUs erforderlichAndersweitige Entlastung von CPUs erforderlich
Kolloquium zur AW1-Ausarbeitung von Felix Kolbe, HAW Hamburg, 13.01.09 9
Entlastung durch HW-KomponentenEntlastung durch HW-Komponenten
SW/CPU kontrolliert den ProgrammablaufSW/CPU kontrolliert den Programmablauf
KommunikationKommunikation
FehlerbehandlungFehlerbehandlung
HW/FPGA ist Dienstleister für CPUHW/FPGA ist Dienstleister für CPU
Beschleunigung von komplexen BerechnungenBeschleunigung von komplexen Berechnungen
✔ PrüfsummenPrüfsummen
✔ FilterFilter
Abwicklung von zyklischen NebenaufgabenAbwicklung von zyklischen Nebenaufgaben
✔ SensorwerterfassungSensorwerterfassung
✔ Aktorbedienung (z.B. PWM)Aktorbedienung (z.B. PWM)
Kolloquium zur AW1-Ausarbeitung von Felix Kolbe, HAW Hamburg, 13.01.09 10
Hardware/Software-CodesignHardware/Software-Codesign
SW-Sourcecodefür CPU/µC
HW-Sourcecodefür CPLD/FPGA
HW/SW-CodesignVereinigung der Vorzüge
System-on-a-ChipEin Halbleiterchip für alle Komponenten
CPU + ALU + RAM----------------= flexibel+ sequentiell
Gates+ I/Os+ taktbare-----------------= festgelegt+ nebenläufig
Kolloquium zur AW1-Ausarbeitung von Felix Kolbe, HAW Hamburg, 13.01.09 11
Amdahl’s LawAmdahl’s Law
Berechnung der maximalen BeschleunigungBerechnung der maximalen Beschleunigung Bisherige Ausführungszeit: tBisherige Ausführungszeit: t Parallelisierbare Fraktion: f Parallelisierbare Fraktion: f ЄЄ [0..1] [0..1] Nicht parallelisierbare Fraktion: 1-fNicht parallelisierbare Fraktion: 1-f
Faktor der Parallelisierbarkeit von f: sFaktor der Parallelisierbarkeit von f: s
Faktor der Gesamtbeschleunigung: s'Faktor der Gesamtbeschleunigung: s'
t = f⋅t1− f ⋅t
t '= f⋅ts
1− f ⋅t
s '= tt '=
1fs1− f
Kolloquium zur AW1-Ausarbeitung von Felix Kolbe, HAW Hamburg, 13.01.09 12
VortragstrukturVortragstruktur
Ziel und Anwendung der AusarbeitungZiel und Anwendung der Ausarbeitung SystemumgebungSystemumgebung
Formula Student RennwagenFormula Student Rennwagen TelemetriesystemeTelemetriesysteme SteuerungskomponentenSteuerungskomponenten
Anforderungen der SystemeAnforderungen der Systeme Entlastung durch Hardware-KomponentenEntlastung durch Hardware-Komponenten HW/SW-Codesign und System-on-a-ChipHW/SW-Codesign und System-on-a-Chip
Amdahl's LawAmdahl's Law Grundlagen der PartitionierungGrundlagen der Partitionierung MicroBlaze als aktuelles SoC-DesignMicroBlaze als aktuelles SoC-Design AusblickAusblick
Kolloquium zur AW1-Ausarbeitung von Felix Kolbe, HAW Hamburg, 13.01.09 13
Grundlagen der PartitionierungGrundlagen der Partitionierung
[Vahid]
Teilung der Funktionalität in Software- und Teilung der Funktionalität in Software- und Hardware-AnteileHardware-Anteile
Kolloquium zur AW1-Ausarbeitung von Felix Kolbe, HAW Hamburg, 13.01.09 14
Regionen und GranularitätRegionen und Granularität
Partitionierung: Funktionalität in Regionen aufteilenPartitionierung: Funktionalität in Regionen aufteilen
Region in SW xor HW implementiertRegion in SW xor HW implementiert 2 Möglichkeiten pro Region2 Möglichkeiten pro Region
n Regionen führen zu 2n Regionen führen zu 2nn theoretischen theoretischen PartitionierungenPartitionierungen Problem mit exponentieller KomplexitätProblem mit exponentieller Komplexität
Regionengranularität:Regionengranularität: Funktionen, Code-Blöcke, SchleifenFunktionen, Code-Blöcke, Schleifen Komplexität vs. OptimierungKomplexität vs. Optimierung Unterschiedliche Granularität je Unterschiedliche Granularität je
nach Ausführungshäufigkeitnach Ausführungshäufigkeit
Kolloquium zur AW1-Ausarbeitung von Felix Kolbe, HAW Hamburg, 13.01.09 15
PartitionierungsmethodenPartitionierungsmethoden
AlgorithmenAlgorithmen Knapsack problemKnapsack problem Iteratives VorgehenIteratives Vorgehen Kosten-Nutzen-AnalyseKosten-Nutzen-Analyse
VerfahrensoptimierungenVerfahrensoptimierungen Kürzere Heuristiken statt SyntheseKürzere Heuristiken statt Synthese Erweiterte Charakterisierung der RegionenErweiterte Charakterisierung der Regionen
AusgangskonstellationAusgangskonstellation All-in-SW, all-in-HW, all-blankAll-in-SW, all-in-HW, all-blank
Optimierungsziele (Metriken)Optimierungsziele (Metriken) Performanz, ChipflächePerformanz, Chipfläche EnergieverbrauchEnergieverbrauch Implementierungskosten, EntwicklungskostenImplementierungskosten, Entwicklungskosten Zuverlässigkeit, WartbarkeitZuverlässigkeit, Wartbarkeit
Kolloquium zur AW1-Ausarbeitung von Felix Kolbe, HAW Hamburg, 13.01.09 16
Alternative ImplementationsAlternative Implementations
Verschiedene Implementierungen von AlgorithmenVerschiedene Implementierungen von Algorithmen Unterschiedlich gut in SW/HW umsetzbarUnterschiedlich gut in SW/HW umsetzbar Parallel -> schnell, viele GatterParallel -> schnell, viele Gatter Sequentiell -> langsam, wenig GatterSequentiell -> langsam, wenig Gatter Gatterzahl vs. BerechnungszeitGatterzahl vs. Berechnungszeit
// 100 Multiplikationenint a[100], b[100], c[100];for( i=0; i<100; i++ )
c[i] = a[i]* b[i];
[Vahid]
●Aufwand je nach Umsetzung:a: 100 Multiplizierer, 1 Schrittb: 1 Multiplizierer, 100 Schrittec: 2 Multiplizierer, 50 Schritte
Kolloquium zur AW1-Ausarbeitung von Felix Kolbe, HAW Hamburg, 13.01.09 17
Kopplung von CPU und FPGAKopplung von CPU und FPGA
Anbindung der Beschleuniger an CPUAnbindung der Beschleuniger an CPU Register: schnell, begrenzte AnzahlRegister: schnell, begrenzte Anzahl Adress-Daten-BusAdress-Daten-Bus PeripheriebusPeripheriebus
[Vahid]
Kolloquium zur AW1-Ausarbeitung von Felix Kolbe, HAW Hamburg, 13.01.09 18
Ausführungsfenster von CPU und FPGAAusführungsfenster von CPU und FPGA
alternierend oder überlappendalternierend oder überlappend Überlappung kürzt Leerlauf und Zyklusdauer, Überlappung kürzt Leerlauf und Zyklusdauer,
erfordert ggf. Mehraufwand durch erfordert ggf. Mehraufwand durch DatensynchronisationDatensynchronisation
[Vahid]
Kolloquium zur AW1-Ausarbeitung von Felix Kolbe, HAW Hamburg, 13.01.09 19
MicroBlaze als aktuelles SoC-DesignMicroBlaze als aktuelles SoC-Design
Konfigurierbarer Softcore-Mikrocontroller für Xilinx-Konfigurierbarer Softcore-Mikrocontroller für Xilinx-FPGAs als Element eines SoCFPGAs als Element eines SoC
Peripherie/Beschleuniger durch Konfiguration des Peripherie/Beschleuniger durch Konfiguration des restlichen FPGA-Anteils -> µCrestlichen FPGA-Anteils -> µC
Ankopplung an µBlaze überAnkopplung an µBlaze über✔ Processor Local Bus (IBM Core Connect Processor Local Bus (IBM Core Connect
Technologie)Technologie)✔ FSL (Fast Simplex Link)FSL (Fast Simplex Link)✔ DCR (Device control Register)DCR (Device control Register)
Programmierbar wie üblicher µCProgrammierbar wie üblicher µC
Kolloquium zur AW1-Ausarbeitung von Felix Kolbe, HAW Hamburg, 13.01.09 20
Architektur des MicroBlaze-SoCsArchitektur des MicroBlaze-SoCs
[Xilinx]
Kolloquium zur AW1-Ausarbeitung von Felix Kolbe, HAW Hamburg, 13.01.09 21
SoC mit Nexys-2 EntwicklungsboardSoC mit Nexys-2 Entwicklungsboard
HW-Beschleuniger FPGA XC3S1200EHW-Beschleuniger FPGA XC3S1200E 1,2 Mio Gatter1,2 Mio Gatter Zum Vergleich: µP68000 mit ca. 17100 GatternZum Vergleich: µP68000 mit ca. 17100 Gattern
Softcore MikrocontrollerSoftcore Mikrocontroller 3 oder 5-stufige Pipeline-ALU3 oder 5-stufige Pipeline-ALU 32 Bit RISC32 Bit RISC 50 MHz50 MHz
112$112$
[Xilinx][Digilent]
Kolloquium zur AW1-Ausarbeitung von Felix Kolbe, HAW Hamburg, 13.01.09 22
AusblickAusblick
Methodisch:Methodisch: Algorithmen und HeuristikenAlgorithmen und Heuristiken Automatisierte PartitionierungAutomatisierte Partitionierung
✔ Modellierung von HW auf der Ebene von SWModellierung von HW auf der Ebene von SW✗ z.B. mit SystemC, SystemVerilogz.B. mit SystemC, SystemVerilog
✔ XPRES CompilerXPRES Compiler✔ Alternative ImplementationsAlternative Implementations✔ Erschwert durch Pointer, Memalloc und Erschwert durch Pointer, Memalloc und
RekursionRekursion
Operativ:Operativ: Alternativlösung zu bestehendem System des Alternativlösung zu bestehendem System des
Rennwagens entwickelnRennwagens entwickeln✔ auf Basis eines SoC-Konzeptes auf Basis eines SoC-Konzeptes ✔ z.B. mit dem Nexys-2-Entwicklungsboardz.B. mit dem Nexys-2-Entwicklungsboard
Kolloquium zur AW1-Ausarbeitung von Felix Kolbe, HAW Hamburg, 13.01.09 23
VortragstrukturVortragstruktur
Ziel und Anwendung der AusarbeitungZiel und Anwendung der Ausarbeitung SystemumgebungSystemumgebung
Formula Student RennwagenFormula Student Rennwagen TelemetriesystemeTelemetriesysteme SteuerungskomponentenSteuerungskomponenten
Anforderungen der SystemeAnforderungen der Systeme Entlastung durch Hardware-KomponentenEntlastung durch Hardware-Komponenten HW/SW-Codesign und System-on-a-ChipHW/SW-Codesign und System-on-a-Chip
Amdahl's LawAmdahl's Law Grundlagen der PartitionierungGrundlagen der Partitionierung MicroBlaze als aktuelles SoC-DesignMicroBlaze als aktuelles SoC-Design AusblickAusblick
Kolloquium zur AW1-Ausarbeitung von Felix Kolbe, HAW Hamburg, 13.01.09 24
QuellenverweiseQuellenverweise
[Vahid] — VAHID, F. ; STITT, G.: Hardware/Software [Vahid] — VAHID, F. ; STITT, G.: Hardware/Software Partitioning. Kap. 26, S. 539–560. In: HAUCK, S. Partitioning. Kap. 26, S. 539–560. In: HAUCK, S. (Hrsg.) ; DEHON, A. (Hrsg.): Reconfigurable (Hrsg.) ; DEHON, A. (Hrsg.): Reconfigurable Computing : The Theory and Practice of FPGA-Based Computing : The Theory and Practice of FPGA-Based Computation, Morgan Kaufmann/Elsevier, 2008. – Computation, Morgan Kaufmann/Elsevier, 2008. – ISBN 0-12-370522-3ISBN 0-12-370522-3
[Xilinx] — XILINX, Inc.: MicroBlaze Processor. 2008. – [Xilinx] — XILINX, Inc.: MicroBlaze Processor. 2008. – URL http://www.xilinx.com/products/ URL http://www.xilinx.com/products/ design_resources/proc_central/microblaze.htm – design_resources/proc_central/microblaze.htm – Abruf: 2009-01-12Abruf: 2009-01-12
[Digilent] — Digilent, Inc.: Nexys-2. 2008. – URL [Digilent] — Digilent, Inc.: Nexys-2. 2008. – URL http://www.digilentinc.com/Products/Detail.cfm?http://www.digilentinc.com/Products/Detail.cfm?Prod=NEXYS2 – Abruf: 2009-01-12Prod=NEXYS2 – Abruf: 2009-01-12