Forum: FPGA, VHDL & Co. SPI-Flash Problem mit Spartan 7


von Mampf F. (mampf) Benutzerseite


Angehängte Dateien:

Lesenswert?

Guten Mittag,

ich hab zwei identische Boards, die beide funktionieren, wenn sie per 
JTAG konfiguriert wurden.

Bei beiden funktioniert das indirekt-Flash-Programming. Verify klappt 
auch.

Aber nur eins der beiden Boards konfiguriert sich aus dem SPI-Flash, 
d.h. Die DONE-LED leucht nur bei einem.

Das SPI-Flash ist im x4-Modus angebunden. Im Anhang die verwendete 
Schaltung.

Wenn man in Vivaos Hardware-Manager "Boot from SPI-Flash" auswählt, wird 
das FPGA auch nicht konfiguriert.

Hat jemand eine Ahnung, woran das liegen könnte?

Wird das Flash evtl im x1 Modus geflasht, aber im x4-Modus dann 
konfiguriert?

Über JTAG scheint ja alles zu funktionieren.

Viele Grüße,
Mampf

: Bearbeitet durch User
von Tobias B. (Firma: www.elpra.de) (ttobsen) Benutzerseite


Lesenswert?

Hast du die Moeglichkeit mal Clock und Data aufm dem Board via Oszi 
anzuschauen? Ich hatte mal den Fall, dass die Signalintegritaet ziemlich 
mies war und da lief das Laden aus dem Flash auch nur bei manchen Board. 
:-(

Da es bei einem Board geht und beim anderen nicht, wuerde ich eine 
fehlerhafte Konfiguration erstmal ausschliessen.

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Tobias B. schrieb:
> Hast du die Moeglichkeit mal Clock und Data aufm dem Board via Oszi
> anzuschauen? Ich hatte mal den Fall, dass die Signalintegritaet ziemlich
> mies war und da lief das Laden aus dem Flash auch nur bei manchen Board.
> :-(

Leider nicht - aber das bringt mich auf die Idee, den Config-Clock mal 
runter zu drehen und/oder die SPI-Bus-Breite zu reduzieren.

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Zumindest beim Spartan6 gibts iirc sowas, wo man rauskriegen kann, ob 
der CRC ueber's Image beim Laden gepasst hat. Es koennte sein, dass man 
das am Status des INIT_B Pins sieht, irgendwas hab' ich da im 
Hinterkopp...

Gruss
WK

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Hmm seltsam ...

Hab die Settings mal gesetzt:

set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 1 [current_design]
set_property BITSTREAM.CONFIG.CONFIGRATE 3 [current_design]

und geht trotzdem nicht.

Sogar neu synthetisieren und implementieren lassen, weil ich zuerst 
dachte, BitStream alleine erzeugen lassen reicht nicht.

Kein Unterschied.

Wieso kann man das Flash dann überhaupt flashen ... lol

Sonderbar!

von Mampf F. (mampf) Benutzerseite


Angehängte Dateien:

Lesenswert?

Aaaahja, was man alles in den Dialogen findet...

Im Anhang der Config-Status des FPGAs.

Der MSEL1 ist falsch - das ist wohl ein Hardware-Problem, das ich nicht 
lösen können werde.

Schade!

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Puh glück gehabt ...

Nochmal Flussmittel unter das FPGA, nochmal gescheit draufbrennen mit 
Heißluft und jetzt geht es!

MSEL1 ist jetzt auf '0' und Boot funktioniert :)

von Tobias B. (Firma: www.elpra.de) (ttobsen) Benutzerseite


Lesenswert?

Mampf F. schrieb:
> Puh glück gehabt ...
>
> Nochmal Flussmittel unter das FPGA, nochmal gescheit draufbrennen mit
> Heißluft und jetzt geht es!
>
> MSEL1 ist jetzt auf '0' und Boot funktioniert :)

Stark das du es hinbekommen hast! Das auslesen des Config Status ist ein 
super Tipp, das werde ich mir sicher merken. :-)

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.