Programm auf Spartan 3A laden

Gast #666416
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
#667001
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).
#667011
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
#667026
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
#667049
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
#667060
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
#667101
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
#669069
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?
#669193
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!
#669196
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
#669273
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
Angehängte Dateien:
#669296
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
#669349
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
Angehängte Dateien:
#669383
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
#669416
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
#673065
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?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren