FACHHOCHSCHULE KAISERSLAUTERN STANDORT ZWEIBRÜCKEN Informatik und Mikrosystemtechnik Dipl. Informatiker ( FH ) Stefan Konrath Stand: 07.08.2007 Arbeiten mit XILINX - ISE - WebPACK Neues FPGA-Projekt anlegen simulieren OnBoard-Test für den Studiengang Angewandte Informatik 1
Dieses Dokument stellt eine kurze Anleitung für die Einarbeitung in die XILINX FPGA Software ISE-WebPACK dar. Weitere Informationen sind den, der Software beigefügten Handbücher, im PDF-Format zu entnehmen. Start der Entwicklungsumgebung durch Doppelklick auf. Das Programm wird geladen und gestartet. 2
Bildschirm beim erstmaligen Programmstart. 3
Unter File die Menüposition New Project anwählen. 4
In die Eingabefelder des New-Project-Wizard die u.a. Eingaben tätigen. Weiter mit der Next -Taste. 5
Hier müssen die Device-Properties ( für unser FPGA-Board ) eingegeben werden. Weiter mit der Next -Taste. 6
Über die New Source -Taste geht es zur Eingabe des Zugriffpfades, der Auswahl des Source-Types sowie der Festlegung des Dateinamens. 7
Hier findet die Auswahl des Source-Types sowie die Festlegung des Dateinamens statt. Eingaben siehe nächstes Bild. 8
Weiter mit der Next -Taste. 9
Hier findet die Portdefinition der Entity statt. Diese kann zu einem anderen Zeitpunkt im Quelltextfile, hier Und_Funktion modifiziert werden. 10
Für unser Beispiel bitte o.a. Eingaben tätigen. Weiter mit der Next -Taste. 11
Hier können die Eingaben überprüft und ggf. mittels den Navigationstasten korrigiert werden. Weiter mit der Finish -Taste. 12
Meldung falls das Verzeichnis noch nicht vorhanden ist. Weiter mit der Yes -Taste. 13
Weiter mit der Next -Taste. 14
Weiter mit der Next -Taste. 15
Weiter mit der Finish -Taste oder mit der Back -Taste für Korrekturen. 16
Das Projekt wurde erfolgreich angelegt, der Rahmen der VHDL-Sourcedatei automatisch erzeugt. Diese Datei steht nun zur weiteren Bearbeitung bereit. 17
Doppelklicken um in das von der IDE erzeugte VHDL-Sourcefile zu kommen ( s.u. ). 18
Hier nun den entsprechenden Quellcode eingeben. Datei abspeichern nicht vergessen. 19
Erst nach dem vorherigen Abspeichern kann compiliert werden! Doppelklick startet den Compilevorgang. 20
Bei erfolgreichem Compilelauf, ansonsten siehe nächstes Bild. 21
Compilelauf war leider fehlerhaft. Doppelklick auf zeigt die Fehlerstelle im Quellcode. 22
Nun soll die Applikation simuliert werden. Auswahl siehe oben. Zur Zeit befindet sich nur unser Sourcefile in der Baumdarstellung. 23
Zur Simulation benötigen wir eine sog. TestBench. Die automatische Rahmenerzeugung geschieht im ersten Schritt zunächst durch Doppelklick auf Create New Source. 24
Hierbei öffnet sich das bereits bekannte Select Source Type Fenster des New Source Wizard. Wir wollen eine VHDL TestBench erzeugen. Ein entsprechender Dateiname kann unter Filename eingegeben werden. Weiter mit der Next -Taste. 25
Weiter mit der Next -Taste. Weiter mit der Finish -Taste. 26
Die TestBench wurde automatisch erzeugt. Unsere Sourcedatei ist nun die uut, d.h. unit under test Hier die automatisch erzeugte TestBench-Datei. 27
Zum Testen unserer uut sind noch die entsprechenden Testsignalverläufe ( s.o. ) zu codieren. Nach der Eingabe bitte abspeichern. 28
Untergruppierung beim Xilinx ISE Simulator durch Klick auf + öffnen. 29
Nun kann die TestBench durch Doppelklick auf Check Syntax compiliert werden. 30
Meldungen bei fehlerfreier Compilierung. 31
Meldung für fehlerhafte Compilierung. Bitte Quellcode überarbeiten und erneut compilieren. 32
Bei erfolgreicher Compilierung kann die Simulation gestartet werden. Klick mit der rechten Maustaste auf Simulate Behavioral Model öffnet ein Popup- Menü. 33
Hier Properties anklicken. 34
Hier die Default-Properties. Die Simulation Run Time für unser Beispiel auf 100ns abändern und mit OK abschließen. 35
Durch Doppelklick auf Simulate Behavioral Model kann die Simulation gestartet werden. 36
Fenster des Simulators mit Darstellung der Simulationskurven für unser Beispiel. 37
Simulationsergebnis für unser Beispiel. 38
Hier können die Entity-Variablen eingesehen werden. 39
Wir unterbrechen jetzt die Simulation durch Auswahl von Synthesis / Implementation. Doppelklick auf View RTL Schematic 40
Graphische Darstellung der Entity des VHDL-Modules. Durch Doppelklick in das grün umrahmte Modul zeigt die Innenschaltung an. Siehe nächste Darstellung. 41
Innenschaltung des UND-Modules. 42
Doppelklick auf View Technologie Schematic. 43
Graphische Darstellung der Entity des VHDL-Modules. Durch Doppelklick in das grün umrahmte Modul zeigt die Innenschaltung mit LUT an. Siehe nächste Darstellung. 44
Darstellung mit Lookuptable. Durch Doppelklick in das Innenfeld der LUT2_8 gelangt man zum nächsten Bild. 45
Innenschaltung der LUT2_8. 46
Anzeige der Wahrheitstabelle über PageSelect Truth Table. 47
Anzeige des KV-Diagrammes über PageSelect Karnaugh Map. 48
Jetzt wollen wir die erstellte Konfiguration auf das XILINX-Board übertragen ( in den FPGA-Baustein ) und dort mit der angeschlossenen Hardware ( LED, Schiebeschalter ) testen. Zur Kopplung mit der vorhandenen Hardware ist eine Verbindung zwischen FPGA-Baustein-Pin und unseren Einträgen in der Entity notwendig. Dies geschieht über ein sog. UCF-File ( User Constraint File ). Dieses File ist das Bindeglied zwischen Konfiguration und Hardware. Doppelklick auf Edit Constraints ( Text ) um ein UCF-File zu editieren, falls vorhanden, oder zu erzeugen falls ein neues Projekt vorliegt. 49
Yes zum Erzeugen eines neuen leeren UCF-Files. Soeben erzeugtes, noch leeres UCF-File. 50
Bitte hier die grau hinterlegten Eintragungen vornehmen. Logischer Anschluß eingang_1 wird mit dem FPGA-Baustein-Pin L13 verknüpft. Hier ist der Schiebeschalter SW0 elektrisch angeschlossen. An L13 wird ein bausteininterner Pullup-Widerstand hinzugeschaltet. Logischer Anschluß ausgang wird mit dem FPGA-Baustein-Pin F12 verknüpft. Hier ist die Leuchtdiode LD0 elektrisch angeschlossen. F12 wird als langsamer Ausgang mit einem maximalen Ausgangsstrom von 8mA konfiguriert. Alle drei benutzten Bausteinanschlüsse sind als Low-Voltage-TTL -Anschlüsse ( LVTTL ) konfiguriert. Nach den Eingaben bitte Datei abspeichern. 51
Öffnen der Treelist Generate Programming File durch Klick auf +. 52
Doppelklick auf Programming File Generation Report startet die Erzeugung des Konfigurationsfiles für den FPGA-Baustein. 53
Nach dem erfolgreichen Durchlauf verschiedener Abarbeitungsphasen sollte die Treelist das o.g. Aussehen aufweisen. 54
Doppelklick auf Configure Device startet die Software zur Übertragung der erstellten Konfigurationsdatei auf das FPGA-Board. Das hierzu notwendige USB- Kabel muß zwischen PC und FPGA-Board gesteckt sein. 55
Weiter mit der Finish -Taste. Verbindung zum Board wird hergestellt. 56
Auswahl des zu übertragenden Konfigurationsfiles. 57
und_funktion_file.bit auswählen. Weiter mit der Open -Taste. Mit der OK -Taste quittieren. 58
Weiter mit der Cancel -Taste. Weiter mit der Cancel -Taste. 59
Klick auf Baustein xc3s500e. FPGA-Baustein ( xc3s500e ) ist zum konfigurieren bereit. Weiter durch Klick mit der rechten Maustaste auf den grün hinterlegten FPGA-Baustein. Zum Programmieren bitte Program auswählen. 60
Weiter mit der OK -Taste. 61
Datei wurde erfolgreich übertragen. Die Konfiguration wurde auf dem FPGA-Board automatisch gestartet und kann mittels den Schiebeschaltern SW0 und SW1 sowie der Leuchtdiode LD0 getestet werden. 62
Das vorliegende FPGA-Board 63
Bei der UND-Funktion sind nur die Schiebeschalter SW0 und SW1 relevant. Das UND-Ergebnis wird an der Leuchtdiode LED0 angezeigt. E n d e 64