Sie sind auf Seite 1von 21
Grundlagen der Technischen Informatik in der Fakultät IME Georg Hartung, Stefan Kreiser, Lothar Thieling Tutorial

Grundlagen der Technischen Informatik in der Fakultät IME Georg Hartung, Stefan Kreiser, Lothar Thieling

Tutorial 1 Implementation kombinatorischer Schaltungen mit einem CAD-System

Tutorial zum Kennenlernen eines CAD-Werkzeugs

Teil1: Erstellen eines einfachen DTS-Moduls 1. Arbeitsschritte

Der folgende Abschnitt erläutert das schrittweise Vorgehen zur Erstellung und Inbetriebnahme ei- nes digitaltechnischen Systems (DTS) unter Nutzung des CAD-Tools Quartus II der Fa. Altera. Sie durchlaufen dabei die folgenden Schritte:

1. Spezifizieren des DTS in VHDL

2. Prüfen der VHDL-Datei auf syntaktische Richtigkeit

3. Funktionale Simulation des DTS (logische Validierung des Entwurfs)

Anhand einer kurzen Beispielaufgabe sollen diese Schritte trainiert werden. Dabei ist vorausge- setzt, dass Sie das Entwicklungswerkzeug Altera QuartusII installiert haben, sowie die entspre- chende Theorie (Boole’sche Algebra und Synthese aus Basisfunktionen sowie VHDL-Grundlagen) kennen.

Diese Unterlage ist mit der Version 9.0 sp1 entstanden; benutzen Sie eine andere Version, so kann u.U. das Aussehen von Menüs anders sein als hier dargestellt; die Schritte sind aber alle ähnlich durchführbar.

Zu diesem Tutorial gibt es noch einen 2. Teil, in dem Sie dann auch den Graphikeditor nutzen. In diesem ersten Teil wird eine Schaltung in VHDL für einen Einstellenaddierer („Volladdierer“) spezi- fiziert und validiert. Im zweiten Teil wird diese Schaltung benutzt und zu einem Addierer/Subtrahie- rer für Byte-Zahlen (8 Bit) graphisch zusammengesetzt, validiert und dann auf einen Baustein ab- gebildet.

Tutorial 1: Implementation kombinatorischer Schaltungen mit einem CAD-System

2 Aufbau und Validierung eines Einstellenaddierers mit VHDL

2.1 Anlegen eines Projekts

Starten Sie nun das Werkzeug QuartusII. Nach etwas Wartezeit öffnet sich der Startbildschirm.

Nach etwas Wartezeit öffnet sich der Startbildschirm. Legen Sie nun ein Projekt namens Adder in einem

Legen Sie nun ein Projekt namens Adder in einem Verzeichnis an, dessen Namen kein Leerzei- chen enthält. Hinweis: Leider hat uns Microsoft mit dem wunderschönen Verzeichnisnamen „Dokumente und Einstellungen“ für eigene Dateien beglückt. Dieses und alle Unterver- zeichnisse sind für Quartus-Dateien nicht geeignet! Die folgenden Screenshots beschreiben dies:

a)

Über den Menüpunkt „New Project Wizard…“ im File- Menü wird ein Helfer (Wizard) für das Anlegen eines neuen Projekt gestartet.

Wizard…“ im File- Menü wird ein Helfer ( Wizard ) für das Anlegen eines neuen Projekt

Tutorial 1: Implementation kombinatorischer Schaltungen mit einem CAD-System

b) In dessen Fenster wird nun ein Projektname und ein Dateiverzeichnis für das Projekt fest- gelegt. Hier wurde ein Verzeichnis \altera\qdesigns\dt\V1_08\Adder erzeugt. Das Pro- gramm erhält den Namen „Add“ und als Name der Top-Level-Entity wird AddByte eingetra- gen.

als Name der Top-Level-Entity wird AddByte eingetra- gen. c) Durch Drücken des Knopfs „Finish“ wird das

c) Durch Drücken des Knopfs „Finish“ wird das Projekt angelegt.

2.2 Spezifizieren des Volladdierers

Der Volladdierer realisiert die folgenden boole’schen Funktionen

, Cout A B Cin

,

Sum A B Cin

