DIPLOMARBEIT - FG Mikroelektronik, TU Berlin
DIPLOMARBEIT - FG Mikroelektronik, TU Berlin
DIPLOMARBEIT - FG Mikroelektronik, TU Berlin
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Technische Universität <strong>Berlin</strong><br />
Institut für <strong>Mikroelektronik</strong><br />
Lukas Bauer<br />
Diplomarbeit<br />
Hochleistungs-Grafikprozessor in Speedchart-VHDL<br />
Abschnitt 7.2<br />
Seite 56<br />
Blick erfassen lassen, hat enorme Vorteile gegenüber einer mehrere tausend Zeilen langen VHDL-<br />
Datei: Das Wiederfinden einzelner Statements wird vereinfacht, denn das menschliche Gedächtnis<br />
ist offenbar zweidimensional orientiert; so können sich z. B. die meisten Menschen Positionen von<br />
Figuren auf einem Schachbrett wesentlich leichter merken als Positionen auf einem 64-mal-1–Brett.<br />
Die gemischte Verwendung von Grafik und Text erlaubt häufig eine Gliederung des Entwurfs<br />
in der Weise, daß sich die grobe Funktion eines Speedchart-Diagramms anhand der Grafik<br />
und der Namen der Zustände schnell erfassen läßt, während sich die Details übersichtlich geordnet<br />
in den VHDL-Befehlssequenzen verbergen, die den Zuständen und Transitionen zugeordnet sind.<br />
So bleiben selbst komplexe Entwürfe überschaubar. Es entsteht eine gleichermaßen ” maschinenund<br />
personenlesbare“ [16] Form der Schaltungsbeschreibung anstelle zweier verschiedener Darstellungsformen<br />
oder eines Kompromisses.<br />
Quantitativ läßt sich der Produktivitätsfortschritt, den die Verwendung von Speedchart mit sich<br />
bringt, nur schwer abschätzen. Gegenüber VHDL-Eingabe dürfte er (bezogen auf die Entwicklungszeit)<br />
zwischen 2:1 und 3:1, gegenüber Schaltplan-Eingabe (vollautomatische Synthetisierbarkeit<br />
vorausgesetzt) zwischen 10:1 und 30:1 liegen.<br />
7.2 Silcsyn als Synthese-Werkzeug auf VHDL-Basis<br />
Der Einsatz von Silcsyn als Synthese-Werkzeug hat sich bei der Entwicklung des Grafikprozessors<br />
zunächst ebenfalls sehr gut bewährt. Schaltungen, die von Silcsyn funktional falsch synthetisiert<br />
wurden, konnten nicht beobachtet werden, und die Einschränkungen durch Silcsyn waren gering.<br />
Bei Beachtung einiger einfacher Regeln [5] und dem Verzicht auf manche Konstrukte konnten die<br />
von Speedchart erzeugten VHDL-Dateien ohne Änderungen für die Synthese verwendet werden.<br />
Einen erheblichen Mangel stellte jedoch der Verzicht auf multi-dimensionale Felder dar. Die<br />
fehlende Möglichkeit, Registerbänke als Felder von Bit-Vektoren oder Integers zu definieren, machte<br />
bei der Adressierung der Register fünf CASE-Konstrukte mit je 96 Fällen notwendig. Auch variable<br />
Indizes wären wünschenswert gewesen.<br />
Eine Kontrolle der synthetisierten Schaltungen war unter Silcsyn nahezu unmöglich. Lediglich<br />
Simulationen auf Basis der erzeugten Netzlisten konnten belegen, daß die erzeugten Schaltungen<br />
korrekt arbeiteten. Silcsyn bietet zwar die Möglichkeit, die erzeugten Schaltungen grafisch anzuzeigen;<br />
es wird jedoch eine stark verschachtelte Hierarchie verwendet, und die Signale an den einzelnen<br />
Blöcken enthalten nur noch fortlaufende Nummern ohne die Möglichkeit einer Kreuz-Referenz, so<br />
daß der Anwender den Eindruck erhält, diese Option sei von den Herstellern des Programms nur zu<br />
Werbezwecken implementiert worden. Die erzeugten Schaltpläne sind einfach unlesbar. Vermutlich<br />
wäre aber auch eine bessere Darstellungsform bei Schaltungen von über 10.000 Gattern nicht<br />
mehr zu gebrauchen. Doch aufgrund der Tatsache, daß jede Nichtbeachtung von Einschränkungen<br />
sofort zu Fehlermeldungen führte, während bei fehlerfreiem VHDL-Code nie eine Abweichung zwischen<br />
den Simulationen auf Gatterebene und auf VHDL-Ebene beobachtet werden konnte, kann<br />
der Anwender von Silcsyn auf eine detaillierte Prüfung der Netzlisten wohl verzichten.<br />
Die Fehlerwahrscheinlichkeit ist im starken Gegensatz zur Hand-Synthese so gering, daß die<br />
funktionale Korrektheit der Schaltungen vorausgesetzt werden kann.<br />
Vorsicht ist jedoch geboten, was die Einhaltung der Timing-Anforderungen betrifft. Laut<br />
Handbuch ist es möglich, Silcsyn die Frequenz des Systemtaktes anzugeben und das Programm<br />
anzuweisen, die Laufzeiten in der gesamten Schaltung so zu optimieren, daß keine Verletzungen von<br />
Initialisierungs- und Übernahmezeiten von Flipflops (“set-up / hold violations”) auftreten, indem<br />
z. B. Addierer mit Ripple-Übertrag (“ripple carry”) durch Strukturen mit Parallelübertrag (“carry<br />
look-ahead”) ersetzt werden. Auch kann automatisch eine Kontrolle erfolgen, ob dies gelungen ist.<br />
In der Praxis zeigte sich jedoch, daß diese Optimierung bei Verwendung der Bibliothek zum Gate<br />
Array TC140G [14] von Toshiba nicht korrekt funktionierte. Bei Tests mit hohen Taktfrequenzen<br />
kam es sogar vor, daß sich synthetisierte Schaltungen aufgrund eklatanter Verletzungen der