Forum: FPGA, VHDL & Co. Programm auf Spartan 3A laden


von David Eschler (Gast)


Lesenswert?

Hallo zusammen

ich versuche ein kleines Programm auf das Board zu laden. Leider habe 
ich bis jetzt noch nicht herausgefunden wie dies geht.
Das Beispiel läuft soweit. Jedoch komme ich mit den 
Jumperkonfigurationen des Boards nicht klar. Auch bin ich mir nicht 
sicher, wie die Einstellungen fürs WebPack sind. Eine Englische 
Bedienungsanleitung besitze ich, doch diese half mir bis jetzt wenig 
weiter...

Das Programm konnte ich bereits auf ein normales FPGA-IC laden -> läuft.


Bin für jede Hilfe dankbar!

MFG
esch

von D. E. (eschlair)


Lesenswert?

-> edit:

meinte eigentlich "Spartan 3A FPGA Starter Kit".

ich glaube mir würde schon reichen, wenn ich die Konfig zum Laden 
(Mittels Xilinx ISE 9.1) eines Programms des StarterKits wissen würde.

mfG

von Falk B. (falk)


Lesenswert?

@ Dave E. (eschlair)

>meinte eigentlich "Spartan 3A FPGA Starter Kit".

Das kenne ich nicht. Aber allgemein musst du das Konfigurationsfile auf 
den exteren FLASH laden, per JTAG und IMPACT. Dazu musst du ggf. in den 
Generate Bitfile Optionen den Startup CLock auf JTAG stellen. Die Jumper 
müssen auf "Master Serial" eingestellt werden.

MFg
Falk

von D. E. (eschlair)


Lesenswert?

Auszug aus "ug332_Xilinx.pdf" - mitgeliefertes "Handbuch"
>However, when the FPGA mode pins are set for
>JTAG mode (M[2:0] = <1:0:1>), the FPGA
>waits to be configured via the JTAG port after
>a power-on event or after PROG_B is pulsed
>Low. Selecting the JTAG mode simply disables
>the other configuration modes. No other
>pins are required as part of the configuration
>interface.

Auf dem Board sind 4 Moden einzustellen:

- JTAG-Mode
- SPI
- BPI Up
- Master Serial

Programmiert werden kann über USB, RS232 oder Parallel über 
JTAG-Adapter.

Mitgeliefert im StarterKit wurde nur ein USB-Kabel (also keinen 
JTAG-Adapter).

von Falk B. (falk)


Lesenswert?

@ Dave E. (eschlair)

>Auf dem Board sind 4 Moden einzustellen:

>- JTAG-Mode
>- SPI
>- BPI Up
>- Master Serial

Je eben, da ist ja der Master Serial Modus.

>Programmiert werden kann über USB, RS232 oder Parallel über
>JTAG-Adapter.

>Mitgeliefert im StarterKit wurde nur ein USB-Kabel (also keinen
>JTAG-Adapter).

Na irgendwie müssen ja die Daten vom USB auf JTAG umgesetzt werden. Ist 
das scho auf dem Board. Schliesslich hast du doch das FPGA schon mal 
konfiguriert.

MFG
Falk

von D. E. (eschlair)


Lesenswert?

Falk Brunner wrote:

> Na irgendwie müssen ja die Daten vom USB auf JTAG umgesetzt werden. Ist
> das scho auf dem Board. Schliesslich hast du doch das FPGA schon mal
> konfiguriert.
>
> MFG
> Falk

Nein, auf das FPGA habe ich noch nie etwas geladen. Das Board hat einen 
integrierten USB-Port und von dort, glaube ich, sollte es irgendwie 
gespeichert werden...

Auszug aus "ug334_StarterKit.pdf" - "Benutzerhandbuch"

>The Spartan-3A/3AN Starter Kit includes
>embedded USB-based programming logic and a
>USB endpoint with a Type B connector. Via
>a USB cable connection with the host PC, the
>iMPACT programming software directly
>programs the FPGA, the Platform Flash PROM,
>or the on-board CPLD. Direct programming
>of the parallel or serial Flash PROMs is not
>presently supported.


mfG

von Falk B. (falk)


Lesenswert?

@ Dave E. (eschlair)

>Nein, auf das FPGA habe ich noch nie etwas geladen. Das Board hat einen
>integrierten USB-Port und von dort, glaube ich, sollte es irgendwie
>gespeichert werden...

Dacht ich es mir doch. Das Board hat ein integriertes 
Programmierinterface via USB. Du musst dein Konfigurationsfile auf das 
Platfom Flash PROM laden, was ja laut Beschreibung möglich ist (mit 
IMPACT).

MFG
Falk

von D. E. (eschlair)


Lesenswert?

> Dacht ich es mir doch. Das Board hat ein integriertes
> Programmierinterface via USB. Du musst dein Konfigurationsfile auf das
> Platfom Flash PROM laden, was ja laut Beschreibung möglich ist (mit
> IMPACT).

