Tutorials im Zusammenhang mit Verilog-Simulation



Ähnliche Dokumente
2. Aufgabenblatt

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Einführung zum Arbeiten mit Microsoft Visual C Express Edition

Starten Sie Eclipse: Hier tragen sie Ihr Arbeitsverzeichnis ein. Zu Hause z.b. c:\workspace.

Anleitung zur Webservice Entwicklung unter Eclipse

1 Vorraussetzungen. 2 Installiere Eclipse. FS 2015 Herausgabe: Dr. A. L. Schüpbach, D. Sidler, Z. István Departement Informatik, ETH Zurich

Version 0.3. Installation von MinGW und Eclipse CDT

eridea AG Installation Eclipse V 1.4

SRH - Kurzinformation

Arbeiten mit UMLed und Delphi

KeePass Anleitung. 1.0Allgemeine Informationen zu Keepass. KeePass unter Windows7

Updateseite_BuV-PlugIn-NERZ-Gesamt

Installation einer C++ Entwicklungsumgebung unter Windows --- TDM-GCC und Eclipse installieren

Mediator 9 - Lernprogramm

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

Informationen zur Verwendung von Visual Studio und cmake

Einführung in TexMaker

Installationsanleitungen

Informatik I Tutorial

Installation OMNIKEY 3121 USB

Informatik 1 Tutorial

Wie halte ich Ordnung auf meiner Festplatte?

Hinweise zur Datensicherung für die - Prüfmittelverwaltung - Inhalt

ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg Weiterstadt

LEHRSTUHL FÜR DATENBANKEN

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Informations- und Kommunikationsinstitut der Landeshauptstadt Saarbrücken. Upload- / Download-Arbeitsbereich

Tipps und Tricks zu den Updates

25 Import der Beispiele

Konfigurationslanleitung für J2EE und Eclipse im KBS-Pool

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT

INSTALLATION VON INSTANTRAILS 1.7

Installation und Inbetriebnahme von Microsoft Visual C Express

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Windows 7 Winbuilder USB Stick

QTTabBar Einrichtung, ein Tutorial

Anleitung zur Installation und Verwendung von eclipseuml 2.1.0

Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann.

Step by Step Softwareverteilung unter Novell. von Christian Bartl

Hex Datei mit Atmel Studio 6 erstellen

Wo möchten Sie die MIZ-Dokumente (aufbereitete Medikamentenlisten) einsehen?

Anleitung zur Reparatur von MDAC

Arbeiten in der Agro-Cloud mit Windows PC

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

Gruppenrichtlinien und Softwareverteilung

Eclipse 3.0 (Windows)

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook ( ) Zentrum für Datenverarbeitung der Universität Tübingen

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

eridea AG Installation Eclipse V 1.1

FMGate Installation & Benutzung

Anwenderhandbuch. xdomea-viewer

Python Installation. 1 Vorbereitung. 1.1 Download. Diese Anleitung ist für Windows ausgelegt.

AutoCAD Dienstprogramm zur Lizenzübertragung

Microsoft Access 2010 Navigationsformular (Musterlösung)

Dokumentation IBIS Monitor

Tutorial: Erstellen einer vollwertigen XP Home CD aus der EEE 901 Recover DVD

Pfötchenhoffung e.v. Tier Manager

GITS Steckbriefe Tutorial

FIREBIRD BETRIEB DER SAFESCAN TA UND TA+ SOFTWARE AUF MEHR ALS EINEM COMPUTER

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Konvertieren von Settingsdateien

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Bilder zum Upload verkleinern

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Historical Viewer. zu ETC5000 Benutzerhandbuch 312/15

Installation der Konfigurationsdateien für alle Windows-Versionen bis einschließlich Microsoft Windows 7

TIF2ELO Maskeneditor Handbuch

UpToNet Installationsanleitung Einzelplatz und Netzwerk

ASA Schnittstelle zu Endian Firewall Hotspot aktivieren. Konfiguration ASA jhotel

Anleitung über den Umgang mit Schildern

