Tutorial 1

Embed Size (px)

Citation preview

Grundlagen der Technischen Informatik in der Fakultt IME Georg Hartung, Stefan Kreiser, Lothar Thieling Tutorial 1 Implementation kombinatorischer Schaltungen mit einem CAD-System

Tutorial zum Kennenlernen eines CAD-WerkzeugsTeil1: Erstellen eines einfachen DTS-Moduls 1. ArbeitsschritteDer folgende Abschnitt erlutert das schrittweise Vorgehen zur Erstellung und Inbetriebnahme eines 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. Prfen 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 vorausgesetzt, dass Sie das Entwicklungswerkzeug Altera QuartusII installiert haben, sowie die entsprechende Theorie (Boolesche 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 Mens anders sein als hier dargestellt; die Schritte sind aber alle hnlich durchfhrbar. 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 fr einen Einstellenaddierer (Volladdierer) spezifiziert und validiert. Im zweiten Teil wird diese Schaltung benutzt und zu einem Addierer/Subtrahierer fr Byte-Zahlen (8 Bit) graphisch zusammengesetzt, validiert und dann auf einen Baustein abgebildet.

2010-09-16

1

Tutorial 1: Implementation kombinatorischer Schaltungen mit einem CAD-System

2 Aufbau und Validierung eines Einstellenaddierers mit VHDL2.1 Anlegen eines ProjektsStarten Sie nun das Werkzeug QuartusII. Nach etwas Wartezeit ffnet sich der Startbildschirm.

Legen Sie nun ein Projekt namens Adder in einem Verzeichnis an, dessen Namen kein Leerzeichen enthlt. Hinweis: Leider hat uns Microsoft mit dem wunderschnen Verzeichnisnamen Dokumente und Einstellungen fr eigene Dateien beglckt. Dieses und alle Unterverzeichnisse sind fr Quartus-Dateien nicht geeignet! Die folgenden Screenshots beschreiben dies: a) ber den Menpunkt New Project Wizard im FileMen wird ein Helfer (Wizard) fr das Anlegen eines neuen Projekt gestartet.

2010-09-16

2

Tutorial 1: Implementation kombinatorischer Schaltungen mit einem CAD-System b) In dessen Fenster wird nun ein Projektname und ein Dateiverzeichnis fr das Projekt festgelegt. Hier wurde ein Verzeichnis \altera\qdesigns\dt\V1_08\Adder erzeugt. Das Programm erhlt den Namen Add und als Name der Top-Level-Entity wird AddByte eingetragen.

c) Durch Drcken des Knopfs Finish wird das Projekt angelegt.

2.2

Spezifizieren des Volladdierers

Der Volladdierer realisiert die folgenden booleschen Funktionen

Sum( A, B, Cin) = A B Cin Cout ( A, B, Cin) = A B + A Cin + B CinDiese Formeln sind die Grundlagen fr den nun zu erstellende VHDL-Entity fr einen Volladdierer.

2010-09-16

3

Tutorial 1: Implementation kombinatorischer Schaltungen mit einem CAD-System

2.3

Spezifizieren des Volladdierers in VHDL

Erzeugen Sie zunchst mit File->New eine VHDL-Datei.

Ein Testeditor-Fenster wird geffnet, 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 untersttzt, der die Schlsselwrter, Kommentare und Konstanten farbig kennzeichnet und nach Wunsch auch syntaktische Konstrukts, wie z.B. ein entity- Konstrukt, als template erzeugt.

2010-09-16

4

Tutorial 1: Implementation kombinatorischer Schaltungen mit einem CAD-System

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

2010-09-16

5

Tutorial 1: Implementation kombinatorischer Schaltungen mit einem CAD-System

2.4

Fehlerbeseitigung ber den VHDL-Compiler

Die erstellte Datei soll nun zunchst einmal geprft werden. Dazu sind die folgenden Arbeitsschritte erforderlich: a) Temporr wird dieser Modellteil zur Top Level Entity gesetzt, damit Quartus wei, dass es nun diesen Teil bearbeiten soll.

2010-09-16

6

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.

In dem Tasks-Fenster (links in der folgender Abbildung) wird der Arbeitsfortschritt angezeigt. Falls dieses Fenster nicht sichtbar ist, knnen 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

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

2010-09-16

8

