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
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.
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.
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
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.
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.
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
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.
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...
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.
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.
Gab es eine Lösung zu dem Problem? Würde mich und wahrscheinlich auch noch ein paar andere interessieren.
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
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.