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.4<br />

Seite 58<br />

Der Umgang mit VHDL2000 war meist unproblematisch, extrem schwierig war jedoch die Ortung<br />

von Fehlern. Wurden Einschränkungen [5] von VHDL2000 (die nicht im Handbuch stehen) im<br />

Speedchart-Design nicht beachtet, stellte VHDL2000 die Funktion ein und meldete einen “assertion<br />

error” ohne Angabe einer Zeilennummer und ohne nähere Erklärung der Art des Fehlers. Insbesondere<br />

bei der Verwendung von n-Bit-Integer-Variablen, die in VHDL als Untertypen des Typs<br />

Integer definiert werden, traten Probleme auf. Während z. B. bei einem 8-Bit-Rückwärtszähler auf<br />

Gatterebene automatisch ein Zählerüberlauf vom Wert 0 auf 255 stattfindet, erwartet VHDL2000<br />

die Syntax “count:=(count + 255) mod 256”, nicht “count:=(count - 1) mod 256”. Warum<br />

VHDL2000 bei der Subtraktion, nicht aber bei der Addition eine Überschreitung des Wertebereichs<br />

feststellt, entzieht sich zwar jeder Logik, das Problem ist damit aber gelöst. Zuweisungen<br />

und Vergleiche von Integers und Bit-Vektoren sind teilweise ähnlich problematisch.<br />

Auf Gatterebene konnten die von Silcsyn erzeugten Schaltungen mit CADAT2000 simuliert<br />

werden. Dabei konnten die Netzlisten von Silcsyn direkt übernommen werden, nicht jedoch die<br />

von Speedchart erzeugten Testmuster. Testmuster im korrekten Format mußten aus VHDL2000<br />

heraus erzeugt werden. Anschließend war eine Nachbearbeitung mit selbstgeschriebenen Konvertierungsprogrammen<br />

nötig, da die Signalnamen unter CADAT auf acht Großbuchstaben beschränkt<br />

sind.<br />

Als sehr angenehm erwies sich, daß die Benutzeroberfläche von CADAT mit der von VHDL2000<br />

übereinstimmt. Dies erleichterte den visuellen Vergleich der Simulationsergebnisse mit den auf<br />

VHDL-Basis erzeugten. Ein automatisierter Vergleich wäre allerdings wünschenswert.<br />

Das Zeitverhalten der Schaltung entsprach in der Simulation bei Verwendung der entsprechenden<br />

Bibliotheken exakt dem der Elemente des Gate-Arrays TC140G [14]. CADAT meldete jedoch bei<br />

Tests mit zu hohen Arbeitsfrequenzen keine Verletzungen von Initialisierungs- und Übernahmezeiten<br />

der Flipflops (“set-up / hold violations”). Hierfür müßten bei jedem Flipflop einzeln Anweisungen<br />

eingefügt werden, die derartige Verletzungen überprüfen. Laut Racal-Redac ist es unter<br />

CADAT nicht möglich, die Zeiten global für alle Flipflops überprüfen zu lassen. Parallelversuche<br />

mit Verilog hingegen führten von vornherein zu korrekten Meldungen über Zeitverletzungen.<br />

7.4 Bilanz: grafisch-zustandsorientierte Eingabe mit teilautomatischer<br />

Synthese als leistungsfähiger Kompromiß<br />

Zusammenfassend läßt sich sagen, daß sich Speedchart als grafisch-zustandsorientiertes Eingabewerkzeug<br />

für VHDL in jeder Hinsicht bestens bewährt hat. Speedchart bietet eine neuartige,<br />

äußerst komfortable Designmethode für Synchronschaltwerke.<br />

Aufgrund der Leichtigkeit, mit der auch komplexe Strukturen entworfen werden können, konnten<br />

im Rahmen dieser Arbeit sogar einige Verbesserungen gegenüber der Spezifikation [1] vorgenommen<br />

werden. Über die Aufgabenstellung hinausgehend konnte neben der Video-Einheit auch die<br />

Controller-Einheit bis ins Detail entwickelt werden, ebenso der Teil der Prozessor-Einheit, der den<br />

Clip- und den PixBlT-Befehl ausführt.<br />

Als das zur Zeit schwächste Glied in der Kette vom Entwurf bis zum fertigen Chip erwies sich die<br />

Logik-Synthese. Dies ist nicht nur auf produktspezifische Einschränkungen in Silcsyn, sondern auch<br />

auf das prinzipielle Problem der mangelnden ” Intelligenz“ derartiger Werkzeuge zurückzuführen.<br />

Ein stellenweise nicht optimales Zeitverhalten von Schaltungsteilen ist die Folge. Bei integrierten<br />

Schaltungen aber stellen die Fehlerwahrscheinlichkeit und die Entwicklungszeit wesentlich wichtigere<br />

Merkmale dar, die bei Verwendung von Logik-Synthese um Größenordnungen besser als bei<br />

der Hand-Synthese sind.<br />

Einen zeitgemäßen und äußerst leistungsfähigen Kompromiß stellt daher die Verwendung von<br />

Speedchart als Eingabewerkzeug bei anschließender, teilweise automatischer, teilweise Handoptimierter<br />

Synthese dar.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!