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?
Mein 74ACT04 stürzt laufend ab! Kann man ein Gatter abstürzen lassen? ATOMLOL
in deinem Fall ist das doch ganz offensichtlich so. Wohl eher ein Zählerüberlauf oder so
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?
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.
Der FPGA stürzt ab. Warum ich das weiß / vermute? SignalTap hat keinen Zugriff mehr auf den FPGA nachdem der Bildschirm schwarz wird.
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...
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".
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...
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.
Ich habe auch schon die Vermutung gehabt, dass die PLL sich irgendwie verschlugt und damit das ganze unsynchron wird..was zum "Absturz" führt.
das ja nu hupe ob 1080 iiii ^^ für 720p muss ichs auch noch machen. Ich wills nicht haben, sondern nur machen ;).
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?
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.
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?
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.
Genaueres zu schreiben ist schwierig @ Firma sonst würde ich schon lange den Quellcode posten.
Klaus P. schrieb: > und bei Reset zurückgestellt / genullt. Klemm den Reset mal auf einen festen Pegel, dass da kein Störpeak reinkommen kann.
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".
Was man auch probieren kann ist die Driverstrength der Ausgabepins verringern um die dynamische Belastung von Vccio zu reduzieren.
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.
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.
Naja, wenn selbst die JTAG Verbindung abschmiert, kann man den Fehler zunächst mal in so grundsätzlichen Sachen wie Spannungsversorgung suchen....
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.