Lehrstuhl für Allgemeine Elektrotechnik und Datenverarbeitungssysteme RWTH Aachen Entwurf von anwendungsspezifischen Prozessoren (ASIPs) für Satellitennavigationsempfänger Lea Fischer
GPS-Anwendungen Navigation Flottenmanagment Geotagging Location Based Services Location Based Encryption Outdoor- und Freizeitaktivitäten Land- und Forstwirtschaft Gaming Lokalisierung von Kindern und Bedürftigen Versicherungen Zeittransfer …
Motivation GPS – Global Positioning System ► Vielfältige Einsatzgebiete ► Weite Verbreitung »Entwicklung von kostengünstigen anwendungsspezifischen Satellitennavigationsempfänger für den Massenmarkt
Übersicht ASIP CoWare Processor Design / LISA Simulation Modelsim vs. LISA Fazit
Definition Ein Application Specific Instructionset Processor (ASIP) ist ein programmierbarer Prozessor, dessen Instruktionssatz für eine Klasse von Algorithmen ähnlicher Anforderungen optimiert wurde.
Standard Prozessor ↔ ASIP Verfügen über einen an eine Anwendung angepassten Instruktionssatz ► Hohe Flexibilität (Programmierbarkeit) und (!) ► Hohe Flächen- und Energie-Effizienz vs. Erhöhter Entwurfsaufwand aufgrund der Abhängigkeit von Prozessorhardware und Software-Entwurfswerkzeugen
Effiziente Satellitennavigationsempfänger Ziel: Mobile Endgeräte mit bestmöglicher Navigationsleistung Mobile Endgeräten sind meist batteriebetrieben ► Energie-Effizienz Navigationsleistung steigt bei Unterstützung von mehr Systemen (Galileo, Compass, Glonass) ► Flexibilität „Effizienz vs. Flexiblitätskonflikt“
Standard Prozessor ↔ ASIP Energie- und Flächeneffizienz (Quelle: EECS) 1E-05 1E-04 1E-03 1E-02 1E-01 1E+00 1E+01 1E+02 1E+001E+011E+021E+031E+041E+051E+06 MOPS / mm 2 mW / MOPS FPGA DSP ASIP GP-processor programmable Pentium MMX 266 Cyclone FPGA Correlator (GPS) TMS320C642 reconfigurable dedicated 180 nm CMOS physically optimized standard cells abnehmende Flexibilität steigende Effizienz
ASIP Design Flow Architecture Description Architecture Description Software Tools Linker Assembler Compiler Simulator Processor Designer Processor Designer Executable Simulator Verification (FPGA) Verification (FPGA) Standard Cell Synthesis Standard Cell Synthesis Cost Analysis Cost Analysis VHDL/Verilog Description VHDL/Verilog Description C/C++ Application
Übersicht ASIP CoWare Processor Design / LISA Simulation Modelsim vs. LISA Fazit
Allgemeine Informationen LISA - Language for Instruction Set Architectures ► Sprache, welche die formale Beschreibung von programmierbaren Strukturen, deren Peripheriegeräten und externen Schnittstellen ermöglicht. CoWare Processor Designer ► Design Automation Tool für anwendungsspezifische, eingebettete Prozessoren und programmierbare Beschleuniger (Akzelerator) Für eine Spezifizierung in LISA erzeugt der Processor Designer ein HDL-Model und Software-Entwicklungswerkzeuge
Code-Ausschnitte
C++ - Modell CoWare Processor Designer erzeugt ein C++ - Modell des Prozessors C++ - Modell arbeitet zyklengenau C++ - Modell stellt eine API des CoWare Processor Debuggers zur Verfügung
API Ausführen einer Anwendung auf dem ASIP Integration oder Kopplung der C++-Beschreibung des ASIPs mit anderen in C++ beschriebenen Komponenten Möglichkeiten: ► Darstellung des Zustands eines Prozessors ► Initialisierung der Simulatoreigenschaften ► Verwendung von Breakpoint-Interfaces und -Observer ► Konfiguration von Profiling-Modellen ► Steuerung des „Loaders“ ► Ansprechen des generierten Disassemblers
Übersicht ASIP CoWare Processor Design / LISA Simulation Modelsim vs. LISA Fazit
Motivation der Bachelorarbeit Effizienz des ASIPs in dem Satellitennavigationsempfänger sollte erhöht werden → Kopplung einer externen Einheit Simulation zur funktionalen Überprüfung erfolgte standardmäßig mit einem VHDL Simulator (Modelsim) Vergleich der Simulationsgeschwindigkeit von Modelsim und LISA- Simulator ModelsimLISA Simulationsdauer in Sekunden 90015
Motivation der Bachelorarbeit Problem: In der Zielanwendung, einer Positionsschätzung, muss mehrere Sekunden simuliert werden Modelsim ist zu langsam Lösung: Ein veränderter Simulationsablauf
Veränderter Simulationsablauf
Übersicht ASIP CoWare Processor Design / LISA Simulation Modelsim vs. LISA Fazit
Fazit ASIPs sind eine viel versprechende Plattform für Anwendungen, bei denen Flexibilität und Flächen- und Energie-Effizienz gefragt sind Mit Hilfe des Processor Designers von CoWare und der Sprache LISA, lässt sich ein solcher Prozessor benutzerfreundlich entwickeln und optimieren Lange Simulationszeiten der ASIP/Co-Prozessor-Architektur für eine PVT-Berechnung erfordern Simulation auf C/C++-Ebene
Lehrstuhl für Allgemeine Elektrotechnik und Datenverarbeitungssysteme RWTH Aachen Fragen ? Vielen Dank für Ihre Aufmerksamkeit
Anhang
Prozessoraufbau Prozessoraufbau (Quelle: Vorlesung IT-Systeme; Benedikt Magrean, Folie 35/36) Register Rechenwerk (Datenprozessor) Leitwerk (Befehlsprozessor) Speichermanager
Von-Neumann-Zyklus Abarbeitung eines Maschinenbefehls durch das Steuerwerk mit dem Prinzip des Von-Neumann-Zyklus: FROW – Fetch-Vorgang (F) Read-Vorgang (R) Operation-Vorgang (O) Write-Vorgang (W)
Pipelining Ablauf der Befehlsbearbeitung beim Pipelining (Quelle: Vorlesung IT-Systeme; Benedikt Magrean, Folie 82) Befehl 1 FROW Befehl 2 FROW Befehl 3 FROW Befehl 4 FROW Prozessor- takt
Pipelining - Hazards Ressourcenkonflikte Datenkonflikte ► Auf Befehlsebene ► Auf Transferebene Kontrollflusskonflikte
LISA Processor Designer
LISA Debugger
LISA Processor Generator
Prinzip der Satellitennavigation Empfängerposition und Zeit Satellitenposition Entfernungsmessung Satellitenposition
GNSS Empfängerarchitekturen Host-Based Empfänger SiRFstarIV Broadcom BCM4750 NXP GNS Single-Chip Empfänger SiRFstarIII Sony CXD2951 STM STA5058 uBlox UBX-G SDR-Empfänger NSL Primo R&D Beispiele für kommerzielle GPS-Empfänger
GNSS Comparison GPSGalileoGlonassCompass Modulation SchemeCDMA (BPSK(1)) CDMA (BOC(1,1)) FDMACDMA (BPSK(2)) Center Frequency in MHz n* , ( ) Chip rate in MHz CA-Code Period Length in Chips CA-Code Period Length in ms1411 Null-to-Null Bandwidth in MHz CA-Code GenerationShift RegisterMemoryShift Register Bit Rate in Hz ? Minimum Received Power in dBW ? Number of Satellites (2008) Relevant Frequencies in L1 Band
Empfänger GUI