ACHTUNG: Es können gpx-dateien und mit dem GP7 aufgezeichnete trc-dateien umgewandelt werden.

NODELOCKED LIZENZ generieren (ab ST4)

Anleitung. Einrichtung vom HotSync Manager für den Palm 1550 bis 1800 unter Windows 7. Palm SPT 1500 / 1550 Palm SPT 1700 / Bits & Bytes Seite 1

Lieferschein Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

Allgemeine Anleitung Treiber für CP2102

Hochschule Aalen. OpenVPN. Anleitung zur Installation

StarCraft Brood War Kampagnen in StarCraft II Installations-Handbuch

B) Klassenbibliotheken Turtle und Util (GPanel, Console) installieren Ein Unterverzeichnis classes auf der Festplatte erstellen, z.b.

Python SVN-Revision 12

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Elexis-BlueEvidence-Connector

Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG

1. Einführung Erstellung einer Teillieferung Erstellung einer Teilrechnung 6

Process4.biz Release Features Übersicht. Repository. Das Schützen von Diagrammen wurde optimiert (check-in, check-out)

Windows Server 2012 RC2 konfigurieren

Installationsanleitung für OpenOffice.org Sprachpakete

Stepperfocuser 2.0 mit Bootloader

Herzlich willkommen bei der Installation des IPfonie -Softclients!

Nach der Installation des FolderShare-Satellits wird Ihr persönliches FolderShare -Konto erstellt.

NOXON Connect Bedienungsanleitung Manual

GEONET Anleitung für Web-Autoren

Google Places Karte in die Homepage integrieren. Was ist Google Places?

Windows 7 Ordner und Dateien in die Taskleiste einfügen

Anleitung directcms 5.0 Newsletter

Drupal 8 manuell installieren

2. Im Admin Bereich drücken Sie bitte auf den roten Button Webseite bearbeiten, sodass Sie in den Bearbeitungsbereich Ihrer Homepage gelangen.

Transkript:

Tutorials im Zusammenhang mit Verilog-Simulation Installation, Konfiguration, Simulation 15. Oktober 2008 Autoren: Wolfgang Heenes, Jacqueline Vogel, Joscha Drechsler Zusammenstellung: Joscha Drechsler joscha_d@rbg.informatik.tu-darmstadt.de FB Informatik FG Rechnerarchitektur

1 Inhaltsverzeichnis 1 Simulation mit dem Xillinx ISE WebPack 2 1.1 Installation........................................................... 2 1.2 Erstellung und Simulation eines Projektes....................................... 2 2 Tutorial für Icarus und GTKWave 6 2.1 Icarus Verilog......................................................... 6 2.2 GTKWave............................................................ 7 3 Tutorial für Integration von Icarus Verilog und GTKWave in Eclipse unter Windows 10 3.1 Verwendete Pakete...................................................... 10 3.1.1 Eclipse developement platform......................................... 10 3.1.2 Icarus Verilog..................................................... 10 3.1.3 Verilog Editor Plugin für Eclipse........................................ 10 3.1.4 Gimp Tool Kit (GTK) for Windows....................................... 10 3.1.5 GTKWave (Win32 Version)............................................ 10 3.2 Installation........................................................... 10 3.2.1 Eclipse developement platform......................................... 10 3.2.2 Icarus Verilog..................................................... 10 3.2.3 Gimp Tool Kit.................................................... 11 3.2.4 GTKWave....................................................... 11 3.2.5 Verilog Editor.................................................... 11 3.3 Konfiguration......................................................... 13 3.3.1 Einstellen der Verilog-Ansicht.......................................... 13 3.3.2 Erstellen des Verilog-Projekts........................................... 14 3.3.3 Konfiguration des Projekts............................................ 16 3.4 Beispiel und Test....................................................... 18 3.4.1 Die Testumgebung testbed.v.......................................... 18 3.4.2 Das Modul clockinverter............................................ 19 3.4.3 Ausgabe der Waveform in GTKWave...................................... 19 4 Tutorial für Quartus II 22 4.1 Anlegen eines Projekts................................................... 22 4.2 Eingabe eines Design-Files................................................. 23 4.3 Übersetzung des Design-Files............................................... 23 4.4 Simulation des Design-Files................................................ 23 4.5 Benutzung des RTL Viewers................................................ 25 5 Tutorial für Verilogger Pro 26

