Forum: FPGA, VHDL & Co. ISE first steps einführung


von Stephan J. (meskalin)


Lesenswert?

grüße

ich habe bereits tollen HDL code. (zum ersten testen nur zwei eingänge, 
ein ausgang und dazwischen eine "und" verknüpfung)

und vor mir steht das atemberaubende spartan 3e development board.

nun wollte ich zum regulären testen einfach die eingänge von den 
normalen schaltern anzapfen, und die ausgabe auf eine LED ausgeben.

eingang - L13 und L14
ausgabe - R14

aber da scheiterts bereits.
ich benutzte das neue 13.1 ISE. und da erschlagen mich gleich alle 
einstellungen vom floor planer und co. und die pins lassen sich auch 
nicht wirklich konfigurieren. (oder eventuell hab ich auch irgendwas 
vergessen oder falsch gemacht)

gibt es ein einfaches HOW TO - wie man einfach nur paar io-pins belegt, 
und da ne einführung dazu bekommt? (auf der xilinx seite gibts zwar auch 
diese videos, aber die behandeln auch nur die möglichkeiten, die man 
machen kann, aber ein - wie wirds gemacht- find ich da leider nicht :( )


kann mir da jemand einen tipp geben, was ich lesen muss, um zu 
verstehen, was ich machen muss ^^

thx & mfg

von Duke Scarring (Gast)


Lesenswert?

Laß den Floorplanner weg und schreib Dir ein .ucf-File. [1]
Ist bei der ISE nicht ein einigermaßen brauchbares Tutorial (Help -> 
Tutorial) dabei?

Duke

[1] http://www.mikrocontroller.net/articles/UCF-Dateien

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Stephan J. schrieb:
> ich benutzte das neue 13.1 ISE.
Beginne dein Design NICHT mit PlanAhead!

Das Ding ist für einen Anfänger undurchschaubar und erst seit der 
neuesten Version ist auch die Synthese von VHDL/Verilog-Dateien 
eingebaut.
Setze ein (einfaches Anfänger-)Projekt am besten direkt mit ISE
(Startmenü --> Xilinx --> ISE Project Navigator) auf.

von Christian R. (supachris)


Lesenswert?

Lothar Miller schrieb:
> Setze ein (einfaches Anfänger-)Projekt am besten direkt mit ISE
> (Startmenü --> Xilinx --> ISE Project Navigator) auf.

Und dann vielleicht erst mal File -> Open Example, um die Struktur zu 
verstehen. Die grauenvollen asynchronen Resets in den Beispielen mal 
ganz schnell überlesen :)

von michi m. (mchii)


Lesenswert?

Lothar Miller schrieb:
> Beginne dein Design NICHT mit PlanAhead!
>
> Das Ding ist für einen Anfänger undurchschaubar und erst seit der
> neuesten Version ist auch die Synthese von VHDL/Verilog-Dateien
> eingebaut.

Frage meinst du damit die freie ISE 11.5 oder das was man kaufen muss 
13.1, weil prinzipell hat mein Planahead aus ISE 11.5 auch einen 
"Synthese" button.

Allerdings muss ich dir Zustimmen für mich als Anfänger ist dieses Tool 
undurchschaubar.

So eine Frage habe ich jedoch, bei meinem ISE 11.5 wie erstelle und 
aktiviere ich da ein .UCF File? Bisher habe ich dazu einfach einmal im 
Project Navigator den Floorplaner gestartet.(UCF wird dann angelegt)

Außerdem die Frage wie ist es im PlanAhead Floorplaner möglich zb einen 
Clk Eintrag zu erstellen? (Ohne Slew Typ und co)
Bsp:
NET "clk" LOC = "E12"| IOSTANDARD = LVCMOS33 ;

Weil der FloorPlaner hängt im zB. Slew Typ "Slow" und solche Dinge per 
default an, wie sinvoll das für einen Takt ist weiß ich nicht, weg 
lassen kann man den Parameter nicht.

lg Michi

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

