[[dtpr_versuch_2]]

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
dtpr_versuch_2 [2016/04/20 14:51]
beckmanf Fragen eingefügt
dtpr_versuch_2 [2020/09/28 14:44]
beckmanf quartus usb blaster
Line 11: Line 11:
 ==== Starten einer Shell unter Ubuntu ==== ==== Starten einer Shell unter Ubuntu ====
  
-{{ ::ubuntu03.jpg?800 Ubuntu Startleiste mit Terminal}}+{{ ::dtpr-start-terminal.jpg | Start des Terminal}}
  
 Starten Sie das Terminal durch klicken auf das Terminalsymbol. ​ Starten Sie das Terminal durch klicken auf das Terminalsymbol. ​
  
-{{ ::ubuntu04.jpg?800 Ubuntu ​mit Terminal}}+{{ ::dtpr-terminal.jpg | Fenster ​mit Terminal}}
  
 Jetzt haben Sie ein geöffnetes Terminalprogramm. Jetzt haben Sie ein geöffnetes Terminalprogramm.
Line 30: Line 30:
 |rm| rm hallo.txt| Löschen der Datei "​hallo.txt"​ | |rm| rm hallo.txt| Löschen der Datei "​hallo.txt"​ |
 |less| less hallo.txt| Anschauen der Datei "​hallo.txt"​. Beenden mit "​q"​| |less| less hallo.txt| Anschauen der Datei "​hallo.txt"​. Beenden mit "​q"​|
