Hallo, als Neuling auf diesem Gebiet habe ich ein paar Fragen, wenn ich nun einen CPLD oder FPGA Baustein von Altera über JTAG "programmiere", bleibt das Programm nach dem Abschalten der Versorgungsspannung weiterhin im Baustein?? Was muss ich machen, wenn ich wie beim Mikrocontroller ein Programm permanent in den Baustein brennen möchte? Wie bekomme ich dann das Programm in den Baustein rein? Wie oft kann man einen Baustein programmieren? Danke für eure Antworten!
Hallo Markus Einen FPGA kannst du so oft wie du willst programmieren. Durch das Programmieren bekommst du ihn nicht kaputt. Die logische Verschaltung wir in einem FPGA durch eine SRAM-Struktur generiert. Das hat aber den Nachteil, dass er ohne Betriebsspannung den programmierten Zustand verliert. Dagegen wird bei einem CPLD die Verschaltung in einer EEPROM-Struktur gespeichert. Dabei bedeutet jedes Programmieren eine Schädigung der Speicherzellen. ca. 10000 mal Der Speichererhalt (meist 10 Jahre) wird aber nur für ein paar Programmiervorgänge gewährleistet. Um den FPGA beim Start zu Laden, gibt es spezielle Flash-EEPROMs von den FPGA-Herstellern, in denen man das Modell speichern kann. Ansonsten besteht auch die Möglichkeit das Modell mit einem µC in den FPGA zu laden. FPGA: Bei Altera heißt der Chip zum Beispiel EPCS4. (Es gibt von Altera auch andere Configuration Devices.) http://www.altera.com/products/devices/config/overview/cfg-overview.html http://www.altera.com/products/devices/serialcfg/overview/scg-overview.html Beispiel für EPCS4: Wenn du den Chip über den FPGA Programmieren willst, öffnest du dein Projekt in QuartusII. Wenn das Projekt noch nicht Synthetisiert wurde, tust du dies als erstes. (lila Pfeil) Jetzt hat das Synthesetool die *.sof-Datei erzeugt. (Diese Datei kann man mit dem Programmiertool direkt in den FPGA laden.) Um das Model in den externen Flash-EEPROM zu schreiben: File -> Convert Programming file Programming file type: JTAG Indirect Configuration File (*.jjc) Configuration device: EPCS4 File name: Test_file.jjc (als Beispiel) Flash Loader [Add Device] (FPGA auswählen) SOF Data [Add File] (die *.sof-Datei von oben) [OK] Jetzt das Programmiertool öffnen. [Add File] Test_file.jjc Jetzt siehst du in Programmiertool, das zwei Chips programmiert werden sollen. In den FPGA wird ein Modell zum Programmieren geladen, so dass damit dann der Chip programmiert werden kann. Du musst bei Program/Configure beide auswählen. [Start] Nach dem du kurzzeitig die Versorgung unterbrochen hast, liest der FPGA das Modell aus dem externen Speicher. Über die JTAG-Schnittstelle kannst du den FPGA wieder überschreibe. Beim nächsten Start ist dann wieder das Modell aus dem Flash in FPGA. !! Für Testzwecke würde ich nur in den FPGA schreiben. Ansonsten kannst du auch noch in das Datenblatt vom FPGA schauen, da stehen die Programmiermöglichkeiten auch noch drin. MfG Holger
Kann man eigentlich für Testzwecke den FPGA ohne Konfigurationsspeicher betreiben (FPGA wird direkt über JTAG programmiert)? Ich habs schon versucht, weiß aber nicht genau wie ich die ganzen Konfigurationspins des FPGAs setzen muss. Grüße Clemens
Jetzt funktionierts MSEL1 => GND MSEL0 => GND nStatus => Pullup INIT_Done => Pullup CONF_Done => Pullup MFG Clemens
wenn ich nun einen CPLD oder FPGA Baustein von Altera über JTAG "programmiere", bleibt das Programm nach dem Abschalten der Versorgungsspannung weiterhin im Baustein?? FPGA(SRAM basierend): Nein CPLD: Ja Es gibt FPGA's die einmal Progrmmierbar sind. Das sind die sogennanten Anti-Fuse basierenden FPGA's von Actel(?)
<Kann man eigentlich für Testzwecke den FPGA ohne <Konfigurationsspeicher <betreiben (FPGA wird direkt über JTAG programmiert)? Ich habs schon <versucht, weiß aber nicht genau wie ich die ganzen Konfigurationspins <des FPGAs setzen muss. Normalerweise ja.. JTAG als Prüfschnittstelle sollte immer ansprechbar sein. Zumindest bei Xilinx ist der FPGA immer per JTAG programmierbar, egal wie die ModePins stehen.
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.