ebook img

Entwicklung Eingebetteter Systeme: Vergleich von Entwicklungsprozessen für FPGA- und Mikroprozessor-Systeme Entwurf auf Systemebene PDF

328 Pages·2014·4.038 MB·German
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Entwicklung Eingebetteter Systeme: Vergleich von Entwicklungsprozessen für FPGA- und Mikroprozessor-Systeme Entwurf auf Systemebene

Ralf Gessler Entwicklung Eingebetteter Systeme Vergleich von Entwicklungsprozessen für FPGA- und Mikroprozessor-Systeme Entwurf auf Systemebene Entwicklung Eingebetteter Systeme Ralf Gessler Entwicklung Eingebetteter Systeme Vergleich von Entwicklungsprozessen für FPGA- und Mikroprozessor-Systeme Entwurf auf Systemebene RalfGessler CampusKünzelsau HochschuleHeilbronn Ravensburg,Deutschland ISBN978-3-8348-1317-6 ISBN978-3-8348-2080-8(eBook) DOI10.1007/978-3-8348-2080-8 DieDeutscheNationalbibliothekverzeichnetdiesePublikationinderDeutschenNationalbibliografie;de- tailliertebibliografischeDatensindimInternetüberhttp://dnb.d-nb.deabrufbar. SpringerVieweg ©SpringerFachmedienWiesbaden2014 DasWerkeinschließlichallerseinerTeileisturheberrechtlichgeschützt.JedeVerwertung,dienichtaus- drücklichvomUrheberrechtsgesetzzugelassenist,bedarfdervorherigenZustimmungdesVerlags.Dasgilt insbesonderefürVervielfältigungen,Bearbeitungen,Übersetzungen,MikroverfilmungenunddieEinspei- cherungundVerarbeitunginelektronischenSystemen. DieWiedergabevonGebrauchsnamen,Handelsnamen,Warenbezeichnungenusw.indiesemWerkbe- rechtigtauchohnebesondereKennzeichnungnichtzuderAnnahme,dasssolcheNamenimSinneder Warenzeichen-undMarkenschutz-Gesetzgebungalsfreizubetrachtenwärenunddahervonjedermann benutztwerdendürften. Produkthaftung:FürAngabenüberDosierungsanweisungenundApplikationsformenkannvomVerlag keineGewährübernommenwerden.DerartigeAngabenmüssenvomjeweiligenAnwenderimEinzelfall anhandandererLiteraturstellenaufihreRichtigkeitüberprüftwerden. GedrucktaufsäurefreiemundchlorfreigebleichtemPapier. Springer ViewegisteineMarkevon SpringerDE.Springer DEistTeilderFachverlagsgruppeSpringer Science+BusinessMedia www.springer-vieweg.de Vorwort DasBuchliefertinTheorieundPraxiseinedurchgehendeundvollständigeDar- Titel stellung des Entwicklungs-Prozesses von Eingebetten Systemen mit den Pha- sen Analyse, Entwurf, Implementierung und Test. Die Schwerpunkte liegen im Entwurf auf Systemebene und im Vergleich der Entwicklung von FPGA- und Mikroprozessor-Systemen. Die Arbeit dient auch der technischen und ökologischen Entscheidungshilfe. Zahlreiche Praxis-Beispiele, -Aufgaben, Einstiegshilfen und Literaturhinweise Didaktik zur weiteren Vertiefung runden das Werk ab. Ich möchte mich bei Herrn Günther Hunn für die sprachliche Überprüfung des Danksagung Manuskriptes bedanken. Herrn Dapper und Frau Brossler vom Springer Vie- weg Verlag gilt mein Dank für das Lektorat. Des Weiteren danke ich den Stu- dierendendesStudiengangesElektrotechnikundAntriebssysteme/Mechatronik der Hochschule Heilbronn am Campus Künzelsau. Sie haben durch zahlreiche Projektarbeiten, Bachelor- und Masterthesen das vorliegende Buch maßgeblich geprägt. Weiterführende Hinweise zum Buch „Entwurf Eingebetteter Systeme“ finden Internet sich auf der Verlagsseite1 im Internet (URL2). Das Buch „Hardware-Software-Codesign“ [GM07] kann als Grundlagenwerk für Literatur den„EntwurfEingebetteterSysteme“ gelten.WeitereApplikationenimBereich Eingebettete Funksysteme zeigt das Buch „Wireless-Netzwerke für den Nahbe- reich“ [GK09]. Ravensburg, im Februar 2014 Ralf Gessler 1URL:http://www.springer.com 2URL=UniformResourceLocator V Inhaltsverzeichnis Vorwort V Abkürzungsverzeichnis XI 1 Einleitung 1 2 Eingebettete Systeme 7 2.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2 Entwicklung . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2.1 Software-Entwicklung . . . . . . . . . . . . . . . . . . 13 2.2.2 Rechnerarchitekturen . . . . . . . . . . . . . . . . . . 13 2.2.3 Rechenbaustein und Hardware-Technologie . . . . . . 15 2.2.4 Rechenmaschine . . . . . . . . . . . . . . . . . . . . 17 2.3 Lösungsraum . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.3.1 Energieverbrauch . . . . . . . . . . . . . . . . . . . . 23 2.3.2 Echtzeit-Datenverarbeitung . . . . . . . . . . . . . . 27 2.4 Abgrenzung . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.4.1 Digitale Systeme . . . . . . . . . . . . . . . . . . . . 32 2.4.2 Digitale Schaltungstechnik . . . . . . . . . . . . . . . 35 2.4.3 Digitale Signalverarbeitung . . . . . . . . . . . . . . . 37 2.5 Übersicht Rechenmaschinen . . . . . . . . . . . . . . . . . . 42 2.6 Mikroprozessoren . . . . . . . . . . . . . . . . . . . . . . . . 45 2.6.1 Grundlegende Funktionsweise . . . . . . . . . . . . . 45 2.6.2 Schnittstelle zwischen Hardware und Software . . . . 55 2.6.3 Arten . . . . . . . . . . . . . . . . . . . . . . . . . . 57 2.6.4 Digitale Signalprozessoren . . . . . . . . . . . . . . . 60 2.7 FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 2.7.1 Einordnung Schaltkreise . . . . . . . . . . . . . . . . 68 2.7.2 PLD-Architekturen . . . . . . . . . . . . . . . . . . . 69 3 Entwicklungs-Prozesse 79 3.1 Abgrenzung . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 3.1.1 Projektmanagement . . . . . . . . . . . . . . . . . . 80 3.1.2 Qualitätsmanagement . . . . . . . . . . . . . . . . . 81 VII Inhaltsverzeichnis 3.1.3 Konfigurationsmanagement. . . . . . . . . . . . . . . 81 3.1.4 Phasen . . . . . . . . . . . . . . . . . . . . . . . . . 82 3.2 Prozess-Modelle . . . . . . . . . . . . . . . . . . . . . . . . . 87 3.2.1 Wasserfall-Modell . . . . . . . . . . . . . . . . . . . . 88 3.2.2 V-Modell . . . . . . . . . . . . . . . . . . . . . . . . 90 3.2.3 Evolutionäre Modelle . . . . . . . . . . . . . . . . . . 92 3.2.4 Prototypen-Modell . . . . . . . . . . . . . . . . . . . 93 3.2.5 Komponentenbasiertes Modell . . . . . . . . . . . . . 93 3.2.6 Weitere Modelle . . . . . . . . . . . . . . . . . . . . 94 3.2.7 Schnelle Software-Entwicklung . . . . . . . . . . . . . 95 4 Entwurf auf Systemebene 101 4.1 Methoden . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 4.1.1 Abstrahierung und Strukturierung . . . . . . . . . . . 102 4.1.2 Parallelitätsebenen . . . . . . . . . . . . . . . . . . . 106 4.1.3 Kreativität . . . . . . . . . . . . . . . . . . . . . . . 109 4.2 Modelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 4.2.1 Ebenen . . . . . . . . . . . . . . . . . . . . . . . . . 110 4.2.2 Eigenschaften . . . . . . . . . . . . . . . . . . . . . . 114 4.2.3 Verhaltenbasiert. . . . . . . . . . . . . . . . . . . . . 114 4.2.4 Kontrollflussbasiert . . . . . . . . . . . . . . . . . . . 119 4.2.5 Strukturbasiert . . . . . . . . . . . . . . . . . . . . . 123 4.2.6 Datenflussbasiert . . . . . . . . . . . . . . . . . . . . 124 4.2.7 Logikbasiert . . . . . . . . . . . . . . . . . . . . . . . 126 4.2.8 Projektbasiert . . . . . . . . . . . . . . . . . . . . . . 140 4.3 Modellierungssprache UML . . . . . . . . . . . . . . . . . . . 141 4.3.1 Modelle . . . . . . . . . . . . . . . . . . . . . . . . . 142 4.3.2 Fallstudie „Ulmer Zuckeruhr“ . . . . . . . . . . . . . . 146 4.3.3 Vergleich . . . . . . . . . . . . . . . . . . . . . . . . 152 5 Implementierung 157 5.1 Sprachen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 5.1.1 C/C++ . . . . . . . . . . . . . . . . . . . . . . . . . 159 5.1.2 C-basierte Hardware-Beschreibung . . . . . . . . . . . 162 5.1.3 VHDL . . . . . . . . . . . . . . . . . . . . . . . . . . 167 5.1.4 Verilog . . . . . . . . . . . . . . . . . . . . . . . . . 177 5.2 Werkzeuge . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 5.2.1 Matlab/Simulink . . . . . . . . . . . . . . . . . . . . 181 5.2.2 Matlab/Simulink und Embedded Coder . . . . . . . . 182 5.2.3 Matlab/Simulink und System Generator . . . . . . . 184 5.2.4 HDL Coder . . . . . . . . . . . . . . . . . . . . . . . 188 VIII Inhaltsverzeichnis 6 Test 191 6.1 Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 6.2 Ablauf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 6.3 Test-Fälle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 6.3.1 Überblick . . . . . . . . . . . . . . . . . . . . . . . . 200 6.3.2 Strukturelle Tests . . . . . . . . . . . . . . . . . . . . 201 6.3.3 Funktionale Tests . . . . . . . . . . . . . . . . . . . . 203 6.4 Werkzeuge . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 6.5 Testfreundlicher Entwurf . . . . . . . . . . . . . . . . . . . . 210 7 Zahlensysteme und Arithmetik 213 7.1 Zahlensysteme . . . . . . . . . . . . . . . . . . . . . . . . . . 213 7.1.1 Natürliche und ganze Zahlen . . . . . . . . . . . . . . 214 7.1.2 Reelle Zahlen . . . . . . . . . . . . . . . . . . . . . . 217 7.2 Arithmetik . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 7.2.1 Ganze Zahlen . . . . . . . . . . . . . . . . . . . . . . 222 7.2.2 Reelle Zahlen . . . . . . . . . . . . . . . . . . . . . . 226 7.2.3 Implementierung von Standardfunktionen . . . . . . . 230 8 Auswahlkriterien 233 8.1 Randbedingungen . . . . . . . . . . . . . . . . . . . . . . . . 233 8.2 Methoden zur Leistungsbewertung . . . . . . . . . . . . . . . 234 8.3 Maßzahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 8.3.1 Allgemeine Maßzahlen . . . . . . . . . . . . . . . . . 234 8.3.2 Spezifische Mikroprozessor-Maßzahlen . . . . . . . . . 238 8.3.3 Diskussion . . . . . . . . . . . . . . . . . . . . . . . . 240 8.4 Benchmarks . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 9 Vergleichende Entwicklung 247 9.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 9.1.1 Rechnerarchitektur . . . . . . . . . . . . . . . . . . . 248 9.1.2 Rechenmaschinen . . . . . . . . . . . . . . . . . . . . 250 9.2 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 9.2.1 Implementierungsprozess . . . . . . . . . . . . . . . . 254 9.2.2 Grundelemente . . . . . . . . . . . . . . . . . . . . . 264 9.3 Fallstudie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 10 Trends 289 10.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 10.1.1 Architektur . . . . . . . . . . . . . . . . . . . . . . . 290 10.1.2 Entwicklungsprozesse . . . . . . . . . . . . . . . . . . 290 10.1.3 Konfiguration . . . . . . . . . . . . . . . . . . . . . . 291 IX Inhaltsverzeichnis 10.1.4 Peripherie . . . . . . . . . . . . . . . . . . . . . . . . 292 10.2 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 Literaturverzeichnis 297 Stichwortverzeichnis 307 Abbildungsverzeichnis 313 Tabellenverzeichnis 319 X Abkürzungsverzeichnis ADC........... AnalogDigitalConverter(deutsch:Analog-Digital-Wandler) ALU........... Arithmetical Logical Unit (deutsch: Arithmetische Logische Einheit) AMBA......... Advanced Microcontroller Bus Architecture AMS........... Analog Mixed Signal API............ ApplicationProgrammingInterface(deutsch:Programmier- schnittstelle) ARM........... Acorn RISC Machine ASIC........... ApplicationSpecificIntegratedCircuit(deutsch:Anwendungs- spezifische Integrierte Schaltung) ASIP........... Application Specific Instruction Set Processor AXI............ Advanced EXtensible Interface BIOS.......... Basic Input The Output System BIST........... Build In Self Test CAE........... Computer Aided Engineering CAN........... Controller Area Network CASE.......... Computer Aided Software Engineering CBSE.......... Component Based Software Engineering CFG........... Control Flow Graph CIS............ Computing In Space CIT............ Computing In Time CLB........... Complex Logic Block XI

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.