Warum ESPRO?
Die Evaluierung neu entwickelter Heuristiken zum VLSI-Placement und -Routing und insbesondere der Vergleich mit bestehenden Heuristiken ist oft mit folgenden Problemen verbunden:- Unterschiedliche Formate der Ein- und Ausgabedaten (jeder Algorithmus arbeitet also auf anderen Daten)
- Unterschiedliche Technologieabhängigkeiten
- Abhängigkeiten von verschiedenen Rechner- und Betriebssystemen
Im Rahmen einer Kooperation mit dem Fachbereich Mathematik ist deshalb das System ESPRO (Evaluation System for Placement and ROuting) entstanden. Dieses System wurde im Rahmen einiger Diplomarbeiten und einer Studienarbeit entwickelt und implementiert. Die Grundidee dieses Systems ist, daß im Prinzip jeder, der eine neue Heuristik zu Placement und Routing entwickelt hat, diese in das System integrieren und dann mit den bereits zur Verfügung stehenden (Standard-) Heuristiken vergleichen kann. Die Schnittstellen zwischen den einzelnen Programmen sind über spezielle Dateiformate für Netzlisten, Plazierungen, Globalverdrahtungen und Layouts definiert.
Damit ist ESPRO ein System, das den Vergleich verschiedenener Plazierungs- und Verdrahtungsheuristiken auf denselben Daten und unter denselben Rahmenbedingungen ermöglicht. Die bisher für dieses System entwickelten Programme sind zum Teil für MS-DOS und zum Teil für UNIX verfügbar. Es gibt in ESPRO keine Technologieabhängigkeiten, die Layouts werden rein geometrisch betrachtet.
Die anfangs genannten Probleme bei der Evaluierung von Heuristiken zum Placement und Routing werden in ESPRO auf folgende Weise gelöst:
- Das System besteht aus voneinander unabhängigen Tools, die über Dateien mit genau definierten Formaten miteinander kommunizieren. Damit gibt es einheitliche Formate für die Ein- und Ausgabedaten, und jeder Algorithmus kann auf denselben Daten arbeiten. Auch die direkte Vergleichbarkeit der Ein- und Ausgabedaten ist auf diese Weise gegeben, und für jeden Algorithmus stehen dieselben Beispielschaltungen zur Verfügung. Außerdem entsteht so eine offene Systemarchitektur, die es gestattet, jederzeit und auf einfache Weise neue Tools zu dem bestehenden System hinzufügen zu können. Man muß dazu lediglich die Formate der einzelnen Dateitypen kennen.
- Die Layouts werden rein geometrisch betrachtet, und Routing over the Cell ist generell verboten. Dadurch enthält das System keine Technologieabhängigkeiten, so daß die Randbedingungen immer gleich bleiben.
- Das System kann durch portable Programmierung für verschiedene Rechner- und Betriebssysteme verfügbar gemacht werden. Es gibt also auch hier keine Abhängigkeiten.
- Beispielschaltungen können entweder aus Fremddateien (z. B. dem SOLO1400-System) konvertiert oder durch manuelle Eingabe oder einen Zufallsgenerator erzeugt werden.