21.07.2013 Aufrufe

DIPLOMARBEIT - FG Mikroelektronik, TU Berlin

DIPLOMARBEIT - FG Mikroelektronik, TU Berlin

DIPLOMARBEIT - FG Mikroelektronik, TU Berlin

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!