2 1 Simulation mit dem Xillinx ISE WebPack 1.1 Installation Als erstes muss die Entwicklungsumgebung ISE installiert werden. Die Software ist für Windows und Linux verfügbar. 1 Als Programmpaket wird das ISE WebPACK verwendet, um es herunterzuladen muss man bei Xilinx registriert sein. Die URL zum Download lautet: http://www.xilinx.com/ise/logic_design_prod/webpack.htm Fertig installiert nimmt das Tool etwa 4 GB Speicherplatz ein! Außerdem sollten die folgenden zwei Dokumentationen heruntergeladen werden: 1. http://toolbox.xilinx.com/docsan/xilinx10/books/manuals.pdf 2. http://toolbox.xilinx.com/docsan/xilinx10/books/docs/qst/qst.pdf 1.2 Erstellung und Simulation eines Projektes Legen Sie mit Xilinx ISE ein neues Projekt an. Nutzen Sie dazu den New Project Wizard (File New Project... ). Als Projektname geben Sie z. B. uebung1_2 ein. Außerdem können Sie ein Arbeitsverzeichnis wählen. Geben Sie als Family Virtex2P, als Device XC2VP30, als Package FF896 und für Speed -5 an. Wichtig ist, dass Sie als Simulator ISE Simulator (VHDL/Verilog) auswählen. Die folgende Abbildung zeigt das Auswahlfenster. 1 Studierende mit anderen Betriebssystemen können die Übungen im Pool durchführen. Auf den Rechnern der RBG ist ebenfalls eine Installation vorhanden. Dazu muss in einem Terminalfenster source/usr/local/cad-tools/ise-9.1/settings.sh ausgeführt werden. Mit ise wird das Programm gestartet.

3 Das nächste Fenster erlaubt es neue Quellcodedateien zu erstellen. Klicken Sie auf New Source.... Geben Sie als Dateinamen hadd.v an und wählen Sie als Typ Verilog Module. Der New Source Wizzard erlaubt die Eingabe der Eingänge und Ausgänge. Erstellen sie zwei Eingänge (a und b) sowie zwei Ausgänge (c und s). In den folgenden Fenstern klicken Sie Next bzw. Finish. Danach geht ein Fenster zur Eingabe des Quellcodes auf. Sie können nun folgendes Beispiel eines Halbaddierers vervollständigen. 1 module hadd( 2 input a, 3 input b, 4 output c, 5 output s 6 ); 7 assign s = a ^ b; // ^ exklusiv -oder 8 assign c = a & b; // & und 9 endmodule Listing 1.1: Halbaddierer Nach der Eingabe soll die Syntax des Programms überprüft werden. Oben links bei Sources for muss Implementation ausgewählt und das Programm hadd.v markiert sein. Unter dem Punkt Synthesize-XST kann die Syntaxüberprüfung durch Check Syntax gestartet werden.

4 Erzeugen Sie nun eine Testbench 2. Dazu starten sie den New Source Wizzard (Project New Source). Wählen Sie diesmal Verilog Test Fixture und als Dateinamen testbed.v. Die nächsten Fenster werden mit Next und Finish bestätigt. Es wird wieder ein Verilog HDL File vorgegeben, welches entsprechend folgendem Beispiel zu ergänzen ist. Natürlich können auch andere Zeiten angeben werden. Listing 1.2: Testbett 1 module testbed; 2 // Inputs 3 reg a; 4 reg b; 5 // Outputs 6 wire c; 7 wire s; 8 9 // Instantiate the Unit Under Test (UUT) 10 hadd uut ( 11.a(a), 12.b(b), 13.c(c), 14.s(s) 15 ); 16 17 initial begin 18 // Initialize Inputs 19 a = 0; b = 0; 20 21 // Simulate 22 #10 a = 1; b = 0; 23 #20 a = 1; b = 1; 24 end 25 endmodule Für die Simulation muss im Fenster oben links bei Sources for jetzt Behavioral Simulation ausgewählt werden. Nach Markieren von testbed kann unter Xilinx ISE Simulator mit Simulate Behavioral Model die Simulation gestartet werden. 2 Simulationsfile, Stimuli

