Hallo Experten, ich glaube, das ist meine Einstiegsfrage hier im Board. Obwohl ich schon seit Mitte der 80er mit Mikroprozessoren und seit einigen Jahren auch AVRs bastel, sind FPGAs noch Neuland für mich. Um die auch kennenzulernen, habe ich mir ein preiswertes Cyclone II Board gekauft: http://www.ebay.de/itm/Mini-ALTERA-Cyclone-II-EP2C5T144-CPLD-FPGA-Development-Learning-Board-/111723230562 Mittels Altera-Tutorial und diversen Webseiten habe ich auch schon mein erstes "Hello World" geschrieben und auf 3 abwechselnd blinkende LEDs erweitert. Nun möchte ich das Ergebnis auch gern im Konfigurationsspeicher unterbringen, damit es nach Stromverlust wieder vorhanden ist. Dazu habe ich mich an diese Anleitung gehalten: Beitrag "Re: FPGA und CPLD programmieren" Wenn ich das entstandene *.jjc File in den Programmer lade, sieht es auch dem Plan plausibel aus. Das FPGA-Board ist über USB-Blaster und JTAG-Buchse angeschlossen. Leider schlägt das Programmieren fehl. Wenn ich nur programmiere, läuft es mit SUCCESS durch. Nehme ich Verify dazu, meldet es FAILED. Natürlich rührt sich auch nach Strom aus/an nichts. Ich habe gestern schon den halben Abend nach einer Lösung gesucht und auch eine andere Variante gefunden, bei der in den Assignments der EPCS4 eingestellt und dafür ein *.pof File zum Active Serial Programmieren erzeugt wird. Das hat aber auch nicht funktioniert. Ich würde mich freuen, wenn mir hier vielleicht jemand eine Anregung geben könnte, in welcher Richtung ich suchen sollte. Oder ob vielleicht das EEPROM(?) einfach defekt ist. In den nächsten Tagen bekomme ich ein weiteres Lernboard: http://www.ebay.de/itm/Altera-Cyclone-IV-FPGA-USB-Development-Learning-Board-EP4CE6E22C8N-/121768063938 mit dem man sicher schon ein paar umfangreichere Versuchsaufbauten realisieren kann. Aber ich würde gern erstmal die grundlegendsten Prinzipien verstehen und umsetzen. Meine Einstiegsliteratur neben Onlinekursen ist übrigens: http://www.amazon.de/gp/product/3486712926 "Kompaktkurs Vhdl: mit vielen anschaulichen Beispielen: mit vielen anschaulichen Beispielen" Gruß, Rene
Hallo Rene, erraten, was da los ist, wird schwer sein. Wenn du partout nicht weiter kommst, kann ich vielleicht helfen: Ich habe ein nahezu identisches CY2-board (http://beis.de/Elektronik/DPLCM/DPLCM.html#Design) und könnte mit nicht allzu viel Aufwand und dein Design 1:1 ausprobieren. Dazu bräuchte ich Quellcode (.VHD), die Settings (QSF), sinnvollerweise das funktionierende Programming-File (.POF) und das nicht funktionierende .JIC. (Es heißt .JIC, nicht .JJC). Vielleicht erkenne ich deinen Fehler oder kann wenigstens einen funktionierenden Weg gehen und exakt beschreiben, was wann wo zu sehen sein muss. Vielleicht ist ja das EPCS4 nicht ok. Uwe
Hallo Uwe, danke für Deine Unterstützung und sorry, daß die Antwort etwas länger gedauert hat. Es ist halt Vorweihnachtszeit. Ich habe es eben noch einmal ausprobiert. Per JTAG das *.sof in das FPGA geladen funktioniert. Dann das *.jic generiert und in den Programmer geladen: failed. Ich habe ein RAR-Archiv mit den relevanten Daten und dem PDF meines Boards angehängt. Es wäre toll, wenn Du daraus etwas erkennen könntest. Ich habe jetzt zwar auch mein Cyclone4 Board mit mehr Preipherie, möchte aber erst das kleine zum Laufen bekommen, bevor ich weitermache. Gruß, Rene
Klingt für mich erst einmal nicht so als ob du etwas falsch gemacht hättest. Ich nehme mal an du verwendest einen USB-Blaster Clone? Möglicherweise gibt es damit ein Problem. Was für eine Version hast du da (Cypress oder STM32)? https://www.youtube.com/watch?v=M0K9FYcF-T8
Hallo Mike, ich kann die Beschriftung fast nicht erkennen, aber ich glaube STLABS steht da drauf. Ich werde ihn vielleicht mal mit dem Cyclone4 Board ausprobieren, ob die Programmierung damit funktioniert. Das Prinzip ist ja wahrscheinlich ähnlich. Gruß, Rene
So, ich habe es gerade geschafft, mit meinem USB-Blaster Clone ein Beispielprogramm in den Config-Flash des Cyclone4 Boards (auch EPCS4) zu schreiben. Das funktioniert. Also ist vielleicht wirklich etwas mit dem billigen Cyclone2 Board nicht in Ordnung. Schade, das Teil könnte man sonst ja vielleicht wirklich noch für etwas verwenden. Da ich noch viel mit alten Homecomputern bastel, findet sich da immer eine Anwendung. Gruß, Rene
Ich meine, bei dem Chinaboard muß der USB Blaster in der 2. (Advanced Serial) Buchse stecken. Hast Du das probiert?
Ich habe alle Varianten probiert. Über die serial Buchse per Active Serial mit dem pof File und per JTAG Buchse mit jic File und Jtag Programmierung über das fpga. Selbst, wenn bei Programmieren Success angezeigt wird, startet das fpga nach Spannungstrennung nicht wie erwartet. Vielleicht bestelle ich nochmal ein zum Vergleich. Die Dinger sind ja billig und lassen sich wegen der vielen herausgeführten Pins gut verwenden. Gruß, Rene
Hallo Rene, ich bin ratlos. Ich habe hello_world.sof problemlos auf zwei meiner CY2-Boards zum Laufen gebracht, aber bei keinem ist mir die Config-ROM-Programmierung mit hello_world.jic gelungen. Bei mir ist der Verify allerdings ok. Den Versuch habe ich mit Quartus 9.1 auf Win 10 gemacht. Statt EPCS4 verwende ich als Config-ROM EPCS1, das nur mit Kompression genügend Speicher bietet. Auch eigene jic-Files, die ich vor vielen Jahren generiert habe, funktionieren im Gegensatz zu den sof-Files nicht (mehr)! Mit dem Oszi sieht es so aus, also ob der Konfigurationsvorgang in einer Dauerschleife läuft. Das muss ich morgen mal genauer untersuchen. Auch könnte ich ein anderen China-USB-Blaster sowie später einen Altera USB-Blaster ausprobieren, kann mir aber überhaupt nicht vorstellen, dass es daran liegt. Und dann könnte ich noch mit einer neueren Quartus-Version das jic generieren und programmieren. Mich beunruhigt das, weil ich demnächst ein Cyclone III-Projekt überarbeiten muss. Wenn aus irgendeinem Grund, z. B. Win 10, das nicht mehr geht, habe ich ein Problem. Grüße, Uwe Kurzer Nachtrag noch: Mit dem Programmer von Quartus 13.2 und 15.0 das selbe Ergebnis: Programmierung und Verify ok, siehe Screenshot, aber keine Funktion.
:
Bearbeitet durch User
Ich hab' mir grad' so ein China-Board geholt und konnte über AS (terasic USB Blaster in der "ASP"-Buchse) problemlos das Flash beschreiben. Mit "Convert Programming File" das .sof in ein .pof umgeschrieben Das Board startet auch reproduzierbar mit meiner (geänderten) Konfiguration. Quartus ist 13.0 (Linux). P.S.: grad' nochmal mit einem .jic-File über JTAG probiert: funzt auch. Allerdings schmiert beim Wechsel von ASP auf JTAG (Umschalten im Programmer) der USB-Blaster ab und läßt sich erst wieder durch Aus- und Einstecken zur Mitarbeit bewegen.
:
Bearbeitet durch User
... und weil man ja heute sowieso nix anderes zu tun hat, als auf die Bescherung zu warten, habe ich da gleich noch ein bißchen weiter gebastelt. Mit dem Taster auf dem Board kann man sich jetzt durch verschiedene Blinkfrequenzen "durchklicken". Eins muß ich sagen: das Ding lehrt einen Sparsamkeit ;). Mein erster Versuch hat gleich mal über 30% der Kapazität verschlungen. Die angehängte Version kommt mit 3% aus.
Hallo Markus, danke für den Input! Während die Weihnachtsgans im Ofen ist, probiere ich Deine Files mal aus. Hallo Uwe, das ist natürlich mysteriös! Dann hat meine Frage hier zumindest dazu geführt, daß Du jetzt ein paar Wochen länger Zeit hast, Dich mit dem voraussichtlichen Problem zu beschäftigen. Ich arbeite übrigens unter Windows 7 mit Quartus II 13.0.1. Für ältere Entwicklungsaufgaben, die nicht mehr mit moderner Technik kompatibel sind, hab ich mir gerade noch ein altes IBM Thinkpad mit Windows XP eingerichtet. Gruß, Rene
@Rene: Ich hab beide FPGA-Boards. Die China-Ware ist von der Qualität her sehr durchwachsen. Es kann sein, daß es Probleme mit den Lötverbindungen gibt. Prinzipiell kann man die Boards nur mit dem JTAG-Anschluss verwenden. Active Serial ist aber schneller, da man das sof-File eigentlich immer sofort miterstellt bekommt. Mit dem Cyclone4-Board wirst du wahrscheinlich nicht wirklich glücklich werden. Die haben zwar nette Sachen draufgepackt, aber vieles kann man nur nutzen, wenn man andere Funktionen nicht voll nutzt. @Markus: Ein EP2C5 ist schon ziemlich groß: Da passt locker eine 6502 CPU drauf. Normalerweise muss man nur seine Denkweise etwas anpassen, dann werden die Designs schnell kleiner. Gruß, SIGINT
Sigint 1. schrieb: > Normalerweise muss man nur seine Denkweise etwas anpassen, > dann werden die Designs schnell kleiner. Ich bin dabei ;) Hab' eben noch einen "Lothar-Miller-Gedächtnis-UART" (bei der Gelegenheit mal meinen herzlichen Dank an jenen, ich habe auf den Seiten viel gelernt) mit draufgepackt, der die LED'-Blinkerei per RS232 als ASCII auf ein serielles Terminal schickt. Immer noch bei 5% Ausnutzung. Der größte Einzelbrocken ist der Entpreller für den Taster.
Also meine Ratlosigkeit bleibt: Nach wie vor bekomme ich kein .JIC auf dem CY2-Board zum Laufen, während das .SOF, aus dem es generiert wurde, funktioniert. Das .JIC geht weder mit dem China-Blaster noch mit dem originalen Altera USB-Blaster. Nach wie vor geht auch ein altes .JIC, was mal lief, nicht mehr. Die Programmierung samt Verify klappt, aber das FPGA holt in einer Schleife dauernd Daten vom EPCS1 ab. Irgendwas passt ihm da nicht. Habe ich zwei defekte CY2-Boards??? Wie auch immer, ich brauche es nicht und wahrscheinlich auch nie wieder, also gebe ich es auf. Meine Befürchtung, das aus irgend einem Grund .JICs grundsätzlich nicht mehr gehen, hat sich aber zum Glück nicht bewahrheitet. Bei einem CY3-Design, dass zur Überarbeitung ansteht, klappt alles wie gewohnt.
Sigint 1. schrieb: > @Rene: Ich hab beide FPGA-Boards. Die China-Ware ist von der Qualität > her sehr durchwachsen. Es kann sein, daß es Probleme mit den > Lötverbindungen gibt. Prinzipiell kann man die Boards nur mit dem > JTAG-Anschluss verwenden. Active Serial ist aber schneller, da man das > sof-File eigentlich immer sofort miterstellt bekommt. Mit dem > Cyclone4-Board wirst du wahrscheinlich nicht wirklich glücklich werden. > Die haben zwar nette Sachen draufgepackt, aber vieles kann man nur > nutzen, wenn man andere Funktionen nicht voll nutzt. Hallo, bis jetzt bin ich mit den Boards eigentlich ganz zufrieden. Vor allem sind beim Cy4 einfache und nützliche Beispiele dabei, die mir schon sehr helfen, das Beschreiben von FPGAs zu verstehen. Egal, ob man mit dem Board am Ende wirklich etwas Sinnvolles anfangen kann. Auf der Webseite von Peter Sieg habe ich auch eine Emulation eines alten 6502 Basicrechners mit BAS Signal und PS/2 Tastatur gefunden. Das ist genau auf dem Cy2 Board realisiert. Meine erste Idee wäre dann, das auf das Cy4 Board umzusetzen, weil das ja ohnehin schon einen Grafikausgang und eine PS/2 Buchse hat. Ansonsten bin ich kurz davor, mir als nächstes MIST aus Polen (also den ATARI-ST u.a. FPGA Nachbau) zu ordern. Damit hab ich dann auf jeden Fall alle Möglichkeiten! Gruß, Rene
Markus F. schrieb: > ... und weil man ja heute sowieso nix anderes zu tun hat, als auf die > Bescherung zu warten, habe ich da gleich noch ein bißchen weiter > gebastelt. Hallo Markus, wenn ich Dein Projekt für mein Cy2 Board nutzen will, wie binde ich es dann ein? Ein .qpf Projektfile ist nicht dabei. Lege ich dann ein neues Projekt für meinen Cy2 Chip an, bzw. nehme ein alten von mir, werfe meine .vhd Files raus und nehme die von Dir dazu? Gruß, Rene
Rene V. schrieb: > Ein .qpf Projektfile ist nicht dabei. Aber ein .qsf ist doch drin, oder? Wenn Du das Archiv in ein neues Verzeichnis enpackst und darin mit Quartus das .qsf öffnest, müsste es dir eigentlich anbieten, damit ein neues Projektfile zu erstellen. Macht es zumindest bei mir so. Wenn Du möchtest, schick' ich dir aber auch gern meinen letzten Stand komplett.
:
Bearbeitet durch User
Hallo, nur zur Auflösung: Das Config-Flash meines ersten Cyclone2 Boards schien wirklich defekt gewesen zu sein. Ich hab ein neues gekauft, und damit funktioniert jetzt alles. Danke für die Unterstützung! Gruß, Rene
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.