(

(

) =

) =

,

,

A

B

A B

+

Cin

A Cin B Cin

+

Diese Formeln sind die Grundlagen für den nun zu erstellende VHDL-Entity für einen Volladdierer.

Tutorial 1: Implementation kombinatorischer Schaltungen mit einem CAD-System

2.3 Spezifizieren des Volladdierers in VHDL

Erzeugen Sie zunächst mit File->New eine VHDL-Datei.

Erzeugen Sie zunächst mit File->New eine VHDL-Datei. Ein Testeditor-Fenster wird geöffnet, in das Sie den
Erzeugen Sie zunächst mit File->New eine VHDL-Datei. Ein Testeditor-Fenster wird geöffnet, in das Sie den

Ein Testeditor-Fenster wird geöffnet, in das Sie den folgenden VHDL-Code eingeben. Beachten Sie dabei, dass das QuartusII-System die Spezifikation von DTS in VHDL durch einen speziellen Texteditor unterstützt, der die Schlüsselwörter, Kommentare und Konstanten farbig kennzeichnet und nach Wunsch auch syntaktische Konstrukts, wie z.B. ein entity- Konstrukt, als template er- zeugt.

Tutorial 1: Implementation kombinatorischer Schaltungen mit einem CAD-System

kombinatorischer Schaltungen mit einem CAD-System Sichern Sie dieses Modell unter dem Namen VA.vhd im
kombinatorischer Schaltungen mit einem CAD-System Sichern Sie dieses Modell unter dem Namen VA.vhd im

Sichern Sie dieses Modell unter dem Namen VA.vhd im Projektverzeichnis

Tutorial 1: Implementation kombinatorischer Schaltungen mit einem CAD-System

2.4 Fehlerbeseitigung über den VHDL-Compiler

Die erstellte Datei soll nun zunächst einmal geprüft werden. Dazu sind die folgenden Arbeitsschrit- te erforderlich:

a) Temporär wird dieser Modellteil zur „Top Level Entity“ gesetzt, damit Quartus weiß, dass es nun diesen Teil bearbeiten soll.

zur „Top Level Entity“ gesetzt, damit Quartus weiß, dass es nun diesen Teil bearbeiten soll. 2010-09-16

Tutorial 1: Implementation kombinatorischer Schaltungen mit einem CAD-System

b)

Mit dem Arbeitsschritt „Analysis and Elaboration“ aus dem „Processing->Start“-Menü wird der Compiler aufgerufen.

wird der Compiler aufgerufen. In dem Tasks-Fenster (links in der folgender Abbildung) wird

In dem Tasks-Fenster (links in der folgender Abbildung) wird der Arbeitsfortschritt ange- zeigt. Falls dieses Fenster nicht sichtbar ist, können Sie aus dem View->Utility Windows- >Tasks dieses Tasks-Fenster anzeigen lassen.

ist, können Sie aus dem View->Utility Windows- >Tasks dieses Tasks-Fenster anzeigen lassen. 2010-09-16 7

Tutorial 1: Implementation kombinatorischer Schaltungen mit einem CAD-System

kombinatorischer Schaltungen mit einem CAD-System Da wir bewusst noch einen Fehler in der Vorlage gelassen
kombinatorischer Schaltungen mit einem CAD-System Da wir bewusst noch einen Fehler in der Vorlage gelassen

Da wir bewusst noch einen Fehler in der Vorlage gelassen haben, erscheint das folgenden Meldungsfenster (soweit Sie alles richtig abgetippt haben):

Tutorial 1: Implementation kombinatorischer Schaltungen mit einem CAD-System

kombinatorischer Schaltungen mit einem CAD-System Der Fehler besteht darin, dass in der letzten

Der Fehler besteht darin, dass in der letzten „end“-Anweisung nicht der Name der Architek- tur steht, sondern der der entity. Dieser Fehler wird vom Compiler erkannt und entspre- chend benannt (name used in construct must match previously specified name „bool“). Er- setzen Sie dementsprechend in der letzten Zeile das Wort VA durch das Wort bool. An- schließend starten Sie den Compiler neu. Nun sollte er das folgende Ergebnis zeigen:

