Forum: FPGA, VHDL & Co. Einsteigerfrage: EPCS4 auf EP2C5T144 Board läßt sich nicht programmieren


von Rene V. (creep)


Lesenswert?

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

von Uwe B. (uwe_beis)


Lesenswert?

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

von Rene V. (creep)


Angehängte Dateien:

Lesenswert?

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

von Mike (Gast)


Lesenswert?

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

von Rene V. (creep)


Lesenswert?

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

von Rene V. (creep)


Lesenswert?

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

von Markus F. (mfro)


Lesenswert?

Ich meine, bei dem Chinaboard muß der USB Blaster in der 2. (Advanced 
Serial) Buchse stecken. Hast Du das probiert?

von Creep (Gast)


Lesenswert?

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

von Uwe B. (uwe_beis)


Angehängte Dateien:

Lesenswert?

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
von Markus F. (mfro)


Lesenswert?

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
von Markus F. (mfro)


Angehängte Dateien:

Lesenswert?

... 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.

von Rene V. (creep)


Lesenswert?

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

von Sigint 112 (sigint)


Lesenswert?

@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

von Markus F. (mfro)


Lesenswert?

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.

von Uwe B. (uwe_beis)


Lesenswert?

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.

von Rene V. (creep)


Lesenswert?

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

von Rene V. (creep)


Lesenswert?

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

von Markus F. (mfro)


Lesenswert?

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
von Rene V. (creep)


Lesenswert?

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
Noch kein Account? Hier anmelden.