Forum: FPGA, VHDL & Co. IP Core zur Laufzeit mehrmals laden Problem!


von Marco (Gast)


Lesenswert?

Hallo Leute

wir haben einen Xlilinx spartan 6 in betrieb und versuchen zur laufzeit 
verschiedene IP Cores in den FPGA zu laden. Unser System Cortex M3 über 
SPI an FPGA und Freertos als OS

Wenn wir einen IP Core nach einem Powercycle reinladen funktionieren 
dieser immer. Versuchen wir jetzt ein zweites mal einen anderen oder den 
gleichen IP Core zu laden funktioniert dieser nicht mehr.

Ist bei jemandem solch ein Problem auch mal aufgetretten? Erfahrungen? 
Wie handelt man sowas korrekt?

Würde mich um eine Rückmeldung freuen

Grüße
Marco

von Dr. Schnaggels (Gast)


Lesenswert?

Reset?

von Dr. Schnaggels (Gast)


Lesenswert?

bzw. Power-Up-Ini-Deklarationen von Signalen?

von Christian R. (supachris)


Lesenswert?

Mit IP-Core meinst du dann das komplette FPGA Design, oder? Weil 
einzelne Teile kann man ja höchstens mit partieller Rekonfiguration 
laden. Wenn neues Design komplett drauf, hältst du dann auch wirklich 
den Slave Serial Download Zyklus ein? Also Prog_B auf Low ziehen, warten 
auf INIT_B und dann Bit-File reinschieben bis DONE kommt? Ich hatte 
damit noch keine Probleme.

von Marco (Gast)


Lesenswert?

Christian R. schrieb:
> Mit IP-Core meinst du dann das komplette FPGA Design, oder?
Ja genau.


Christian R. schrieb:
 Also Prog_B auf Low ziehen, warten
> auf INIT_B und dann Bit-File reinschieben bis DONE kommt? Ich hatte
> damit noch keine Probleme.

Wird alles eingehalten und der Done Pin kommt.
Wie gesagt beim ersten reinladen des Bit-Files funktioniert der IP-Core 
richtig.

Scheint ein Reset Problem zu sein

von Christian R. (supachris)


Lesenswert?

Hmm, Reset Problem wäre seltsam, denn nachdem du das FPGA komplett neu 
konfigurierst ist das das gleiche wie ein Kaltstart. Aber vielleicht 
hast du einen externen Reset dran z.B. von einem Power-Good-Chip der 
dann nochmal was auslöst.

von Marco (Gast)


Lesenswert?

seltsam ist richtig :D !

unsere erwartung war, dass der fpga beim ziehen  von program_b komplett 
gelöscht wird und wir wieder einen komplett leeren chip haben.

interessant ist auch, wenn wir den fpga das erste mal über den 
JTAG-Programmer konfigurieren, geht es danach auch per spi nicht. 
natürlich wird das ganze handshaking durchlaufen...


wird das bit-file über den jtag-programmer geladen, geht es immer. 
scheinbar ist der reset bei jtag programmierung anders.
an der jtag buchse ist aber nichtmal ein reset signal angeschlossen. das 
müsste doch dann bedeuten, dass der core über ein jtag-kommando resettet 
wird das sich scheinbar vom reset per program_b unterscheidet.

ist euch soetwas bekannt?

grüße

von Xilinx-User (Gast)


Lesenswert?

Kann es sein, dass da was mit dem scannen der Mx-Pins nicht passt und 
der Mode nicht erkannt wird?

von Marco (Gast)


Lesenswert?

ich glaube nicht, dass es daran liegt. wenn ich den fpga konfiguriere, 
wird das done signal auf high gesetzt.

von Marco (Gast)


Lesenswert?

die mode pins sind mit pullups vershen. also serial slave.
intern sind glaube ich auch nochmal pullups. und das erste mal klappt ja 
auch alles mit dem konfigurieren.

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.