Compiler neu. Nun sollte er das folgende Ergebnis zeigen: Die nun noch vorhandene „Warnings“ entstehen dadurch,

Die nun noch vorhandene „Warnings“ entstehen dadurch, dass es die (später noch spezifi- zierte) entity AddByte noch nicht gibt. Sie können hier ignoriert werden.

Tutorial 1: Implementation kombinatorischer Schaltungen mit einem CAD-System

2.5 Validierung durch Simulation

Die entity VA soll nun geprüft (validiert) werden, indem mit einem Simulator Signale an die Eingän- ge gelegt und die Ergebnisse beobachtet werden. Dazu wird zunächst eine Simulationsdatei ange- legt, mit der der Simulator arbeitet, und dann die Simulation durchgeführt.

2.5.1 Erstellung der Simulationsdatei

Die Simulationsdatei (Altera spricht von vector waveform file, vwf) wird über das File->New-Menü (s. o.) angelegt; diesmal wird eine vwf-Datei ausgewählt.

(s. o.) angelegt; diesmal wird eine vwf-Datei ausgewählt. Der VWF-Editor öffnet nun das folgende Fenster: 2010-09-16

Der VWF-Editor öffnet nun das folgende Fenster:

Tutorial 1: Implementation kombinatorischer Schaltungen mit einem CAD-System

kombinatorischer Schaltungen mit einem CAD-System Im folgenden Arbeitsschritt müssen nun die Signale des

Im folgenden Arbeitsschritt müssen nun die Signale des Modells in dieses Fenster importiert wer- den. Dazu wählt man über das Edit-Menü den Punkt „Insert->Insert Node or Bus“

importiert wer- den. Dazu wählt man über das Edit-Menü den Punkt „Insert->Insert Node or Bus“ 2010-09-16

Tutorial 1: Implementation kombinatorischer Schaltungen mit einem CAD-System

kombinatorischer Schaltungen mit einem CAD-System Im folgenden PopUp-Fenster wird der Node Finder aufgerufen:

Im folgenden PopUp-Fenster wird der Node Finder aufgerufen:

Dieser öffnet ein Auswahlfenster, das zunächst leer ist.

Dieser öffnet ein Auswahlfenster, das zunächst leer ist. In der Auswahlbox „Filter“ (oben Mitte) muss nun

In der Auswahlbox „Filter“ (oben Mitte) muss nun u.U. noch der Punkt „Pins: All“ ausgewählt wer- den.

Tutorial 1: Implementation kombinatorischer Schaltungen mit einem CAD-System

kombinatorischer Schaltungen mit einem CAD-System Über den List-Knopf werden nun die Signale gesucht; das

Über den List-Knopf werden nun die Signale gesucht; das Werkzeug zeigt sie im rechten großen Textfeld an.

den List-Knopf werden nun die Signale gesucht; das Werkzeug zeigt sie im rechten großen Textfeld an.

Tutorial 1: Implementation kombinatorischer Schaltungen mit einem CAD-System

Da hier alle Signale auch in der Simulation beobachtet werden sollen, werden sie nun über den >> -Knopf in den Bereich „Selected Nodes“ kopiert.

-Knopf in den Bereich „Selected Nodes“ kopiert. Mit OK wird der Node Finder beendet, und die

Mit OK wird der Node Finder beendet, und die Port-Signale des VA erscheinen nun im Simulations- Fenster.

Port-Signale des VA erscheinen nun im Simulations- Fenster. In den nun folgenden Schritten werden die Stimuli

In den nun folgenden Schritten werden die Stimuli für die Simulation festgelegt, d.h. die Eingabesi- gnale erhalten definierte Werte, in unserem Fall periodische Signalverläufe mit verschiedener Fre- quenz, so dass jede Kombination von Signalwerten einmal auftritt. Zunächst wird dazu das Fenster vergrößert, so dass es den gesamten Arbeitsbereich von Quartus einnimmt, und dann wird über

Tutorial 1: Implementation kombinatorischer Schaltungen mit einem CAD-System

den Menüpunkt „View->Fit in Window“ der gesamte Simulationsbereich gezeigt.

mit einem CAD-System den Menüpunkt „View->Fit in Window“ der gesamte Simulationsbereich gezeigt. 2010-09-16 15