-|geditgedit hallo.txt| Editor starten für die Datei hallo.txt|+|[[http://​heather.cs.ucdavis.edu/​~matloff/​UnixAndC/​Editors/​ViIntro.html|vi]]| vi hallo.txt| Editor starten für die Datei hallo.txt|
  
 ==== Laden der Designdaten vom git Server ==== ==== Laden der Designdaten vom git Server ====
Line 36: Line 36:
 Die Designdaten für das Digitaltechnikpraktikum sind auf dem [[https://​git.etech.fh-augsburg.de|git Server der Fakultät Elektrotechnik]]. Der Zugriff erfolgt über das git Programm. Auf dem git server befindet sich das [[https://​git.etech.fh-augsburg.de/​friedrich.beckmann/​digitaltechnikpraktikum|Projekt Digitaltechnikpraktikum]] mit den Dateien für das Praktikum. Die Designdaten für das Digitaltechnikpraktikum sind auf dem [[https://​git.etech.fh-augsburg.de|git Server der Fakultät Elektrotechnik]]. Der Zugriff erfolgt über das git Programm. Auf dem git server befindet sich das [[https://​git.etech.fh-augsburg.de/​friedrich.beckmann/​digitaltechnikpraktikum|Projekt Digitaltechnikpraktikum]] mit den Dateien für das Praktikum.
  
-{{ ::ubuntu05.jpg?800 Einrichten ​des Projektverzeichnisses}}+{{ ::dtpr-mkdir-projects.jpg | Anlegen ​des Projektverzeichnisses}}
  
-Richten Sie ein Verzeichnis "​projects"​ in Ihrem home directory ein. Das Homedirectory ist "/​home/​caeuser"​. In dieser Anleitung ist das Homeverzeichnis "/​home/​fritz",​ da ich die Anleitung auf meinem Rechner entworfen habe. Wechseln Sie in das Verzeichnis "​projects"​ und laden Sie mit "​git"​ die Designdaten vom git Server.  ​+Richten Sie ein Verzeichnis "​projects"​ in Ihrem home directory ein. Das Homedirectory ist "/​home/​caeuser"​. Wechseln Sie in das Verzeichnis "​projects"​ und laden Sie mit "​git"​ die Designdaten vom git Server.  ​
  
 <​code>​ <​code>​
Line 49: Line 49:
 Das sollte dann so aussehen: ​ Das sollte dann so aussehen: ​
  
-{{ ::ubuntu06.jpg?800 | Projektverzeichnis nach Download}}+{{ ::dtpr-git-clone.jpg | Projektverzeichnis nach Download}}
  
 Wechseln sie dann in das Verzeichnis "​digitaltechnikpraktikum"​ und dann in das Verzeichnis "​src"​. Starten Sie dort einen Editor und schauen sich die Datei "​ledsw_rtl.vhd"​ an.  Wechseln sie dann in das Verzeichnis "​digitaltechnikpraktikum"​ und dann in das Verzeichnis "​src"​. Starten Sie dort einen Editor und schauen sich die Datei "​ledsw_rtl.vhd"​ an. 
Line 57: Line 57:
 cd src cd src
 ls -la ls -la
-gedit ledsw_rtl.vhd+emacs ledsw_rtl.vhd
 </​code>​ </​code>​
  
-{{ ::ubuntu07.jpg?800 gedit mit leds_rtl.vhd}}+{{ ::dtpr-emacs.jpg | emacs mit ledsw_rtl.vhd}}
  
-Die VHDL Datei beschreibt ein Design mit 10 Eingängen "​SW"​ und 10 Ausgängen "​LEDR"​. In der Architektur werden die Eingänge "​SW"​ auf die Ausgänge "​LEDR"​ geschaltet. Damit sollen die roten LEDs abhängig von den Schaltern "​SW"​ ein- und ausgeschaltet werden. ​+Im Emacs Editor werden nach dem Start zwei "​Buffer"​ angezeigt. Tippen Sie <​code>​ctrl-x 1</​code>​ um nur den Buffer mit der VHDL Datei anzuzeigen.  
 + 
 +{{::​dtpr-emacs-onebuf.jpg| emacs nach dem Umschalten auf einen Buffer mit ctrl-x 1}} 
 + 
 +Die VHDL Datei beschreibt ein Design mit 10 Eingängen "​SW"​ und 10 Ausgängen "​LEDR"​. In der Architektur werden die Eingänge "​SW"​ auf die Ausgänge "​LEDR"​ geschaltet. Damit sollen die roten LEDs abhängig von den Schaltern "​SW"​ ein- und ausgeschaltet werden.
 ==== Synthese mit Altera Quartus - Manuelles Aufsetzen des Projektes ==== ==== Synthese mit Altera Quartus - Manuelles Aufsetzen des Projektes ====
  
Line 95: Line 99:
 Es erscheint folgendes Fenster. ​ Es erscheint folgendes Fenster. ​
  
-{{ ::quartus01.jpg?800 | Startbildschirm Quartus}}+{{ ::dtpr-quartus-start.jpg | Startbildschirm Quartus}}
  
 Drücken Sie "​Create a new project"​. ​ Drücken Sie "​Create a new project"​. ​
  
-{{ ::quartus02.jpg?800 | Quartus Projektname}}+{{ ::dtpr-quartus-projectname.jpg | Quartus Projektname}}
  
 Wählen Sie als Projektnamen "​ledsw"​ und als Namen für die Toplevelentity auch "​ledsw"​. Achten Sie darauf, dass das working directory "​digitaltechnikpraktikum/​pnr/​ledsw-manual"​ ist. In diesem Verzeichnis werden die (u.a. temporäre) Projektdateien gespeichert. ​ Wählen Sie als Projektnamen "​ledsw"​ und als Namen für die Toplevelentity auch "​ledsw"​. Achten Sie darauf, dass das working directory "​digitaltechnikpraktikum/​pnr/​ledsw-manual"​ ist. In diesem Verzeichnis werden die (u.a. temporäre) Projektdateien gespeichert. ​
  
-{{ ::quartus03.jpg?800 | Quartus VHDL Datei einfügen}}+{{ ::dtpr-quartus-add-file-1.jpg | Quartus VHDL Datei auswählen}}
  
 Im nächsten Schritt müssen dem Projekt die VHDL Dateien hinzugefügt werden. In diesem Projekt gibt es nur die eine Datei "​ledsw_rtl.vhd"​. Wählen Sie die Datei aus und klicken Sie auf "​ADD"​. ​ Im nächsten Schritt müssen dem Projekt die VHDL Dateien hinzugefügt werden. In diesem Projekt gibt es nur die eine Datei "​ledsw_rtl.vhd"​. Wählen Sie die Datei aus und klicken Sie auf "​ADD"​. ​
  
- +{{ ::dtpr-quartus-add-file-2.jpg | Quartus ​VHDL Datei hinzufügen}}
-{{ ::quartus04.jpg?800 | Quartus ​Projektname}}+
  
 Danach muss der FPGA Typ auswählt werden, der sich auf der Platine befindet. Wählen Sie als Familie "​Cyclone II" und als Baustein "​EP2C20F484C7"​. ​ Danach muss der FPGA Typ auswählt werden, der sich auf der Platine befindet. Wählen Sie als Familie "​Cyclone II" und als Baustein "​EP2C20F484C7"​. ​
  
-{{ ::quartus05.jpg?800 | Quartus Device}}+{{ ::dtpr-quartus-select-fpga.jpg | Quartus ​Select FPGA Device}}
  
 Danach können Sie beim Assistenten immer auf "​Weiter"​ klicken und dann den Assistenten beenden. Das Projekt sollte dann so aussehen: ​ Danach können Sie beim Assistenten immer auf "​Weiter"​ klicken und dann den Assistenten beenden. Das Projekt sollte dann so aussehen: ​
  
-{{ ::quartus06.jpg?800 | Quartus Projekt eingerichtet ohne Pins}}+{{ ::dtpr-quartus-edit-view.jpg | Quartus Projekt eingerichtet ohne Pins}}
  
 Starten Sie jetzt die Übersetzung der VHDL Datei mit "​Processing -> Start Compilation"​. ​ Starten Sie jetzt die Übersetzung der VHDL Datei mit "​Processing -> Start Compilation"​. ​
  
-{{ ::quartus07.jpg?800 | Quartus Start Compilation}}+{{ ::dtpr-quartus-start-compilation.jpg | Quartus Start Compilation}}
  
 Die Synthese sollte durchlaufen. Allerdings treten zwei wichtige Warnmeldungen auf.  Die Synthese sollte durchlaufen. Allerdings treten zwei wichtige Warnmeldungen auf. 
  
-{{ ::quartus08.jpg?800 | Quartus ​Fehlermeldungen ​bei Synthese}}+{{ ::dtpr-quartus-warnings.jpg | Quartus ​Warnungen ​bei Synthese}}
  
 Die eine Meldung sagt aus, dass für Ein- und Ausgänge keine Pins auf dem FPGA festgelegt sind. Die andere Meldung besagt, dass alle ungenutzten Pins vom FPGA als "​Output driving Ground"​ geschaltet sind. Das ist nicht gut, wenn an diesem Pin z.B. ein Schalter angeschlossen ist, der auf VDD geschaltet ist. Dann gibt es einen Kurzschluss. ​ Die eine Meldung sagt aus, dass für Ein- und Ausgänge keine Pins auf dem FPGA festgelegt sind. Die andere Meldung besagt, dass alle ungenutzten Pins vom FPGA als "​Output driving Ground"​ geschaltet sind. Das ist nicht gut, wenn an diesem Pin z.B. ein Schalter angeschlossen ist, der auf VDD geschaltet ist. Dann gibt es einen Kurzschluss. ​
  
-Man kann die nicht angeschlossenen Pins auch im "Pin Planner"​ anschauen. ​ +Man kann die nicht angeschlossenen Pins auch im "Pin Planner"​ anschauen.
-{{ ::​quartus09.jpg?​800 | Quartus Pin Planner starten}}+
  
-Dort sieht man, dass für die Anschlüsse "​LEDR"​ und "​SW"​ noch keine Pinfestlegung erfolgt ist. Das "​Location"​ Feld ist noch leer.  +{{ ::​dtpr-quartus-start-pinplanner.jpg | Quartus Pin Planner starten}} 
-{{ ::quartus10.jpg?800 | Quartus Pin Planner ohne Zuordnung der Pins}}+ 
 +Dort sieht man, dass für die Anschlüsse "​LEDR"​ und "​SW"​ noch keine Pinfestlegung erfolgt ist. Das "​Location"​ Feld ist noch leer. 
 +  
 +{{ ::dtpr-quartus-pinplanner-nolocation.jpg | Quartus Pin Planner ohne Zuordnung der Pins}}
  
 Um die Pins festzulegen wird jetzt mit "​Assignments -> Import Assignments"​ die Datei "​ledsw_pin_assignments.csv"​ eingelesen. ​ Um die Pins festzulegen wird jetzt mit "​Assignments -> Import Assignments"​ die Datei "​ledsw_pin_assignments.csv"​ eingelesen. ​
  
-{{ ::quartus11.jpg?800 | Quartus Import Assignments}} +{{ ::dtpr-quartus-import-assignments.jpg | Quartus Import Assignments}} 
-{{ ::quartus12.jpg?800 | Quartus Pin Assignment Datei}}+{{ ::dtpr-quartus-select-assignmens.jpg | Quartus Pin Assignment Datei}}
  
-Wenn man dann den "Pin Planner"​ nochmal öffnet, sieht man die Zuordnung der Ein- und Ausgänge zu den Pins auf dem FPGA.  +Wenn man dann den "Pin Planner"​ nochmal öffnet, sieht man die Zuordnung der Ein- und Ausgänge zu den Pins auf dem FPGA. 
-{{ ::quartus13.jpg?800 | Quartus Pin Planner o.k.}}+ 
 +{{ ::dtpr-quartus-pinplanner-withpins.jpg | Quartus Pin Planner o.k.}}
  
 Jetzt muss noch festgelegt werden, dass unbenutzte Pins als Eingänge geschaltet werden. Wählen Sie dazu "​Assignments -> Device"​. ​ Jetzt muss noch festgelegt werden, dass unbenutzte Pins als Eingänge geschaltet werden. Wählen Sie dazu "​Assignments -> Device"​. ​
  
-{{ ::quartus14.jpg?800 | Quartus Device Options}}+{{ ::dtpr-quartus-device-options-1.jpg | Quartus Device Options}}
  
 und dann "​Device and Pin Options"​ und dann "​Device and Pin Options"​
  
-{{ ::quartus15.jpg?800 | Quartus Device and Pin Options}}+{{ ::dtpr-quartus-device-options-2.jpg | Quartus Device and Pin Options}}
  
 Wählen Sie dann bei "​Unused Pins" die Option "As input tri-stated"​. ​ Wählen Sie dann bei "​Unused Pins" die Option "As input tri-stated"​. ​
-{{ ::quartus16.jpg?800 | Quartus Unused pin options}}+ 
 +{{ ::dtpr-quartus-unused-pins.jpg | Quartus Unused pin options}}
  
 ** Sie müssen dann die Synthese nochmal neu starten mit "​Processing -> Start Compilation"​.** Nach erfolgreicher Synthese können Sie den "​Programmer"​ starten mit "Tools -> Programmer"​. ** Sie müssen dann die Synthese nochmal neu starten mit "​Processing -> Start Compilation"​.** Nach erfolgreicher Synthese können Sie den "​Programmer"​ starten mit "Tools -> Programmer"​.
  
-{{ ::quartus17.jpg?800 | Quartus Programmer starten}}+{{ ::dtpr-quartus-programmer-start.jpg | Quartus Programmer starten}} 
 + 
 +Im Programmer muss man dann die Programmierschnittstelle zur Programmierung des FPGA auswählen. Das funktioniert nur, wenn auch tatsächlich ein FPGA Board über USB am Rechner angeschlossen ist. Falls Sie mit einer virtuellen Maschine arbeiten, muss der USB Port der virtuellen Maschine zugeordnet werden.  
 + 
 +{{ ::​dtpr-quartus-hardware-setup.jpg | Quartus Programmer}} 
 + 
 +Wenn das FPGA Board angeschlossen und die virtuelle Maschine richtig konfiguriert ist, dann kann man **USB-Blaster [2-2.2]** auswählen. 
 + 
 +{{::​dtpr-quartus-hardware-select.jpg| Quartus USB Blaster}} 
 + 
 +Nach dem Kompilieren steht die FPGA Konfigurationsdatei "​ledsw.sof"​ zur Verfügung. Diese Datei muss man mit "Add File" auswählen. Danach kann man den Download der Konfigurationsdatei mit "​Start"​ beginnen. 
 + 
 +{{::​dtpr-quartus-programmer-file.jpg| Quartus Programmer mit USB Blaster}} 
 + 
 +Wenn der Download erfolgreich war, dann sieht man das am grünen "​Progress"​ Balken.
  
-Wenn Sie kein Board angeschlossen haben, dann sieht das Fenster so aus+{{::​dtpr-quartus-programmer-success.jpg| Quartus Programmer nach erfolgreichem Download}}
  
-{{ ::quartus18.jpg?800 | Quartus Programmer ohne Platine}}+Danach kann man auf dem FPGA die roten LED's über die Schalter darunter ein- und ausschalten.
  
 ==== Synthese mit Altera Quartus - Projekt aufsetzen mit Skript ==== ==== Synthese mit Altera Quartus - Projekt aufsetzen mit Skript ====
  • dtpr_versuch_2.txt
  • Last modified: 2021/03/29 09:57
  • by gmo