Das Simulationsergebnis sollte etwa so aussehen: 5

6 2 Tutorial für Icarus und GTKWave Icarus Verilog ist ein Verilog Simulations und Synthesetool. Es verhält sich wie ein Compiler und übersetzt den Verilog Code in ein bestimmtes Zielformat. Icarus Verilog ist kommandozeilenbasiert. Es ist sowohl für Linux als auch für Windows verfügbar. Im Rechnerpool ist Icarus installiert und kann mit iverilog gestartet werden. 2.1 Icarus Verilog Das berühmte Hallo Welt Programm kann natürlich auch mit Verilog ausgeführt werden. 1 module hello; 2 initial $display("hallo Welt"); 3 endmodule Listing 2.1: Hallo Welt (hello.v) Um es zu kompilieren muss iverilog aufgerufen werden. In den Poolräumen erfolgt das über die Kommandozeile durch Eingabe des entsprechenden Befehls. Unter Windows ist ebenfalls eine Kommandozeile erforderlich. Hierfür eignet sich am besten cygwin oder die windowsinterne Kommadozeile. Cygwin ist eine linuxähnliche Umgebung für Windows. Mit dem Befehl % iverilog -o hello hello.v wird die Kompilierung der Datei hello.v, die in Listing 2.1 angeben ist, gestart. Die Ergebnisse der Kompilierung werden in die Datei hello geschrieben. Wird keine Ausgabedatei angegeben, wird das Ergebnis standardmäßig in die Datei a.out geschrieben. Das übersetzte Programm kann nun mit dem Befehl % vvp hello ausgeführt werden. Die Ausgabe sollte jetzt so aussehen:

7 Im folgenden soll ein Halbaddierer simuliert werden. Listing 2.2: Halbaddierer mit Testumgebung 1 module hadd2(a, b, c, s); 2 input a, b; 3 output c, s; 4 assign s = a ^ b; // ^ exklusiv -oder 5 assign c = a & b; // & und 6 endmodule 7 8 9 module testbed(c,s); 10 reg a,b; 11 output c,s; 12 13 hadd2 test(a,b,c,s); 14 15 initial begin 16 a = 0; b = 0; 17 # 10 a = 1; b = 0; 18 # 20 a = 1; b = 1; 19 end 20 21 initial #50 $finish; 22 23 always@ (c or s) 24 $display("ausgang s (Summe) ist %b. Ausgang c (Carry) ist %b. Zeitpunkt %0d",s,c, $time); 25 26 endmodule In Zeile 23 des Listings 2.2 erfolgt die Ausgabe der Simulationsergebnisse. Bei jeder Änderung der an den Ausgängen anliegenden Werte wird der Befehl display aufgerufen und erwirkt die Ausgabe der jeweiligen Werte. 2.2 GTKWave Für eine graphische Ausgabe der Simulation kann GTKWave benutzt werden. Daz muss in der Simulation eine Ausgabedatei für GTKWave erstellt werden. Mit den folgenden Zeilen, eingefügt in das Top-Level Modul des Verilogprogramms, wird eine solche Datei geschrieben. 1 initial 2 begin 3 $dumpfile("und.vcd"); 4 $dumpvars (0); 5 end Listing 2.3: Erstellen der Ausgabedatei für GTKWave Mit dem Befehl $dumpfile wird der Name der Ausgabedatei für die graphische Darstellung mit GTKWave angegeben. Der zweite Befehl bestimmt welche Variablen aufgezeichnet werden. Mit $dumpvars(1) werden nur die Variablen des aktuellen Moduls protokolliert, mit $dumpvars(0) werden die Variablen im eigenen und in allen untergeordneteten Modulen aufgezeichnet. Als Beispiel greifen wir hier erneut zurück auf den Halbaddierer. Die Ausgabe der Testumgebung wird durch den in Listing 2.3 geschriebenen Code ersetzt. 1 module hadd(a, b, c, s); 2 input a, b; 3 output c, s; 4 assign s = a ^ b; // ^ exklusiv -oder Listing 2.4: Erstellen der Ausgabedatei für GTKWave

