| Wann? | Wo? | Wer? | |
| Vorlesungen: | Mo 16.00 - 18.00 | OH 14 304 | Beate Bollig |
| Do 8:30 - 10.00 | OH 14 304 | Beate Bollig | |
| Übung: | Do 10:00 - 12:00 | OH 14 304 | Beate Bollig |
Die erste Vorlesung findet am 17. Oktober 2005 statt.
Ab dem 28.11.2005 findet die Veranstaltung in der Otto Hahn Str. 14 statt.
Beim Entwurf guter Hardware hat man viele Probleme, die gleichzeitig gelöst werden müssen. Die Anzahl logischer Bausteine oder anderer Hardwarekomponenten, die Rechenzeit, d.h., die Tiefe bzw. Verzögerung von Schaltkreisen und die benötigte Chipfläche sollen minimiert werden und zugleich soll der entworfene Schaltkreis leicht zu testen sein. Es ist meist nicht schwierig zu zeigen, dass bereits die Optimierungsprobleme, die nur eines der genannten Optimierungsziele verfolgen, NP-hart sind, und wir deswegen zu Approximationsalgorithmen oder sogar heuristischen Algorithmen greifen müssen. Um so schwieriger ist es, viele Optimierungsziele gleichzeitig zu verfolgen. Im Allgemeinen gibt es keine global optimale Lösung, die bezüglich aller Ziele so gut ist wie die beste Lösung, wenn wir nur ein Ziel verfolgen. Deshalb sind wir an pareto-optimalen Lösungen interessiert, dies sind Lösungen, so dass es keine andere Lösung gibt, die bezüglich eines Zieles echt besser und bezüglich aller anderen Ziele nicht schlechter ist.
Die Vorlesung beschäftigt sich zunächst mit zweistufigen Schaltkreisen. Für diese Schaltkreise sind die Algorithmen für die Minimierung gut verstanden, wenn auch für größere Eingaben nicht gerade effizient. Für den Entwurf mehrstufiger Schaltkreise sind dagegen nur Heuristiken bekannt. Es lohnt sich daher, für gut strukturierte Funktionen, die häufiger vorkommen, spezielle Hardware zu entwerfen. In der Vorlesung werden Schaltkreise für die Grundrechenarten entworfen. Es wird sich herausstellen, dass gerade die Methoden, die man für die Grundrechenarten in der Schule gelernt hat, für die Realisierung in Hardware ungeeignet sind. Ein weiterer Schwerpunkt der Vorlesung ist die Darstellung von booleschen Funktionen im Rechner. Eine solche Darstellung soll möglichst kompakt sein, aber effiziente Algorithmen für Operationen auf booleschen Funktionen erlauben (z. B. für den Äquivalenztest oder für die Verknüpfung zweier Funktionen mit einem booleschen Operator). Ordered Binary Decision Diagrams (OBDDs) scheinen für diesen Zweck besonders geeignet zu sein. In der Vorlesung werden grundlegende Eigenschaften von OBDDs sowie ihre Anwendung beim Hardwareentwurf behandelt.
Literatur:
Weitere Unterlagen zur Vorlesung finden sich hier.
Die Übungsblätter als ps-Dateien:
Blatt1 Blatt2 Blatt3 Blatt4 Blatt5 Blatt6 Blatt7 Blatt8 Blatt9 Blatt10 Blatt11 Blatt12 Blatt13 Blatt14
20.7.2006 - Beate
Bollig