mikrocontroller.net

Forum: FPGA, VHDL & Co. spartan 3 jtag im impact


Autor: philipp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich habe in Spartan 3 Board gebaut und versuche nun diesen über JTAG mit 
Impact zu programmieren. ID auslesen funktioniert einwandfrei. Doch wenn 
ich das FPGA programmieren will bricht impact ab weil "done pin did not 
go high"
ich verwende den dlc9 programmer, habe alla leitungen (TDI, TDO, TMS, 
TCK Vref und gnd) an die jeweiligen pins angeschlossen. init ist noch 
frei.

woher weiß impact das done nicht auf high geht? da hängt doch klein 
kabel dran?
oder meint impact tdo?
die done led bleibt jedenfalls auf low (pullup vorhanden).

hat jemand eine ahnung was da nicht stimmt?

lg
Philipp

Autor: Uwe Bonnes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wer treibt "DONE"? Je nach Einstellung macht das der FPGA selbst, oder 
ein (nicht zu hochohmiger) Pullup. Mach Dir den ganzen Klapperatismus 
nochmal klar. Ich vermute Dein Problem dadran.

Autor: philipp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hab auf done einen 1k pullup, und im den bitstream options den 
internen pullup ausgeschalten. danach hab ichs umgekehrt probiert.  hat 
beides nicht geklappt.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast Du auch an die M0,M1,M2 Leitung gedacht. Damit kann man den 
Betriebsmodus des FPGA einstellen. Welcher der richtige ist, kann im 
Datenblatt nachgelesen werden

Autor: philipp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja, die m0 -m2 hab ich richtig eingestellt ich kann den status der pins 
uber da auslensen des statusregisters im impact sehen. und der passt.

Autor: philipp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hab hier noch das log vom impact:

PROGRESS_START - Starting Operation.
Chain TCK freq = 33000000.
Validating chain...
Boundary-scan chain validated successfully.
'1':Programming  device...
done.
'1': Reading status register contents...
CRC error                                         :         0
RESERVED                                          :         0
DCM locked                                        :         1
DCI Matched                                       :         1
legacy input error                                :         0
status of GTS_CFG_B                               :         0
status of GWE                                     :         0
status of GHIGH                                   :         0
value of MODE pin M0                              :         1
value of MODE pin M1                              :         0
value of MODE pin M2                              :         1
value of CFG_RDY (INIT_B)                         :         0
DONEIN input from DONE pin                        :         0
ID_ERROR                                          :         0
RESERVED                                          :         0
RESERVED                                          :         0
INFO:iMPACT:2219 - Status register values:
INFO:iMPACT - 0011 0000 1010 0000 0000 0000 0000 0000
INFO:iMPACT:579 - '1': Completed downloading bit file to device.
INFO:iMPACT:580 - '1':Checking done pin ....done.
'1': Programming terminated, Done did not go high.
PROGRESS_END - End Operation.
Elapsed time =      1 sec.

Autor: Bustle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Belegung von M0, M1 und M2 spielt bei der JTAG-Programmierung keine 
Rolle. Funktioniert immer.

Im ISE von Xilinx kannst du unter "StartUp Option" in den "Process 
Properties" die "FPGA-Start-Up Clock" einstellen. Sollte auf "JTAG 
Clock" stehen, wenn das dein Programmer von selber nicht korrigiert.

Miss mal den Done-Ausgang mit einem Oszi oder Multimeter nach. 
Vielleicht hast du beim Löten ein paar Pins "zusammenkelebt".

Gruß
Bustle

Autor: philipp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das mit der startup clock macht der programmer...
die pins hab ich auch alle durchgemessen, konnte keinen fehler finden.

was ich nicht verstehe ist wie der jtag programmer dedektiert ob "done" 
high oder low ist.

Autor: Bustle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das "Done"-Signal wird über das JTAG Kabel übertragen. Frag mich aber 
nicht wie genau...

Hast du auch gemessen ob das Done-Signal nach der JTAG konfiguration von 
Low nach High wechselt?

Kann mir sonst keine Erklärung liefern... aber ich würde auch mal noch 
nicht annehmen, dass der FPGA defekt ist.

Von welcher Firma ist der Programmer? Benutze doch denn von Xilinx...

Autor: philipp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
der programmer ist von xilinx (dlc9 usb platform cable)
done bleibt immer auf low!

ich hab in einem paper von xilinx gelesen das man den pull up von done 
bis 300 ohm klein machen kann, das hab ich auch ausprobiert, keine 
änderung.
was mich verwundert ist dass alles funkt bis done high werden soll und 
dann bricht er ab.
auch die 10000x idcode read loop funktioniert einwandfrei.
kann ein sein dass ich an done dann noch einen 74lvcxxx eingang habe? 
der sollte aber eigentlich nicht stören.

Autor: Bustle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, dann bist du mit dem Programmer wenigstens auf der richtigen Seite.

30Ohm ist klein genug, da reicht auch locker ein 4k7.

Nein, das mit dem 74LVC... kann ich mir auch nicht vorstellen. Aber 
sicherheitshalber würde ich das Füsschen dieses Bausteins doch mal nach 
oben biegen.

Autor: Bustle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gab es eine Lösung zu dem Problem? Würde mich und wahrscheinlich auch 
noch ein paar andere interessieren.

Autor: philipp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich habe die logig ics ausgelötet und neu eingelötet, alles 
funktioniert, ich glaube dass beim ersten löten ein kurzschluss 
entstanden ist, wobei ich mir nicht erkläten kann wo er war, aber jetzt 
geht alles
danke für die hilfe!
philipp

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.