michi m. schrieb:
> Frage meinst du damit die freie ISE 11.5 oder das was man kaufen muss
> 13.1, weil prinzipell hat mein Planahead aus ISE 11.5 auch einen
> "Synthese" button.
Sieh mir den Fehltritt "Synthese" nach. Ich meinte den Simulator...

> Bisher habe ich dazu einfach einmal im
> Project Navigator den Floorplaner gestartet.(UCF wird dann angelegt)
Wenn du ein UCF hast, dann hat das soweit ja schon geklappt... ;-)

> Außerdem die Frage wie ist es im PlanAhead Floorplaner möglich zb einen
> Clk Eintrag zu erstellen?
> Bsp:
> NET "clk" LOC = "E12"| IOSTANDARD = LVCMOS33 ;
Das ist ein simpler Location-Constraint. Und ein Clock wird erst daraus, 
wenn das Signal als Takt verwendet wird.

> (Ohne Slew Typ und co)
Eine Slew-Rate Einstellung gibt es nur für Ausgänge...
Und jeder Ausgang hat irgendeine Slew-Rate.

> Weil der FloorPlaner hängt im zB. Slew Typ "Slow" und solche Dinge per
> default an, wie sinvoll das für einen Takt ist weiß ich nicht, weg
> lassen kann man den Parameter nicht.
Wenn du sie weglässt wird einfach ein Defaultwert genommen...

von Stephan J. (meskalin)


Lesenswert?

das 13.1 gibts als webpack lizenz version.
wo man den schlüssel ohne ablaufdatum kostenlos von der website bekommt.