Tutorial 1: Implementation kombinatorischer Schaltungen mit einem CAD-System

Der Fehler besteht darin, dass in der letzten end-Anweisung nicht der Name der Architektur steht, sondern der der entity. Dieser Fehler wird vom Compiler erkannt und entsprechend benannt (name used in construct must match previously specified name bool). Ersetzen Sie dementsprechend in der letzten Zeile das Wort VA durch das Wort bool. Anschlieend starten Sie den Compiler neu. Nun sollte er das folgende Ergebnis zeigen:

Die nun noch vorhandene Warnings entstehen dadurch, dass es die (spter noch spezifizierte) entity AddByte noch nicht gibt. Sie knnen hier ignoriert werden.

2010-09-16

9

Tutorial 1: Implementation kombinatorischer Schaltungen mit einem CAD-System

2.5

Validierung durch Simulation

Die entity VA soll nun geprft (validiert) werden, indem mit einem Simulator Signale an die Eingnge gelegt und die Ergebnisse beobachtet werden. Dazu wird zunchst eine Simulationsdatei angelegt, mit der der Simulator arbeitet, und dann die Simulation durchgefhrt.

2.5.1 Erstellung der SimulationsdateiDie Simulationsdatei (Altera spricht von vector waveform file, vwf) wird ber das File->New-Men (s. o.) angelegt; diesmal wird eine vwf-Datei ausgewhlt.

Der VWF-Editor ffnet nun das folgende Fenster:

2010-09-16

10

Tutorial 1: Implementation kombinatorischer Schaltungen mit einem CAD-System

Im folgenden Arbeitsschritt mssen nun die Signale des Modells in dieses Fenster importiert werden. Dazu whlt man ber das Edit-Men den Punkt Insert->Insert Node or Bus

2010-09-16

11

Tutorial 1: Implementation kombinatorischer Schaltungen mit einem CAD-System

Im folgenden PopUp-Fenster wird der Node Finder aufgerufen: Dieser ffnet ein Auswahlfenster, das zunchst leer ist.

In der Auswahlbox Filter (oben Mitte) muss nun u.U. noch der Punkt Pins: All ausgewhlt werden.

2010-09-16

12

Tutorial 1: Implementation kombinatorischer Schaltungen mit einem CAD-System

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

2010-09-16

13

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.

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

In den nun folgenden Schritten werden die Stimuli fr die Simulation festgelegt, d.h. die Eingabesignale erhalten definierte Werte, in unserem Fall periodische Signalverlufe mit verschiedener Frequenz, so dass jede Kombination von Signalwerten einmal auftritt. Zunchst wird dazu das Fenster vergrert, so dass es den gesamten Arbeitsbereich von Quartus einnimmt, und dann wird ber 14

2010-09-16

Tutorial 1: Implementation kombinatorischer Schaltungen mit einem CAD-System den Menpunkt 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:

Falls die Endzeit (hier 1s) und das Gitter (hier 10 ns) nicht so erscheinen, knnen Sie sie entsprechend setzen ber die Menpunkte 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 whlen Sie ber den seitlich angebrachten Werkzeugknopf zeug zur Definition periodischer Signale (Clock) aus. ein Werk-

2010-09-16

16

Tutorial 1: Implementation kombinatorischer Schaltungen mit einem CAD-System

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

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

2010-09-16

17

Tutorial 1: Implementation kombinatorischer Schaltungen mit einem CAD-System

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

2010-09-16

18

Tutorial 1: Implementation kombinatorischer Schaltungen mit einem CAD-System

2.5.2 SimulationDas Simulatorwerkzeug wird nun ber den Menpunkt Processing->Simulator Tool gestartet. Es ffnet sich das folgende Pop-Up-Fenster zur Bedienung:

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.

2010-09-16

19

Tutorial 1: Implementation kombinatorischer Schaltungen mit einem CAD-System

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

Anschlieend bertrgt man durch Druck auf den Knopf und Besttigen der Warnmeldung die Ergebnisse der Simulation in die Simulations-Datei VA.vwf. Nun kann man im Simulati-

2010-09-16

20

Tutorial 1: Implementation kombinatorischer Schaltungen mit einem CAD-System onseditor die Ergebnisse sich anschauen.

Damit haben Sie dieses erste Tutorial erfolgreich abgeschlossen.

2010-09-16

21