Nach dem Starten der Software
kann man mit dem Projekt Wizard ein neues Projekt anlegen. Dieser
erleichtert einem die nötigen Einstellungen und erzeugt ein Grundgerüst
für das Projekt. Später kann man ganz oder teilweise auf diese Hilfe
verzichten. |
Für jedes Projekt sollte ein
neuer Ordner angelegt werden, da eine große Anzahl von Dateien erzeugt
werden. Der Ordner wird in der ersten Spalte ausgewählt. Der
Projektname solle möglichst eindeutig sein. Der Name der Top-Level-Entity ist sehr wichtig und wird später noch benötigt. Es empfiehlt sich, diesen aus dem Projektnamen mit dem Zusatz _top zu bilden. Selbstverständlich kann er auch ganz anders lauten. Die Seite wird mit NEXT bestätigt. Die folgende Seite 2 kann ebenfalls mit NEXT übersprungen werden. |
Bei dieser Seite wird das richtige FPGA ausgewählt. Um hier Einstellungen vorzunehmen, muss zuerst der Radiobutton bei Target device richtig eingestellt werden. Auf dem DE0 Board ist ein Cyclone III verbaut, diese Familie wird bei Device family ausgewählt. Die genaue Bezeichnung des FPGA lautet EP3C16F484C6, dies wird bei Name filter
eingetragen. In der Auswahlbox unten muss nun das einzige verbleibende
FPGA unbedingt markiert werden, dabei wird es blau hinterlegt. Danach kann der Wizard mit FINISH verlassen werden. |
Hat man alles richtig gemacht,
so erscheint nun links das Cyclone III: EP3C16F484 und die vorher
bestimmte Top_Level_Entinty in dem Projekt Navigator. Unter File New kann jetzt eine VHDL-Datei angelegt werden. Dazu öffnet sich ein weiteres Fenster, in dem die Option VHDL ausgewählt wird und diese mit OK bestätigt wird |
Die
links stehende VHDL-Datei umfasst die ENTITY
(Schnittstellenbeschreibung). Der Name der ENTITY muss unbedingt mit
dem vorher vergebenen Namen der TOP_LEVEL-ENTITY übereinstimmen, sonst
kommt es später zu Fehlermeldungen. Das Programm kann hier als Textfile heruntergeladen werden und mit Copy und Past eingefügt oder selbst getippt werden. Die erstellte Datei muss nun unter File Save..as mit dem Namen Led_top.vhd gespeichert werden. |
|
Bei
den späteren Projekten werden die 3 Taster, die 9 grünen Leds und die 9
Schiebeschalter ständig benutzt. Daher ist es sinnvoll, diese alle
schon mal in die Entity einzufügen, um sie später alle nutzen zu können. Für unser Beispiel brauchen wir allerdings nur die ledG0 und den button0. clk_50 ist die Systemtaktrate von 50 Mhz, diese werden wir später auch nutzen. |
|
Das eigendliche Programm ist nun sehr kurz. Der Taster ist im geöffneten Zustand auf +3,3V (High) gezogen. Durch Drücken wird er mit der Masse (Low) verbunden. Daher leuchtet die Led, wenn der Taster nicht gedrückt ist. Da dies nicht unserer Idee entspricht, kann mit dem Befehl NOT der logische Pegel umgeschaltet werden. |
Mit der links markierten
Schaltfäche muss nun die erstellte Datei überprüft werden. Dabei werden
auch weitere Einstellungen vorgenommen, so dass sich später die PINS
auf dem Board physikalisch zuordnen lassen. Dieser Schritt darf deshalb
nicht vergessen werden! Nach dem Lauf, der einige Sekunden dauert, erscheint eine Zusammenfassung. Wichtig ist, dass der Test mit "Successful" abgeschlossen wird und in unserem Fall 24 Pins bei Total Pins angezeigt werden. |
Mit der links markierten
Schaltfläche wird der Pin Planer aufgerufen. Für uns wichtig ist nur
die Auswahlbox unten. Dort werden die physikalischen Pins eingetragen. |
|
Aus dem Datenblatt des DE0 ist zu entnehmen, welchem Pin, welches
Element zuzuordnen ist. Mit der Maus in das freie Feld bei Location
klicken und z.B. bei button0 H2 eingeben. Der Rest wird von Quartus
automatisch ausgefüllt. Mit Return gelangt man dann in das nächste Location Feld. Nach dem Eintragen kann der Pin-Planer einfach
geschlossen werden, es muss nichts gespeichert werden. Weiter unten wird eine Möglichkeit gezeigt, den umständlichen Pinplanner zu umgehen. |
Gestartet wird das Kompilen des
Projektes mit der links markierten Schaltfläche. Je nach
Rechnerleistung dauert der Vorgang mehrere Minuten. |
Wurde der Vorgang erfolgreich
"Successful" abgeschlossen, kann das Projekt nun auf das FPGA Board
übertragen werden. Dazu muss der Schiebeschalter links unten auf dem
Board auf RUN stehen. Gestartet wird die Übertragung mit der rot
markierten Schaltfläche. |
Zuerst muss nun die richtige
Hardware eingerichtet werden. Dazu muss das Board eingeschaltet werden.
Dieser Vorgang muss nur einmal durchgeführt werden. Die Einstellungen
bleiben bis zum Neustart der Software erhalten. Mit Hardware Setup wird der USB Blaster ausgewählen (siehe unten). |
|
Falls der USB-Blaster nicht
erscheint zuerst einmal das USB-Kabel überprüfen. Auf dem Rechner muss
bei der Installation der Treiber ebenfalls installiert worden sein.
Ggf. geschieht dies beim ersten Einstecken automatisch, falls es bei
der Installation vergessen wurden. Dann den Programmer noch mal neu
starten. |
In die erste Zeile wird der vorher angelegte Ordner eingetragen In die zweite Zeile ein Projektname In die dritte Zeile der Name der top-level entity Danach auf Use Existing Project Settings... In dem dann geöffneten Fenster z.B. das Hello-Projekt auswählen. Die danach erscheinenden Warnmeldungen jeweils mit YES bestätigen. |
Man erkennt schön, dass hier
genau wie im Pinplanner jedem Schalter, jeder Led und jedem
Schiebeschalter ein Pin zugeordnet wird. die Zuordnung ist aus dem
D0-Handbuch zu entnehmen. Später werden wir so auch noch die 4
7-Segmentanzeigen zuweisen, so dass wir das Board komplett benutzen
können. |