(is beschräft auf projekte bis mittelgroße FPGA auslastung. (was auch 
immer das genau heißen mag)

von Christian R. (supachris)


Lesenswert?

Stephan J. schrieb:
> (is beschräft auf projekte bis mittelgroße FPGA auslastung. (was auch
> immer das genau heißen mag)

Naja, bei den aktuellen FPGAs wird jeweils nur die kleinsten Modelle 
unterstützt. Siehe hier: 
http://www.xilinx.com/publications/matrix/Software_matrix.pdf

von mchii (Gast)


Lesenswert?

Cool, weiß jemand ob man die Paralell zum ise 11.5 laufen lassen kann?

PS: Das mit den unterstüzten FPGAs sollte kein Problem sein weil 
prinzipell werden alle FPGAs von den Starter Kits unterstützt werden bzw 
das untere Segment halbwegs gut.

lg Mchii

von Christian R. (supachris)


Lesenswert?

mchii schrieb:
> Cool, weiß jemand ob man die Paralell zum ise 11.5 laufen lassen kann?

Theoetisch ja, aber vor jedem Start musst du die PATH Variablen 
entsprechend umschreiben. Also dann am besten die ISE Versionen per 
Bat-File starten und die Umgebungsvariablen anpassen. Aber wozu soll das 
gut sein?

von mchii (Gast)


Lesenswert?

Hallo

die frage war leider unglücklich Formuliert. Ich meinte damit Paralell 
zu ISE 11.5 installieren kann.

Ich will/wollte mein ISE 11.5 nicht verlieren weil es FUNKTIONIERT..... 
was ich von 13.1 noch nicht sagen kann.

Die installation parallel scheint zu funktionieren zumindest das setup 
läuft gerade.

lg Mchii

von Klaus F. (kfalser)


Lesenswert?

Christian R. schrieb:
> Theoetisch ja, aber vor jedem Start musst du die PATH Variablen
> entsprechend umschreiben. Also dann am besten die ISE Versionen per
> Bat-File starten und die Umgebungsvariablen anpassen. Aber wozu soll das
> gut sein?

Meines Wissens genügt es bei den neueren Versionen, wenn man die Tools 
aus dem Project Navigator aufruft.

von Stephan J. (meskalin)


Lesenswert?

also die pins hab ich jetzt per plam ahead zugewiesen (war harte arbeit, 
aber ging)

hab jetzt mein ucf file.

kann das auch zum bit file rumdüdeln lassen. aber wenn ichs auf den fpga 
einschlagen lasse - mit impact. dann macht er trotzdem nichts.
(die demo is schonmal nichtmehr vorhanden ^^ - das hab ich also 
erfolgreich mit irgendwas überschrieben)

aber funktionieren tuts trotzdem nicht. dabei hab ich wirklich 
allerkleinst angefangen.

eingang = ausgang. eingang ist der schalter. ausgang ist ne led.

geht trotzdem nicht wie ichs mir vorstelle.
(ich muss doch die bitfile mittels impact auf den prozessor werfen?)

von Christian R. (supachris)


Lesenswert?

Ein FPGA ist kein Prozessor. Ja, du kannst das Bit-File direkt in den 
FPGA schreiben, nach dem Programmieren sollte der losrennen. Zeig doch 
mal dein komplettes VHDL Modul und das UCF dazu.

von Stephan J. (meskalin)


Lesenswert?

(sorry, meinte auch nicht prozessor im eigentlichen sinn. für mich is 
das auch nen synonym für chip/sps/cpu und so weiter, alles was klein 
ist, beinchen hat, und irgendwie input und output gibt ;)
werde es in zukunft aber um verwechslungen vorzubeugen richtig machen ;)

zum board-test-thema:
jetzt macht es komische andere sachen!

hab jetzt einfach mal alle lampen angeschalten, über ne konstante. 
verwunderlicherweise liefen 7 von 8.

nachdem ich dann mal nen schalter auf ne andere led gepappt habe, ging 
das mit dem schlater auch!

wollte am anfang schalter 1 auf led 1 verbinden, um nur zu schauen ob 
das geht. hatte aber nicht gefunzt. jetzt anderer schalter, andere led, 
geht.
bei nem größeren test mit allen 4 schaltern und 8 leds. hauts bei 7von8 
leds hin. die eine geht wieder nicht.


hab das spartan E3 1600 Board.

und die LEDs heißen bei mir von rechts nach links laut aufdruck
r14, c3, e6, d6, d13, a7, g9, a8

und schalter von rechts nach links
L13, L14, H18, N17

hat jemand dasselbe board?
(ich post gleich mal VHD code, nachdem ich noch fix was getestet habe)

von Uwe N. (ex-aetzer)


Lesenswert?

Stephan J. schrieb:
> und die LEDs heißen bei mir von rechts nach links laut aufdruck
> r14, c3, e6, d6, d13, a7, g9, a8

> und schalter von rechts nach links
> L13, L14, H18, N17

Das sind nicht die Referenzbezeichner - das sind die Pinnummern deines 
Spartan's, wo die LEDs und Schalter angeschlossen sind.

Gruss Uwe

von Stephan J. (meskalin)


Lesenswert?

ja super, fehler gefunden

die led 2 und 3 sind bei mir vertauscht. also von der pinbelegung her.
laut aufdruck!
D6 = E6 und umgekehrt.


UND Led 0 - ist nicht R14 kennung.
(is auch nicht defekt. im hello world programm funktioniert sie.

die restlichen leds funktionieren.

von Stephan J. (meskalin)


Lesenswert?

Uwe N. schrieb:
> Stephan J. schrieb:
>> und die LEDs heißen bei mir von rechts nach links laut aufdruck
>> r14, c3, e6, d6, d13, a7, g9, a8
>
>> und schalter von rechts nach links
>> L13, L14, H18, N17
>
> Das sind nicht die Referenzbezeichner - das sind die Pinnummern deines
> Spartan's, wo die LEDs und Schalter angeschlossen sind.
>
> Gruss Uwe

grüß dich uwe^^

jaja, die referenzbezeichner sind ja LE0 - LE8 und dadrunter steht in 
klammern die dazugehörige pin am FPGA. und diese pinbezeichnungen hauen 
aber bei mir nicht hin.

bei allen schaltern, und 5 von 8 leds gehts.

neue richtige bezeichnungen wären:
LED 3 - E6
LED 2 - D6
LED 0 - D4

damit funktionierts!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.