und dazu muss ich "Master Serial"-modus wählen oder den "JTAG" (für den 
Download).
Und welches ist der "Run"Modus, also wenn das Programm geladen ist?

mfG

von Falk B. (falk)


Lesenswert?

@ Dave E. (eschlair)

>und dazu muss ich "Master Serial"-modus wählen

Ja.

> oder den "JTAG" (für den Download).

Das dürfe egal sein. Kannst du ja mal probieren.

>Und welches ist der "Run"Modus, also wenn das Programm geladen ist?

Was für ein "Run Modus"? Wenn die Konfiguration geladen wurde, ist der 
Zustand der Mode Pins vollkommen egal. Die werden erst wieder abgefragt, 
wenn PROGAM auf LOW gezoigen wird (Reset).

MFg
Falk

von D. E. (eschlair)


Lesenswert?

Vielen Dank

Werde jetzt mal etwas experimentieren..;)!

mfG
Dave E.

von D. E. (eschlair)


Lesenswert?

Guten Morgen

WARNING:iMPACT:2217 - Error shows in the status register, CRC Error bit 
is NOT 0.

Google hat da leider nicht sehr viel hergegeben. Die Fehlermeldung tritt 
während (?) dem Downloaden auf den FPGA auf.
Bei ~14% wird der Download abgebrochen. Dennoch erscheint "Program 
Succeeded"...

Laden tu ich über ein JTAG-Kabel (nicht USB) und der Jumperstellung 
JTAG.

Nach dem angeblichen Downloaden leuchtet die grüne "Done"-LED. Doch das 
Programm läuft dennoch nicht (könnte auch ein anderer Fehler sein).

Kann jemand etwas zur Fehlermeldung sagen?

von Antti Lukats (Gast)


Lesenswert?

Spartan-3A starterkit:

1 jumper stellung EGAL
2 usb cable reinstecken
3 uber impact programmieren.

das wars!

wenn es so nicht geht ist die platine fehlerhaft.

ich benutze die s3a starter board jeden tag und habe KEINE probleme

von D. E. (eschlair)


Lesenswert?

Hättest du mir ein Programm das laufen würde?

Bei meinem bin ich mir nicht sicher! -> eschli@bluewin.ch

schon im vorraus vielen Dank!!

von Falk B. (falk)


Lesenswert?

@ Dave E. (eschlair)

>Laden tu ich über ein JTAG-Kabel (nicht USB) und der Jumperstellung
>JTAG.

Und du bist sicher, dass sich dein JTAG-Kabel mit deinem onboard 
Programmieradapter auf USB-Basis nicht in die Quere kommt? Warum nutzt 
du nicht das beiligente USB zum DOwnload?

MFG
Falk

von D. E. (eschlair)


Lesenswert?

So nun hab ich mal was ins Platform Flash PROM geladen (per USB).

ABER:
1. Programm läuft nicht. Muss mal Ein-/Ausgang überprüfen.

2. Wie kann ich nun das FPGA programmieren? Habe ein .mcs-File erstellt 
und nun möchte ich wieder das FPGA - ohne Flash PROM - programmieren. 
Muss ich nun das .mcs-File löschen so dass wieder "Automaticly 
connect..." wählbar wird?


Leider sind meine Programmierkenntnise nicht riesig (ein wenig C). Habe 
lieber HW. Dennoch vielen Dank für all eure Hilfe!


-> edit: Frage 2 beantwortet. langsam schau ich durch.... sehr langsam!

von Falk B. (falk)


Lesenswert?

@ Dave E. (eschlair)

>1. Programm läuft nicht. Muss mal Ein-/Ausgang überprüfen.

Die MOd-Pins müssen auf Master Serial gestellt werden und ein Reset 
ausgelöst (PROGRAMM auf LOW ziehen)

>2. Wie kann ich nun das FPGA programmieren? Habe ein .mcs-File erstellt
>und nun möchte ich wieder das FPGA - ohne Flash PROM - programmieren.

Einfach ins FPGA laden, über IMPACT.

>Muss ich nun das .mcs-File löschen so dass wieder "Automaticly

Nicht dass ich wüsste.

>connect..." wählbar wird?

>Leider sind meine Programmierkenntnise nicht riesig (ein wenig C).

Was hat das damit zu tun?

MFG
Falk

von D. E. (eschlair)


Angehängte Dateien:

Lesenswert?

>>Leider sind meine Programmierkenntnise nicht riesig (ein wenig C).
>
> Was hat das damit zu tun?


Dass mein Programm nicht läuft! Geladen ist es. Serial Mode, Auf CE-PROM 
und DONE ein Jumper und dann mal PROG_B-Taster betätigen. -> grüne 
DONE-LED leuchtet.
Wunderbar...doch passiert NICHTS (Bei betätigung der Schalter/Taster).