Tutorial 1: Implementation kombinatorischer Schaltungen mit einem CAD-System

Ihr VWF-Fenster sollte nun wie folgt aussehen:

CAD-System Ihr VWF-Fenster sollte nun wie folgt aussehen: Falls die Endzeit (hier 1µs) und das Gitter

Falls die Endzeit (hier 1µs) und das Gitter (hier 10 ns) nicht so erscheinen, können Sie sie entspre- chend setzen über die Menüpunkte „Edit-> End Time“ und „Edit->Grid Size“. Nun werden die Stimuli festgelegt. Markieren Sie das Signal A durch Mausklick auf das Feld links

von seinen Namen und wählen Sie über den seitlich angebrachten Werkzeugknopf zeug zur Definition periodischer Signale (Clock) aus.

den seitlich angebrachten Werkzeugknopf zeug zur Definition periodischer Signale (Clock) aus. ein Werk- 2010-09-16 16
den seitlich angebrachten Werkzeugknopf zeug zur Definition periodischer Signale (Clock) aus. ein Werk- 2010-09-16 16

ein Werk-

Tutorial 1: Implementation kombinatorischer Schaltungen mit einem CAD-System

kombinatorischer Schaltungen mit einem CAD-System In den nun folgenden Pop-Up-Fenstern wählen Sie eine

In den nun folgenden Pop-Up-Fenstern wählen Sie eine Periode von 200 ns aus.

Pop-Up-Fenstern wählen Sie eine Periode von 200 ns aus. Mit den gleichen Arbeitsschritten erzeugen Sie nun

Mit den gleichen Arbeitsschritten erzeugen Sie nun für das Signal B eine Clock mit 400 ns Periode und für CIn eine mit 800 ns aus. Das Simulations-Arbeitsfenster sollte nun so aussehen:

Tutorial 1: Implementation kombinatorischer Schaltungen mit einem CAD-System

kombinatorischer Schaltungen mit einem CAD-System Diese Datei speichern Sie nun ab mittels File->Save

Diese Datei speichern Sie nun ab mittels File->Save (oder über den Disketten-Knopf) unter dem Namen VA.vwf.

Tutorial 1: Implementation kombinatorischer Schaltungen mit einem CAD-System

2.5.2

Simulation

Das Simulatorwerkzeug wird nun über den Menüpunkt Processing->Simulator Tool gestartet. Es öffnet sich das folgende Pop-Up-Fenster zur Bedienung:

Es öffnet sich das folgende Pop-Up-Fenster zur Bedienung: Kontrollieren Sie bitte, ob die beiden Textfelder oben

Kontrollieren Sie bitte, ob die beiden Textfelder oben den hier dargestellten Inhalt haben, also ob der Simulation mode auf functional und der Simulation input auf VA.vwf eingestellt ist. Nun muss noch die „Functional Simulation Netlist“ über den Knopf oben rechts erstellt werden. Dieser startet noch einmal den Compiler, der eine Netzliste erzeugt, auf deren Basis die Simulation stattfindet.

Tutorial 1: Implementation kombinatorischer Schaltungen mit einem CAD-System

kombinatorischer Schaltungen mit einem CAD-System Mit dem Start-Knopf wird dann die Simulation gestartet. Sie

Mit dem Start-Knopf wird dann die Simulation gestartet. Sie meldet sich nach kurzer Zeit.

die Simulation gestartet. Sie meldet sich nach kurzer Zeit. Anschließend überträgt man durch Druck auf den
die Simulation gestartet. Sie meldet sich nach kurzer Zeit. Anschließend überträgt man durch Druck auf den

Anschließend überträgt man durch Druck auf den Knopf

dung die Ergebnisse der Simulation in die Simulations-Datei VA.vwf. Nun kann man im Simulati-

und Bestätigen der Warnmel-

Tutorial 1: Implementation kombinatorischer Schaltungen mit einem CAD-System

onseditor die Ergebnisse sich anschauen.

einem CAD-System onseditor die Ergebnisse sich anschauen. Damit haben Sie dieses erste Tutorial erfolgreich

Damit haben Sie dieses erste Tutorial erfolgreich abgeschlossen.