www.mikrocontroller.net

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

Autor: David Eschler (Gast)
Datum: 01.10.2007 14:47

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
Autor: Dave E. (eschlair)
Datum: 02.10.2007 10:08

-> 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
Autor: Falk Brunner (falk)
Datum: 02.10.2007 10:15

@ 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
Autor: Dave E. (eschlair)
Datum: 02.10.2007 10:46

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).
Autor: Falk Brunner (falk)
Datum: 02.10.2007 11:01

@ 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
Autor: Dave E. (eschlair)
Datum: 02.10.2007 11:25

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
Autor: Falk Brunner (falk)
Datum: 02.10.2007 12:01

@ 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
Autor: Dave E. (eschlair)
Datum: 02.10.2007 12:11

> 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
Autor: Falk Brunner (falk)
Datum: 02.10.2007 13:01

@ 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
Autor: Dave E. (eschlair)
Datum: 02.10.2007 13:06

Vielen Dank

Werde jetzt mal etwas experimentieren..;)!

mfG
Dave E.
Autor: Dave E. (eschlair)
Datum: 05.10.2007 08:28

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?
Autor: Antti Lukats (Gast)
Datum: 05.10.2007 08:50

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
Autor: Dave E. (eschlair)
Datum: 05.10.2007 08:56

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!!
Autor: Falk Brunner (falk)
Datum: 05.10.2007 09:57

@ 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
Autor: Dave E. (eschlair)
Datum: 05.10.2007 11:08

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!
Autor: Falk Brunner (falk)
Datum: 05.10.2007 11:10

@ 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
Autor: Dave E. (eschlair)
Datum: 05.10.2007 12:17
Angehängte Dateien:

>>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
Autor: Falk Brunner (falk)
Datum: 05.10.2007 12:47

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.
-- Hello World in Hardware

use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity hello_world is

    Port ( clock : in  STD_LOGIC;
       led   : out std_logic);
end hello_world;

architecture Behavioral of hello_world is

signal cnt: std_logic_vector(23 downto 0);
begin

  CountProcess: process (clock) 
  begin
  if rising_edge(clock) then
    cnt <= cnt +1;    
  end if;
  end process;

  led <= cnt(23);

end Behavioral;

MFG
Falk
Autor: Dave E. (eschlair)
Datum: 05.10.2007 13:35
Angehängte Dateien:

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
Autor: Falk Brunner (falk)
Datum: 05.10.2007 14:07

@ 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
Autor: Dave E. (eschlair)
Datum: 05.10.2007 14:27

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
Autor: Dave E. (eschlair)
Datum: 10.10.2007 16:37

>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?
Autor: Rainer (Gast)
Datum: 19.07.2008 16:52

Kann man eigentlich den 3A gegen den 3AN tauschen? Der besitzt ja Flash.
Ist der dann pin-Kompatibel ?
Autor: Denis (Gast)
Datum: 22.07.2008 11:46

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?

Antwort schreiben

Die Angabe einer Email-Adresse ist freiwillig. Wenn Sie automatisch per Email über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel




Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichungen und Screenshots im PNG- oder GIF-Format hochladen.
Siehe Bildformate

Hinweis: der Originalbeitrag ist mehr als 6 Monate alt.
Mit dem Abschicken erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net