Universität Bielefeld Technische Fakultät AG Technische Informatik Seminar Hardware-Engineering 29. Juli 2004 Veranstalter Tim Köhler 1 1 tkoehler@techfak.
2 Universität Bielefeld, AG Technische Informatik
Inhaltsverzeichnis Inhaltsverzeichnis 1 Einleitung 5 2 ASICs, CPLDs, FPGAs,... 9 3 FPGAs, FPAAs 11 4 Mikrocontroller 13 5 Übersicht, Entwurfsablauf, Modellierungsebenen, Spezifikation 15 6 Design-Eingabe, VHDL, Verilog,... 17 7 Synthese (Hauptübersetzungsschritte) 19 8 Physikalischer/Layout-Entwurf 21 9 Simulation 23 10 Test 25 11 Komplexe Systeme: System-on-Chip 27 12 Anwendungen: CAM-Brain-Machine, Neuronale Netze auf FPGAs 29 Universität Bielefeld, AG Technische Informatik 3
Inhaltsverzeichnis 4 Universität Bielefeld, AG Technische Informatik
1 Einleitung Es sollen die Methoden und Werkzeuge des Hardware-Engineering anhand ausgewälter Texte vermittelt werden. Im Unterschied zum Software-Engineering spielt hierbei sowohl die in der Entwicklung eingesetzte Hardware, als auch die Zielsystem-Hardware eine sehr große Rolle. Zu Beginn werden deshalb die verschiedenen Varianten programmierbarer (Digital-)Hardware (u.a. Mikrocontroller, ASICs, FPGAs, CPLDs) vorgestellt. Es folgen die in der Hardware- Entwicklung eingesetzten Design-Tools. Hierin enthalten sind insbesondere die hauptsächlich verwendeten (Hardware-) Beschreibungssprachen (u.a. VHDL, Verilog). Anschluß werden die Vorgehensweisen im Hardware-Engineering vorgestellt. Dies beinhaltet zum einen Methoden des Software-Engineering, zum anderen jedoch auch Hardware-spezifische Möglichkeiten. Universität Bielefeld, AG Technische Informatik 5
1 Einleitung Und nochmal: Es sollen die Methoden und Werkzeuge des Hardware-Engineering anhand ausgewälter Texte vermittelt werden. Im Unterschied zum Software-Engineering spielt hierbei sowohl die in der Entwicklung eingesetzte Hardware, als auch die Zielsystem-Hardware eine sehr große Rolle. Zu Beginn werden deshalb die verschiedenen Varianten programmierbarer (Digital-)Hardware (u.a. Mikrocontroller, ASICs, FPGAs, CPLDs) vorgestellt. Es folgen die in der Hardware- Entwicklung eingesetzten Design-Tools. Hierin enthalten sind insbesondere die hauptsächlich verwendeten (Hardware-) Beschreibungssprachen (u.a. VHDL, Verilog). Anschluß werden die Vorgehensweisen im Hardware-Engineering vorgestellt. Dies beinhaltet zum einen Methoden des Software-Engineering, zum anderen jedoch auch Hardware-spezifische Möglichkeiten. Und nochmal: Es sollen die Methoden und Werkzeuge des Hardware-Engineering anhand ausgewälter Texte vermittelt werden. Im Unterschied zum Software-Engineering spielt hierbei sowohl die in der Entwicklung eingesetzte Hardware, als auch die Zielsystem-Hardware eine sehr große Rolle. Zu Beginn werden deshalb die verschiedenen Varianten programmierbarer (Digital-)Hardware (u.a. Mikrocontroller, ASICs, FPGAs, CPLDs) vorgestellt. Es folgen die in der Hardware- Entwicklung eingesetzten Design-Tools. Hierin enthalten sind insbesondere die hauptsächlich verwendeten (Hardware-) Beschreibungssprachen (u.a. VHDL, Verilog). Anschluß werden die Vorgehensweisen im Hardware-Engineering vorgestellt. Dies beinhaltet zum einen Methoden des Software-Engineering, zum anderen jedoch auch Hardware-spezifische Möglichkeiten. Und nochmal: Es sollen die Methoden und Werkzeuge des Hardware-Engineering anhand ausgewälter Texte vermittelt werden. Im Unterschied zum Software-Engineering spielt hierbei sowohl die in der Entwicklung eingesetzte Hardware, als auch die Zielsystem-Hardware eine sehr große Rolle. Zu Beginn werden deshalb die verschiedenen Varianten programmierbarer (Digital-)Hardware (u.a. Mikrocontroller, ASICs, FPGAs, CPLDs) vorgestellt. Es folgen die in der Hardware- Entwicklung eingesetzten Design-Tools. Hierin enthalten sind insbesondere die hauptsächlich verwendeten (Hardware-) Beschreibungssprachen (u.a. VHDL, Verilog). Anschluß werden die Vorgehensweisen im Hardware-Engineering vorgestellt. Dies beinhaltet zum einen Methoden des Software-Engineering, zum anderen jedoch auch Hardware-spezifische Möglichkeiten. Und nochmal: Es sollen die Methoden und Werkzeuge des Hardware-Engineering anhand ausgewälter Texte vermittelt werden. Im Unterschied zum Software-Engineering spielt hierbei sowohl die in der Entwicklung eingesetzte Hardware, als auch die Zielsystem-Hardware eine sehr große Rolle. Zu Beginn werden deshalb die verschiedenen Varianten programmierbarer (Digital-)Hardware (u.a. Mikrocontroller, ASICs, FPGAs, CPLDs) vorgestellt. Es folgen die in der Hardware- Entwicklung eingesetzten Design-Tools. Hierin enthalten sind insbesondere die hauptsächlich verwendeten (Hardware-) Beschreibungssprachen (u.a. VHDL, Verilog). Anschluß werden die Vorgehensweisen im Hardware-Engineering vorgestellt. Dies beinhaltet zum einen Methoden des Software-Engineering, zum anderen jedoch auch Hardware-spezifische Möglichkeiten. Und nochmal: Es sollen die Methoden und Werkzeuge des Hardware-Engineering anhand ausgewälter Texte vermittelt werden. Im Unterschied zum Software-Engineering spielt hierbei sowohl die in der Entwicklung eingesetzte Hardware, als auch die Zielsystem-Hardware eine sehr große Rolle. 6 Universität Bielefeld, AG Technische Informatik
1 Einleitung Zu Beginn werden deshalb die verschiedenen Varianten programmierbarer (Digital-)Hardware (u.a. Mikrocontroller, ASICs, FPGAs, CPLDs) vorgestellt. Es folgen die in der Hardware- Entwicklung eingesetzten Design-Tools. Hierin enthalten sind insbesondere die hauptsächlich verwendeten (Hardware-) Beschreibungssprachen (u.a. VHDL, Verilog). Anschluß werden die Vorgehensweisen im Hardware-Engineering vorgestellt. Dies beinhaltet zum einen Methoden des Software-Engineering, zum anderen jedoch auch Hardware-spezifische Möglichkeiten. Und nochmal: Es sollen die Methoden und Werkzeuge des Hardware-Engineering anhand ausgewälter Texte vermittelt werden. Im Unterschied zum Software-Engineering spielt hierbei sowohl die in der Entwicklung eingesetzte Hardware, als auch die Zielsystem-Hardware eine sehr große Rolle. Zu Beginn werden deshalb die verschiedenen Varianten programmierbarer (Digital-)Hardware (u.a. Mikrocontroller, ASICs, FPGAs, CPLDs) vorgestellt. Es folgen die in der Hardware- Entwicklung eingesetzten Design-Tools. Hierin enthalten sind insbesondere die hauptsächlich verwendeten (Hardware-) Beschreibungssprachen (u.a. VHDL, Verilog). Anschluß werden die Vorgehensweisen im Hardware-Engineering vorgestellt. Dies beinhaltet zum einen Methoden des Software-Engineering, zum anderen jedoch auch Hardware-spezifische Möglichkeiten. Universität Bielefeld, AG Technische Informatik 7
1 Einleitung 8 Universität Bielefeld, AG Technische Informatik
2 ASICs, CPLDs, FPGAs,... Felix Hagemann Georg Sauthoff Universität Bielefeld, AG Technische Informatik 9
2 ASICs, CPLDs, FPGAs,... 10 Universität Bielefeld, AG Technische Informatik
3 FPGAs, FPAAs Martin Orlik Universität Bielefeld, AG Technische Informatik 11
3 FPGAs, FPAAs 12 Universität Bielefeld, AG Technische Informatik
4 Mikrocontroller Jan Mikus Frank Schlomann Universität Bielefeld, AG Technische Informatik 13
4 Mikrocontroller 14 Universität Bielefeld, AG Technische Informatik
Übersicht, Entwurfsablauf, Modellierungsebenen, Spezifikation 5 Lars Schillingmann Universität Bielefeld, AG Technische Informatik 15
5 Übersicht, Entwurfsablauf, Modellierungsebenen, Spezifikation 16 Universität Bielefeld, AG Technische Informatik
Design-Eingabe, VHDL, Verilog,... 6 Frank Röchter Universität Bielefeld, AG Technische Informatik 17
6 Design-Eingabe, VHDL, Verilog,... 18 Universität Bielefeld, AG Technische Informatik
7 Synthese (Hauptübersetzungsschritte) Andreas Dziemba Andreas Rüter Universität Bielefeld, AG Technische Informatik 19
7 Synthese (Hauptübersetzungsschritte) 20 Universität Bielefeld, AG Technische Informatik
8 Physikalischer/Layout-Entwurf Hendrik Hasenbein Universität Bielefeld, AG Technische Informatik 21
8 Physikalischer/Layout-Entwurf 22 Universität Bielefeld, AG Technische Informatik
9 Simulation Sven Kanies Universität Bielefeld, AG Technische Informatik 23
9 Simulation 24 Universität Bielefeld, AG Technische Informatik
10 Test Stefan Krüger Universität Bielefeld, AG Technische Informatik 25
10 Test 26 Universität Bielefeld, AG Technische Informatik
11 Komplexe Systeme: System-on-Chip Henning Nitschke Universität Bielefeld, AG Technische Informatik 27
11 Komplexe Systeme: System-on-Chip 28 Universität Bielefeld, AG Technische Informatik
12 Anwendungen: CAM-Brain-Machine, Neuronale Netze auf FPGAs Tim Köhler Universität Bielefeld, AG Technische Informatik 29
12 Anwendungen: CAM-Brain-Machine, Neuronale Netze auf FPGAs 30 Universität Bielefeld, AG Technische Informatik
Literaturverzeichnis Literaturverzeichnis [1] Göran Herrmann, Dietmar Müller: ASIC - Entwurf und Test. Fachbuchverlag Leipzig im Carl Hanser Verlag (2004), ISBN 3-446-21709-6 [2] Bleck, Goedecke, Huss, Waldschmidt: Praktikum des modernen VLSI-Entwurfs. B.G. Teubner, Stuttgart (1996) [3] D. Gajski, N. Dutt, A. Wu, S. Lin: High-Level Synthesis (Introduction to Chip and System Design). Kluwer (1993). [4] Keller, Paul: Hardware Design. B.G. Teubner, Leipzig (1997). [5] F. Nekoogar, F. Nekoogar: From ASICs to SOCs: A Practical Approach. Prentice Hall (2003). Universität Bielefeld, AG Technische Informatik 31