Forum: FPGA, VHDL & Co. FPGA stürzt ständig ab


von Klaus P. (Gast)


Lesenswert?

Hallo

Wenn ich meine *.sof Datei per USB Blaster auf meinen FPGA programmiere 
läuft das Programm für ca. 5 Sekunden und dann geht es nicht mehr.

Kann man einen FPGA abstürzren lassen durch unsaubere Programmierung 
oder durch einen Speicherüberlauf?

von rudi (Gast)


Lesenswert?

error in line 42

von John W. (Gast)


Lesenswert?

Mein 74ACT04 stürzt laufend ab! Kann man ein Gatter abstürzen lassen?

ATOMLOL

von HB (Gast)


Lesenswert?

in deinem Fall ist das doch ganz offensichtlich so.
Wohl eher ein Zählerüberlauf oder so

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Klaus P. schrieb:
> Wenn ich meine *.sof Datei per USB Blaster auf meinen FPGA programmiere
> läuft das Programm für ca. 5 Sekunden und dann geht es nicht mehr.
Was machst du drauf?
Was läuft nicht mehr?
Wie erkennst du das?
Was sagt die Simulation?

von Klaus P. (Gast)


Lesenswert?

Lothar Miller schrieb:
> Was machst du drauf?

Eine Video- / Bildwiedergabe.

> Was läuft nicht mehr?

Der Bildschirm wird nach manchmal 5 Sekunden oder 5 Minuten oder 1 
Stunde einfach schwarz. Wenn ich den FPGA dann neu programmiere geht es 
wieder für Sekunden, Minuten oer länger.

> Wie erkennst du das?

Die Simulation zeigt mir keine Fehler für Zähler oder ähnliches. Auf 
Grund der unterschiedlichen Läufzeit tippe ich aber mal auf einen 
Zählerüberlauf oder sowas. Nur erkenne ich es nicht.

> Was sagt die Simulation?

Für mich kein Fehler.

von HB (Gast)


Lesenswert?

Vermutlich kommt dein Monitor mit dem Signal nicht klar und schaltet ab.

von Klaus P. (Gast)


Lesenswert?

Doch tut er. :)

von Klaus P. (Gast)


Lesenswert?

Der FPGA stürzt ab. Warum ich das weiß / vermute? SignalTap hat keinen 
Zugriff mehr auf den FPGA nachdem der Bildschirm schwarz wird.

von Matthias (Gast)


Lesenswert?

Klaus P. schrieb:
> SignalTap hat keinen
> Zugriff mehr auf den FPGA nachdem der Bildschirm schwarz wird.

SignalTap funktioniert via JTAG! JTAG selbst hat nichts mit dem Code zu 
schaffen der im FPGA steht.
Was genau ist denn SignalTaps Fehlermeldung? sagt er "cannot scan JTAG 
chain"? Oder das die SignalTap Datei nicht zum Design im FPGA passt? 
Abhaengig davon koennte man naemlich mal weiter schauen...

von Klaus P. (Gast)


Lesenswert?

Also ich programmiere mit dem in SignalTap integrierten Programmer die 
sof Datei. Der Bildschirm geht kurz an und wird dann schwarz... dann 
kommt "JTAG communication error" und darunter "Instance not found".

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Klaus P. schrieb:
> Auf Grund der unterschiedlichen Läufzeit tippe ich aber mal auf einen
> Zählerüberlauf oder sowas.
Und warum sollte der Zähler einmal so und dann wieder anders überlaufen?

Wie ist die Schaltung? Schaltplan? Eval-Board? FPGA?
Kommen externe Signale rein?
Hast du alle (nötigen) Signale einsynchronisiert?
Wieviele Takte hast du im Design?
wie sieht die Spannungsversorgung aus?

Das was du hier machst ist Salamitaktik. Woher sollen wir dein Problem 
kennen? Beschreib doch einfach mal dein komplette Applikation, denn 
sonst kann man statt raten nur raten...

von Klaus P. (Gast)


Lesenswert?

die Platine ist eine Eigenbau der Firma. Aus einem 150MHz Oszi mache ich 
mit PLL einen 74,25MHz Takt...den brauch ich für das HD Videosignal.

dazu mal einige Warnungen die er anzeigt.

Warning: Timing-Driven Synthesis is skipped because the Classic Timing 
Analyzer is turned on
Warning: PLL 
"PLL:inst1|altpll:altpll_component|PLL_altpll:auto_generated|pll1" 
output port clk[0] feeds output pin "HD_CLK~output" via non-dedicated 
routing -- jitter performance depends on switching rate of other design 
elements. Use PLL dedicated clock outputs to ensure jitter performance

Ich erzeuge auf dem FPGA ein 1080i/25 Testbild mit allen nötigen 
Synchronisationssymbolen (TRS => SAV und EAV), Austastlücken etc. Dieses 
taste ich in einem anderen Modul dann ab um auf die TRS-Symbole zu 
synchronisieren. Das letzte Modul fügt dann dem Videosignal 
Zusatzinformationen zu (Videotext, Bilder etc).

Das Testbild dient nur zu dazu ein HD Videosignal zu simulieren. Statt 
dessen wird später eine HD Videoquelle als Quelle benutzt.

von Klaus P. (Gast)


Lesenswert?

Ich habe auch schon die Vermutung gehabt, dass die PLL sich irgendwie 
verschlugt und damit das ganze unsynchron wird..was zum "Absturz" führt.

von HB (Gast)


Lesenswert?

1080i  iiiii gitt

von Klaus P. (Gast)


Lesenswert?

das ja nu hupe ob 1080 iiii ^^ für 720p muss ichs auch noch machen. Ich 
wills nicht haben, sondern nur machen ;).

von Matthias (Gast)


Lesenswert?