8 5 assign c = a & b; // & und 6 endmodule 7 8 // Simulationsumgebung 9 10 module testbed_1(c,s); 11 reg a,b; 12 output c,s; 13 14 hadd test(a,b,c,s); 15 16 timescale 1ns/1ns 17 18 initial begin 19 a = 0; b = 0; 20 # 5 a = 1; b = 0; 21 # 5 a = 1; b = 1; 22 # 5 a = 0; b = 0; 23 24 25 end 26 27 initial #30 $finish; 28 29 initial begin 30 $dumpfile("hadd.vcd"); 31 $dumpvars (0); 32 end 33 34 endmodule Damit das Dumpfile geschrieben wird, muss die Datei neu kompilliert und gestartet werden. Mit dem Befehl gtkwave dateiname.vcd öffnet sich ein graphisches Interface. Vorerst sind hier noch keine Signale zu sehen. In GTKWave müssen noch die darzustellenden Signale ausgewählt werden. Dazu muss man in der Auswahlbox SST (Signal Search Tree) den gewünschten Eintrag auswählen. In der Auswahlbox Signals erscheinen nun die auf-

9 gezeichneten Variablen aus dem Verilog Programm. Auch hier müssen die gewünschten Signale ausgewählt werden und die Auswahl muss danach mit Append bestätigt werden. Im rechten Teil des GTKWave-Fensters ist jetzt die Simulation in graphischer Form dargestellt.

10 3 Tutorial für Integration von Icarus Verilog und GTKWave in Eclipse unter Windows 3.1 Verwendete Pakete 3.1.1 Eclipse developement platform Website: http://www.eclipse.org/ Hier benutzt: Eclipse SDK Version 3.2.1 3.1.2 Icarus Verilog Website: http://www.icarus.com/eda/verilog/ Hier benutzt: iverilog-0.8-setup.exe (Version 0.8.3) 3.1.3 Verilog Editor Plugin für Eclipse Website: http://veditor.sourceforge.net/ Hier benutzt: net.sourceforge.veditor_0.5.0.zip 3.1.4 Gimp Tool Kit (GTK) for Windows Website: http://www.gimp.org/~tml/gimp/win32/downloads.html Hier benutzt: GTK+ 2 Runtime Environment (version 2.10.6 for Windows 2000 and newer) 3.1.5 GTKWave (Win32 Version) Website: http://home.nc.rr.com/gtkwave/ Hier benutzt: GTKWave 2.0.20 for Win32 3.2 Installation 3.2.1 Eclipse developement platform Die Installation von Eclipse bedarf keiner besonderen Richtlinien und kann völlig normal vorgenommen werden. 3.2.2 Icarus Verilog Zum installieren von Icarus Verilog muss lediglich die heruntergeladene Installationsdatei gestartet werden. Hier benutzt: Installationsverzeichnis C:\Programme\IcarusVerilog\ (ein Pfadname ohne Leerzeichen ist nötig, der Standardpfad kann nicht verwendet werden. Die restlichen Einstellungen sind frei wählbar, Add executable to System PATH variable am Ende der Installation ist nicht zwingend notwendig).