Will euch nicht verrückt machen, doch, nur das FPGA kann immer noch 
nicht programmiert werden. Sobald es mit dem XCF04S - Flash PROM in der 
Chain ist: -> PROGRAM Succeeded. Wird dann das FPGA auch programmiert 
wenn es mit in der Kette ist samt .bit File?


Guten Appetit allerseits

von Falk B. (falk)


Lesenswert?

Dave E. (eschlair)

>Dass mein Programm nicht läuft!

Das soll vorkommen. Aber du weisst ja im Moment noch gar nicht, ob es 
auch korrekt geladen wurde. Um zumindest das laden/konfigurieren zu 
testen, versuchs mal mit untenstehendem Programm. WICHTIG! Die Pins 
zuweisen!

> Geladen ist es. Serial Mode, Auf CE-PROM

Ich hoffe mal Serial Master Mode.

>Chain ist: -> PROGRAM Succeeded. Wird dann das FPGA auch programmiert
>wenn es mit in der Kette ist samt .bit File?

Nur wenn du im IMPACT den Befehl dazu gibst.
1
-- Hello World in Hardware
2
3
use IEEE.STD_LOGIC_1164.ALL;
4
use IEEE.STD_LOGIC_ARITH.ALL;
5
use IEEE.STD_LOGIC_UNSIGNED.ALL;
6
7
entity hello_world is
8
9
    Port ( clock : in  STD_LOGIC;
10
       led   : out std_logic);
11
end hello_world;
12
13
architecture Behavioral of hello_world is
14
15
signal cnt: std_logic_vector(23 downto 0);
16
begin
17
18
  CountProcess: process (clock) 
19
  begin
20
  if rising_edge(clock) then
21
    cnt <= cnt +1;    
22
  end if;
23
  end process;
24
25
  led <= cnt(23);
26
27
end Behavioral;

MFG
Falk

von D. E. (eschlair)


Angehängte Dateien:

Lesenswert?

Da gibt es noch eine Warnung (wenn man downloaden will):

WARNING:iMPACT:2217 - Error shows in the status register, CRC Error bit 
is NOT 0.

Kleine Frage: Muss die gelbe LED des USB-Ports beim Download blinken?
Hat sie nie getan. Die rote kam auch nie (die ja für die Firmware ist).

Kann der Fehler in den Einstellungen des Webpack's liegen? 
Folgendermasen hab ich die Properties eingestellt und geladen. -> Anhang

mfG

von Falk B. (falk)


Lesenswert?

@ Dave E. (eschlair)

>WARNING:iMPACT:2217 - Error shows in the status register, CRC Error bit
>is NOT 0.

Hmm, klingt erstmal nicht gut.

>Kleine Frage: Muss die gelbe LED des USB-Ports beim Download blinken?
>Hat sie nie getan. Die rote kam auch nie (die ja für die Firmware ist).

Keine Ahnung, ich kenne das Board nicht.

>Kann der Fehler in den Einstellungen des Webpack's liegen?

Möglich.

MfG
Falk

von D. E. (eschlair)


Lesenswert?

Habe mal mit dem 2. Board probiert (...*kein Kommentar*). Dort war 
bereits ein Programm installiert.

Das eigene Progr. drauf und weg war das alte...doch blinken oder 
anzeigen tut es genau nichts.

naja.. mal nach Hause nehmen und dort weiter probieren ;).

nur nicht das Wochenende verderben lassen - und nochmals vielen Dank an 
dich Falk.
Hast dich da ja schön abgerackert mit mir :P!

mfG

von D. E. (eschlair)


Lesenswert?

>WICHTIG! Die Pins
>zuweisen!

Wenn eine neue Source hinzu gefügt wird, muss man die Pins zuweisen 
resp. die Portnamen (New Source Wizard - Define Module). Zudem besteht 
die Möglichkeit, einen Bus zu aktivieren. Ich nehme mal an, der ist wie 
ein Datentyp in C++ (z.B. unsigned char), einfach um den Zahlenbereich 
festzulegen. Also nötig, sobald grösser als 1 oder negativ.
Müssen die Variablen dort auch deklariert werden? Wenn ja, welche 
Direction?

Beispiel "HelloWorld" - siehe oben:

clock = in
led = out
cnt = inout (?) -> MSB = 23 LSB = 0.

richtig?

von Rainer (Gast)


Lesenswert?

Kann man eigentlich den 3A gegen den 3AN tauschen? Der besitzt ja Flash. 
Ist der dann pin-Kompatibel ?

von Denis (Gast)


Lesenswert?

Hallo also ich versteh noch nicht genau was du machen willst.Willst du 
das Programm aus dem Flash raus starten oder willst du einfach nur das 
Programm testen in dem du den FPGA direkt programmierst?

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.