Selbst wenn die PLL sich "verschluckt" und dein Videostream unsynchron 
wird muss das FPGA selbst noch laufen. JTAG kann ihn aber nicht mehr 
sehen - erste Vermutung ist bei mir, dass die Spannungsversorgung nicht 
vernuenftig ausgelegt ist und das Ding einfach irgendwann mit einem 
Spannungseinbruch ungewollt wegfaellt -> zu ueberpruefen durch 
Strommessung waehrend schwarz-werdens des Bildschirms

SignalTap kann natuerlich manchmal sagen "error"- probier dann nochmal 
zu starten. Bleibt es beim Fehler und kann er keine Daten mehr auslesen?

von Klaus P. (Gast)


Lesenswert?

Das muss ich nochmal ausmessen. Ein Kollege sagte gerade das es wohl 
schon mal Probleme mit der Spannung gab und sie es mittels Ferrit gelöst 
haben. Vielleicht hat sich da was gelöst. Ich mach mich mal ans messen.

SignalTap hat absolut keinen Zugriff mehr. Muss erst neu programmieren 
damit er wieder was empfängt.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Klaus P. schrieb:
> Ein Kollege sagte gerade das es wohl schon mal Probleme mit der Spannung
> gab
Hier geht eine rote Alarmlampe an und eine Hupe trötet los!!!
> und sie es mittels Ferrit gelöst haben.
Das ist die längere Schreibweise für "Pfusch"... :-o

Das Problem ist nicht gelöst sondern nur temporär umgangen. 
Kontrollier die Spannung mal auf Spikes und Einbrüche. Da reagiert so 
eine PLL/DLL ganz sensibel drauf...

Nachdem du die oberen Fragen noch nicht komplett beantwortet hast, noch 
ein paar Neue:
Hast du einen Reseteingang?
Geht der direkt diverse Teile des Designs?
Ist der asynchron?

von Klaus P. (Gast)


Lesenswert?

Dazu muss ich sagen ich habe diesen "Platinenmist" nicht gebaut. :)

Ja alle Module haben einen globalen asynchronen Reset. Alle Zähler / 
Variablen werden mit einem Startwert (meist 0) intialisiert und bei 
Reset zurückgestellt / genullt.

von Klaus P. (Gast)


Lesenswert?

Genaueres zu schreiben ist schwierig @ Firma sonst würde ich schon lange 
den Quellcode posten.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Klaus P. schrieb:
> und bei Reset zurückgestellt / genullt.
Klemm den Reset mal auf einen festen Pegel, dass da kein Störpeak 
reinkommen kann.

von Klaus P. (Gast)


Lesenswert?

Hab ihn auf GND gelegt. Bis jetzt läuft alles stabil...aber das mit der 
Spannung muss ich noch weiter verfolgen. Irgendwo muss der Fehler ja 
sein.

Danke erstmal. Ich bleib am "Ball".

von Lattice User (Gast)


Lesenswert?

Was man auch probieren kann ist die Driverstrength der Ausgabepins 
verringern um die dynamische Belastung von Vccio zu reduzieren.

von Uwe (Gast)


Lesenswert?

Wenn du den Platinenmist nicht gebaut hast, so gebe es zurück an den der 
ihn gebaut hat mit den Worte ndie Spannungsversorgung tuts nicht.

von Georg A. (Gast)


Lesenswert?

Hört denn hier keiner das FPGA ganz laut "clock domain crossing" 
schreien? Kann auch sein, dass es nur "asynchron" quietscht, vor lauter 
Kreischen kann ich das von hier aus nicht unterscheiden. Grund: Wenn 
sowas wie "Speicherüberlauf" in der Frage vorkommt, scheint der Coder 
nur äusserst rudimentär Ahnung davon zu haben, was er eigentlich gerade 
macht.

Die Spannungsversorgung würde ich bei so einer Popellogik nur 
unmittelbar vor dem störenden Einfluss von Wasseradern annehmen.

von Christian R. (supachris)


Lesenswert?

Naja, wenn selbst die JTAG Verbindung abschmiert, kann man den Fehler 
zunächst mal in so grundsätzlichen Sachen wie Spannungsversorgung 
suchen....

von modelsim (Gast)


Lesenswert?

Georg A. schrieb:
> Grund: Wenn
> sowas wie "Speicherüberlauf" in der Frage vorkommt, scheint der Coder
> nur äusserst rudimentär Ahnung davon zu haben, was er eigentlich gerade
> macht.

Aus reinem Interesse. Wie kann ein FPGA durch einen Speicherüberlauf 
abstürzen. Ein NIOS kann meinetwegen Abstürzen, aber einen FPGA gratzt 
das doch nicht.

von Matthias (Gast)


Lesenswert?

Georg A. schrieb:
> Hört denn hier keiner das FPGA ganz laut "clock domain crossing"
> schreien? Kann auch sein, dass es nur "asynchron" quietscht, vor lauter
> Kreischen kann ich das von hier aus nicht unterscheiden.

Ist mir neu dass JTAG auf sowas hoeren wuerde... Domain crossing wuerde 
erklaeren warum der Bildschirm schwarz wird (synchronisation verloren), 
aber nicht warum das Teil gar nichts mehr tut.

von Georg A. (Gast)


Lesenswert?

Spannungseinbruch schön und gut, aber der ist auch mal wieder vorbei. 
Wenn das die JTAG-Logik auch mit Totalverweigerung auf ewig straft, ist 
es auch seltsam.

Aber es gibt soviel fehlende Info (wurde schon mal irgendwo geschrieben 
welches FPGA es eigentlich ist?) gepaart mit komischen Aussagen, dass 
hier wenig zu holen/helfen ist. Bleiben also nur 
Standard-Newbie-Probleme+Antworten.

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.