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.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.