11 3.2.3 Gimp Tool Kit Zur Installation von GTK das heruntergeladene Zip-Archiv entpacken und die darin enthaltene Installtionsdatei ausführen. Hier benutzt: Installationsverzeichnis C:\Programme\GTK2\, Einstellungen für Zusatzpakete sind frei wählbar. 3.2.4 GTKWave Das heruntergeladene Archiv enthält hier keine Installation sondern die auführbare standalone Executable. Diese kann in ein beliebiges Verzeichnis entpackt werden. Hier benutzt: C:\Programme\GTKWave.exe. 3.2.5 Verilog Editor Entweder das heruntergeladene Archiv direkt ins Eclipse-Verzeichnis entpacken oder manuell entpacken und den Ordner net.sourceforge.veditor_0.5.0 im enthaltenen Unterverzeichnis plugins in das plugins-verzeichnis der Eclipse-Installation kopieren oder verschieben. Zunächst jetzt Eclipse starten. Dort unter Help About Eclipse SDK auf Plugin Details klicken.

In der erscheinden Liste steht jetzt, vorausgesetzt, die Installation war Erfolgreich, das Verilog Editor Plugin. 12

13 3.3 Konfiguration 3.3.1 Einstellen der Verilog-Ansicht Nun zunächst wieder ins Eclipse. Unter Window Open perspective Other... Verilog auswählen und bestätigen.

14 Jetzt sollte im Eclipse-Fenster neben Java auch Verilog/VHDL auftauchen. 3.3.2 Erstellen des Verilog-Projekts Als nächstes wird das Verilog-Projekt 1 erstellt. Dazu im Projekt-Wizard unter Verilog/VHDL den Typ Verilog/VHDL project auswählen und bestätigen. Die Wahl des Speicherorts für das Projekt ist beliebig, der Pfad unterliegt keinen weiteren Einschränkungen und muss auch nicht im Standard Eclipse Workspace liegen. 1 Die in diesem Tutorial erstellte Konfiguration ist darauf ausgelegt, dass lediglich ein einziges Verilogprojekt verwendet wird. Die später erstellte Datei testbed.v dient in dem gesamten Projekt als Basis und muss für sämtliche Programmierungen angepasst oder neu angelegt werden. Mit einer besseren Kentnis der Eclipse-Funktionen ließe sich selbstverständlich auch eine Methode finden, eine allgemeine Konfiguration zu erstellen, welche für mehrere Projekte verwendet werden könnte. Dies ist jedoch nicht Bestandteil dieses Tutorials.

15 In dem Projekt wird nun ein neues Verzeichnis angelegt. Hier wird es bench genannt da dieses Verzeichnis später die Arbeitsbank des Compilers und des Simulators sein wird. In bench wird nun noch eine Batch-Datei (hier run.bat) angelegt.

16 Beim bestätigen dieses Fensters produziert Eclipse einige Fehler da es die Datei offenbar direkt versucht auszuführen was jedoch fehlschlägt da sie noch leer ist. Diese Fehler können einfach ignoriert und weggeklickt werden. run.bat wird dafür zuständig sein, auf Knopfdruck die kompilierte Verilog-Datei zu Simulieren und anschließend ihr Waveform-Diagramm in GTKWave anzuzeigen. Diese Datei jetzt mit Rechtsklick Open with Text editor im Eclipse öffnen und bearbeiten. Sie sollte folgenden Inhalt (Pfad- und Dateinamen müssen angepasst werden sollten bei den vorigen Installationen andere Einstellungen verwendet worden sein als in diesem Dokument) bekommen: Listing 3.1: run.bat 1 @echo off 2 PATH=%PATH%;C:\ Programme\gtk2\bin 3 PATH=%PATH%;C:\ programme\icarusverilog\bin 4 echo Now statring vvp (simulation )... 5 vvp testbed.out 6 echo Simulation done, now starting gtkwave (wave form display )... 7 c:\ programme\gtkwave testbed.vcd Die Datei speichern und wieder schließen. 3.3.3 Konfiguration des Projekts Auf das Projekt einen Rechtsklick Properities um die Eigenschaften zu öffnen. Dort links Verilog/VHDL Simulator auswählen und die Einstellungen wie folgt setzen:

17 Außerdem ganz oben Enable Verilog/VHDL Builder anhaken und das ganze bestätigen. Zuletzt im Verilog-Projekt Hauptverzeichnis (nicht im bench-verzeichnis) ein neues Verilog File anlegen mit Namen testbed.v. Sollte ein anderer Name gewählt werden müsste sowohl die Batch-Datei run.bat als auch die Simulatorparameter angepasst werden.

