Skip to main content
Top

2007 | Book

Hardware-Software-Codesign

Entwicklung flexibler Mikroprozessor-FPGA-Hochleistungssysteme

insite
SEARCH

Table of Contents

1. Einleitung

Software-Entwicklung für Mikroprozessoren und Schaltungsentwurf für FPGAs1! Zwei Technologien zur Programmierung der beiden wichtigsten Rechenmaschinen haben sich in der Vergangenheit weitgehend unabhängig voneinander entwickelt und werden jeweils von zwei verschiedenen Anwendergruppen genutzt: den Informatikern, Software-Entwicklern und Programmierern einerseits und den Elektrotechnikern und Hardware-Entwicklern andererseits. Viele Hochschulen lehren beide Disziplinen getrennt - in unterschiedlichen Studiengängen, in verschiedenen Vorlesungen. Oft setzen Unternehmen entweder ganz auf die eine oder ganz auf die andere Technologie oder weisen beide Technologien jeweils unterschiedlichen, spezialisierten Abteilungen zu. Während viele Computermagazine und Software-Bücher nur den Mikroprozessor zu kennen scheinen, sucht man in der Literatur, die sich der FPGA-Thematik widmet, vergeblich nach modernen Software-Konzepten, die der Lösung von komplexen Aufgaben auf einer angemessenen Abstraktionsstufe dienen.

2. Eingebettete Systeme

Eingebettete Systeme würden besonders von einer im Rahmen des Hardware-Software-Codesigns vereinheitlichten Vorgehensweise profitieren, da diese häufig aus Mikroprozessoren und programmierbaren Logikbausteinen bestehen.

3. Rechenmaschinen

In diesem Kapitel beschreiben wir Rechenmaschinen und die ihnen zugrunde liegende IC-Technologie. In ersten Abschnitt 3.1 begegnen wir zunächst dem theoretischen Konzept einer Rechenmaschine: der Turingmaschine. Im zweiten Abschnitt 3.2 zeigen wir die Grundlagen der IC-Technologie auf. Abschnitt 3.3 stellt verschiedene Rechenbausteine vor. Die Abschnitte 3.4, 3.5 und 3.6 bieten einen Überblick über verschiedene Rechenmaschinen - insbesondere Mikroprozessoren und FPGAs.

4. Software-Entwicklung

In diesem Kapitel stellen wir die erste der beiden Technologien zur Programmierung von Rechenmaschinen vor: die Software-Entwicklung zur Programmierung von Mikroprozessoren. In Kapitel 5 werden wir uns der zweiten Technologie zuwenden: dem Entwerfen von digitalen Logikschaltungen für FPGAs.

5. Digitale Schaltungstechnik

Das Kapitel beschreibt den Entwurf und die Implementierung von digitalen Schaltungen für die in Abschnitt 3.6 dargestellten Rechenmaschinen.

6. Hardware-Software-Codesign

In den vorangegangenen beiden Kapiteln 4 und 5 haben wir einen knappen Überblick über den Stand der modernen Software-Entwicklung für Mikroprozessoren und des Schaltungsentwurfs für programmierbare Logikbausteine geboten. Die Tatsache, dass beide Kapitel sich weitgehend unabhängig voneinander lesen lassen, ist nur eine Konsequenz der bisherigen schwachen Kopplung zwischen den beiden beschriebenen Technologien. Diese haben sich in der Vergangenheit weitgehend unabhängig voneinander entwickelt und werden überwiegend von unterschiedlichen Anwendergruppen genutzt: den Informatikern, Software-Entwicklern und Programmierern einerseits und den Elektrotechnikern und Hardware-Entwicklern andererseits.

7. Hybride Architekturen

Hybride1 Architekturen sind eine Kombination aus CPU und digitaler Schaltung. Sie nutzen die Vorteile beider Rechnerarchitekturen (siehe Abbildung 2.1). Abbildung 7.1 zeigt verschiedene hybride Architekturen.

8. Werkzeuge zum Entwurf auf Systemebene

Im Folgenden werden wichtige Werkzeuge zum Entwurf auf Systemebene (siehe Abschnitt 5.4), zur Simulation und automatischen Codegenerierung für hybride Systeme aus Mikroprozessoren und FPGAs vorgestellt. Zunächst wird auf Matlab/Simulink, danach auf die automatische VHDL- und C-Codegenerierung mit den Werkzeugen System Generator und Embedded Target eingegangen. Am Ende des Abschnitts steht die Darstellung von SystemC.

9. UML-basierte Entwicklung für hybride Systeme

In diesem Kapitel zeigen wir einen möglichen Ansatz zur Software-Entwicklung dür hybride Systeme auf: automatische Generierung von C++ und VHDL-Coderahmen aus einem formalen Modell, z.B. einem UML-Modell.

Metadata
Title
Hardware-Software-Codesign
Copyright Year
2007
Electronic ISBN
978-3-8348-9160-0
Print ISBN
978-3-8348-0048-0
DOI
https://doi.org/10.1007/978-3-8348-9160-0

Premium Partner