pdf-Datei mit 72-dpi-Fotos - FG Mikroelektronik, TU Berlin
pdf-Datei mit 72-dpi-Fotos - FG Mikroelektronik, TU Berlin
pdf-Datei mit 72-dpi-Fotos - FG Mikroelektronik, TU Berlin
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Technische Universität <strong>Berlin</strong><br />
Institut für <strong>Mikroelektronik</strong><br />
Lukas Bauer<br />
Dissertation<br />
Perspektiven des modernen ASIC-Designs<br />
Kapitel 4.1<br />
Seite 26<br />
Bereits in dieser Funktion erleichtert das Programm die Arbeit des Designers ganz außerordentlich.<br />
Betrachtet man z. B. eine einfache Verbindung zwischen zwei Modulen, so besteht diese nur<br />
noch aus drei grafischen Elementen: dem Ausgangspin des Quellmoduls, der Leitung und dem<br />
Eingangspin des Zielmoduls. Bei der Übersetzung werden diese zusammen <strong>mit</strong> den zugehörigen<br />
Signaldefinitionen etc. in formal korrektes VHDL oder Verilog übersetzt. Dem steht die manuelle<br />
Eingabe von nicht weniger als sieben Zeilen VHDL gegenüber, die bei modulweiser Partitionierung<br />
auf drei VHDL-<strong>Datei</strong>en verteilt sind. Bei herkömmlicher Arbeitsweise erfordert die Erstellung<br />
einer solchen Verbindung, die drei <strong>Datei</strong>en zunächst zu suchen (anhand des Namens, an den<br />
man sich „so ungefähr“ erinnert), sie in einem Editor zu öffnen, die passenden Stellen für die<br />
neuen Einträge zu suchen, die Änderungen einzutragen etc. In Speedchart geschieht dies alles in<br />
einer integrierten grafischen Umgebung, in der die passenden Editoren bereits beim Anklicken<br />
eines Objekts zum Editieren der richtigen Stelle einer <strong>Datei</strong> geöffnet werden. Ebenso ist es bei<br />
syntaktischen Fehlern nicht mehr erforderlich, in einer <strong>Datei</strong> anhand einer Zeilennummer den<br />
Fehler zu lokalisieren: Hier reicht ein Anklicken der Fehlermeldung, um zur richtigen Zeile im<br />
Editor zu springen.<br />
Ein weiterer signifikanter Vorteil liegt in der zweidimensionalen und hierarchischen Anordnung<br />
der Module, die sich dem menschlichen Erinnerungs- und Orientierungsvermögen offenbar<br />
wesentlich leichter erschließt als zeilenbasierte und da<strong>mit</strong> eindimensionale HDL-Texte. Kein<br />
Mensch kann in zigtausend Zeilen umfassenden Textdateien den Überblick über genaue Positionen,<br />
geschweige denn Zeilennummern einzelner Elemente behalten. In der zweidimensionalen<br />
Grafik hingegen bieten Positionen, Größen und Verbindungsmuster zwischen den Zellen gut einprägsame<br />
Orientierungspunkte, so dass man sich erfahrungsgemäß auch nach Monaten noch in<br />
einem komplexen Design voll zurechtfindet.<br />
4.1.2.3 Grafische Eingabe von Zustandsmaschinen<br />
Während die soeben vorgestellten Browser-Funktionen für VHDL zum Teil sicher auch von<br />
anderen modernen Editoren und Simulatoren geboten werden, zeichnen sich die grafischen HDL-<br />
Programme durch die Möglichkeit aus, dass die auf Schaltplanebene platzierten Zellen neben<br />
VHDL-Texten auch andere, grafische Darstellungsformen von Modulen enthalten können. So ist<br />
es möglich, Wahrheitstafeln kombinatorischer Logikblöcke zu erstellen, die ebenfalls automatisch<br />
in VHDL übersetzt werden können. Außerdem können vorhandene oder selbst erstellte<br />
Symbole auf Schaltplanebene platziert werden, um z. B. Einzelgatter unkompliziert verwenden<br />
zu können.<br />
Die mächtigste Funktion besteht aber in<br />
der direkten grafischen Eingabe von<br />
State Machines am Bildschirm (vgl.<br />
Abbildung 4-1). Die zweidimensionale<br />
Darstellung von Zustandsmaschinen ist<br />
für den Designer noch immer die übersichtlichste<br />
Darstellungsform; und während<br />
in der Vergangenheit Papier und<br />
Bleistift oder getrennte Zeichenprogramme<br />
verwendet werden mussten, um<br />
diese zu entwerfen, kann dies <strong>mit</strong> grafischen<br />
HDL-Programmen voll integriert<br />
geschehen. Es entsteht eine übersichtliche,<br />
hierarchisch geordnete Beschreibung,<br />
die von Mensch und Maschine<br />
D_1<br />
entry<br />
C: Clear=’1’<br />
A: Wert:="0000";<br />
A: Wert:="0000";<br />
A: Wert:=Wert+"0001";<br />
Diagram Variables:<br />
Wert(4): logic;<br />
gleichermaßen verstanden wird und so<strong>mit</strong> optimal zur Spezifikation geeignet ist, dabei aber auf-<br />
1<br />
3<br />
S1<br />
Count<br />
0<br />
2<br />
Subdiag Actions of <br />
A: Wert_hi_out:=Wert(3 downto 2);<br />
C: Start=’1’<br />
C: Stop=’1’<br />
C: UpNDown=’0’<br />
A: Wert:=Wert-"0001";<br />
Abbildung 4-1: Eine einfache Zustandsmaschine<br />
Stop