18 Die angelegte Datei sollte sich direkt in Eclipse öffnen. testbed.v ist jetzt das Kontrollzentrum und Simulationsumgebung. Welche Toplevel-Module auch immer getestet oder simuliert werden sollen müssen in dieser Datei instanziert und mit Eingaben gefüttert werden. 3.4 Beispiel und Test Im Folgenden wird testbed.v mit einem Beispielprogramm gefüllt welches die Benutzung des nun erstellten Systems klarstellen soll: Als erstes braucht man für eine Simulation ein Testobjekt. Das zu testende Modul in diesem Fall ist ein Clock- Inverter der ein Taktsignal als Eingangssignal aufnimmt und Phaseninvertiert wieder ausgibt. 3.4.1 Die Testumgebung testbed.v testbed.v muss nun also eine Instanz des Inverters erstellen und einen Takt generieren der an den Inverter gegeben wird. Des weiteren muss testbed.v die Ausgabeparameter für den Simulator bestimmen, zum Einen, welche Signale alle in die Waveform-Datei geschrieben werden sollen und zum Anderen, wo die Waveform-Datei erstellt werden soll 2. Der Inhalt der Datei sollte also wie folgt aussehen: Listing 3.2: testbed.v für die Simulation des Clock-Inverters 1 module testbed(q); 2 output q; 3 4 //---TESTZONE --- 5 clockinverter clkinv(clk,q); 6 initial #10 $finish; 7 //---Ende der Testzone --- 8 9 // clock generation 10 reg clk; 11 initial clk=1; 12 always #2 clk=~clk; 13 14 // waveform settings 15 initial begin 16 $dumpfile("testbed.vcd"); 17 $dumpvars (0); 18 end 19 endmodule 2 In diesem Fall muss die Ausgabedatei immer testbed.vcd heißen, es sei denn man ändert die Batch-Datei run.bat.

19 Sobald diese Datei gespeichert wird sollte der Verilog-Builder einen Fehler produzieren: {} Elaboration failed *** These modules were missing: clockinverted referenced 1 times. *** Dieser Fehler ist selbstverständlich, testbed.v benutzt schließlich ein Modul namens clockinverter welches noch nicht existiert. 3.4.2 Das Modul clockinverter Also wird eine Datei gleichen Namens auf die selbe Weise wie testbed.v erstellt und mit folgendem Inhalt gefüllt: 1 module clockinverter(clkin, clkout); 2 input clkin; 3 output clkout; 4 assign clkout=~clkin; 5 endmodule Listing 3.3: clockinverter.v Beim speichern dieser Datei sollte in der Konsole erneut ein build erfolgen, diesmal jedoch ohne Fehler. Ist das der Fall war der build erfolgreich und die Simulation kann gestartet werden. 3.4.3 Ausgabe der Waveform in GTKWave An dieser Stelle hat die Batch-Datei run.bat ihren Einsatz. Man kann sie sowohl manuell ausführen als auch Eclipse konfigurieren, dass die Datei auf Knopfdruck gestartet wird. Dafür erstellt man unter External tools (der grüne Play-Knopf mit rotem Werkzeugkasten davor in der Menüleiste) per Rechtsklick auf Program New eine neue Run- Konfiguration.

In dieser neuen Konfiguration, hier Simulate+Display genannt, sollte man nun über die Browse Workspace- Buttons die Batch-Datei run.bat beziehungsweise ihr Verzeichnis auswählen. 20

21 Die Konfiguration abspeichern und Run drücken. Dadurch läuft das Output der Batch-Datei mit dem Simulator über die Konsole. An dieser Stelle sieht man dann auch eventuelle Textausgaben aus den Verilog-Modulen die ausgeführt werden. Anschließend wird GTKWave mit der frisch erzeugten Waveform-Datei gestartet. Dort muss nurnoch aus unter testbed das Modul clockinverter ausgewählt werden, clkin und clkout markiert und über Insert- oder Append-Button am unteren Rand in die Darstellung aufgenommen werden. Die Verlaufskurven der Werte erscheinen Dann im Darstellungsfenster. Jetzt kann man jederzeit nach Änderungen in der Kontrollumgebung testbed.v oder in den Modulenvornehmen und wenn der build nach dem Speichern fehlerfrei durchgelaufen ist einfach über den grünen Play-Knopf mit dem roten Werkzeugköfferchen mit einem klick die Simulation ablaufen lassen und bekommt direkt GTKWave mit der entsprechenden Waveform-Datei geladen auf den Bildschirm.

22 4 Tutorial für Quartus II Diese Kurzanleitung beschreibt anhand eines einfachen 4-Bit Zählers die Eingabe, Simulation, Synthese und Programmierung mit der Entwicklungsumgebung Quartus II. 4.1 Anlegen eines Projekts Nach dem Start von Quartus II in der Menüleiste unter Files New Project Wizard auswählen. Mit dem Wizard wird u. a. das Projektverzeichnis, die im Projekt benutzten Design-Files (VHDL, Verilog HDL etc.) ausgewählt. Im ersten Schritt des Wizards muss das TopLevelModul angegeben werden, der Name muss identisch mit dem Namen des Verilog-Hauptmoduls sein. Weiterhin kann an dieser Stelle schon die Device-Family angegeben werden (zum Beispiel der Cyclone EP1C20F324C7). Durch Drücken des Button Finish wird der Project Wizard geschlossen.

23 4.2 Eingabe eines Design-Files In der Menüleiste wird unter Files New ausgewählt. Dort wählt man den File-Typ aus (Device Design Files, Software Files, Other Files). Bei den Device Design Files kann man zwischen AHDL, Block Diagram, EDIF, Verilog HDL und VHDL wählen. Nach Auswahl von z.b. Verilog HDL hat man ein Syntax Highlighting für Verilog HDL. Nach Eingabe des Codes File speichern. 4.3 Übersetzung des Design-Files Der Übersetzungsvorgang (Netzlistengenerierung, Synthese) wird durch Auswahl von Start Compilation (Strg + L) im Processing- Menü ausgeführt. In der Regel wird es immer einige Warnings geben, da in der WebEdition einige Features nicht vorhanden sind. 4.4 Simulation des Design-Files Zur Simulation wird unter Files New die Registerkarte Other Files ausgewählt. Dort wird dann Vector Waveform File ausgewählt. Daraufhin öffnet sich ein Fenster Waveform1.vwf.

24 Durch drücken der rechten Maustaste im linken Teil des Fenster (Name, Value at) kommt man zum Node Finder (Insert Node or Bus). Im Node Finder kann man durch Klick auf List alle Signale anzeigen lassen. Diese werden durch den Button» in das Fenster Selected Nodes kopiert und mit OK bestätigt. Im Waveform-Fenster sind jetzt alle ausgewählten Pins angezeigt. Wenn man die Eingänge in der Waveform auswählt, kann man über die Buttons links neben der Waveform-Ansicht die Werte für die markierten Bereiche ändern. Über das Menü Processing, Start Simulation kann die Simulation gestartet werden, vorher muss jedoch die Waveform-Datei gespeichert werden.

25 4.5 Benutzung des RTL Viewers Der RTL Viewer befindet sich im Menü Tools, Netlist Viewers, RTLViewer.

26 5 Tutorial für Verilogger Pro Vorgehensweise für eine Simulation mit dem SynaptiCAD VeriLogger am Beispiel des Halbaddierers. Für die Simulation sind die notwendigen Dateien in ein Projekt einzubinden. Dazu sind folgende Schritte notwendig. 1. Hinzufügen von Files zu einem Projekt: Im Projektfenster (links oben) mit rechter Maustaste und Add HDL File(s) die Dateien zu einem Projekt hinzufügen. 2. Mit dem gelben Button werden die Files übersetzt (Simulation Built). 3. Simulation mit dem grünen Button starten. Die Signale des Top-Level-Moduls werden automatisch im Fenster Diagram angezeigt.