Forum: FPGA, VHDL & Co. Xilinx ISE / Impact problem


von Michael I. (mig222222)


Lesenswert?

Hallo zusammen. Ich habe ein problem, bei dem ich alleine nicht so 
richtig weiterkomme. Ich möchte einen FPGA (xc3s200) von Xilinx 
programmieren.
Nachdem ich mit Xilinx ISE ein "programming file" erstellt habe möchte 
ich dieses file in den FPGA laden. Dazu doppelklick auf "Configure 
Target Device".

Dann kommt die erste Warnung:
Warning: A project file exist, but there is no information about PROM 
file or System ACE. Click OK to open iMPACT. You will then need to add 
appropirate information to PROM file formatter or SystenACE and then 
save the iMPACT project file. Once this step is completed, subsequent 
runs of the 'Generate Target PROM/ACE file' process can generate the 
file without needing to open the iMPACT GUI.

--> mit ok quittiert.

iMPACT öffnet sich:
 da ich erstmal per JTAG Programmieren will (selbstgebautes 
Programmierkabel III von UlrichRadig.de), führe ich einen Boundary scan 
durch. iMPACT erkennt ein unknown Device, und fragt: "Do oyu have a BSDL 
or Bitfile for this Device?"
Ich habe mir daraufhin ein meinermeinung nach passendes BSDL file von 
der Xilinx seite heruntergeladen.

In meinen JTAG-Kreis zeigt iMPACT mir jetzt meinen FPGA.
Allerdings bei "Get Device ID  Get Device Signature  Check idcode oder 
read Staus register bekomm ich folgende meldung:

INFO:iMPACT:1777 -
Reading H:/Uni/leucht/leucht/xc3s200.bsd...
// *** BATCH CMD : ReadIdcode -p 1
INFO:iMPACT:583 - '1': The idcode read from the device does not match 
the idcode in the bsdl File.
INFO:iMPACT:1578 - '1':  Device IDCODE : 
00000000000000000000000000000000
INFO:iMPACT:1579 - '1': Expected IDCODE: 
00000001010000010100000010010011

JTAG ist korrekt angeschlossen, keine Kurzschlüsse und 
versorgungsspannung 2,5Vkommen am Prommer an.

Ich hoffe ich hab euch nicht zu sehr gequält und das mir jemand helfen 
kann.
Danke schonmal

von Fpgakuechle K. (Gast)


Lesenswert?

> INFO:iMPACT:1777 -
> Reading H:/Uni/leucht/leucht/xc3s200.bsd...
> // *** BATCH CMD : ReadIdcode -p 1
> INFO:iMPACT:583 - '1': The idcode read from the device does not match
> the idcode in the bsdl File.
> INFO:iMPACT:1578 - '1':  Device IDCODE :
> 00000000000000000000000000000000
> INFO:iMPACT:1579 - '1': Expected IDCODE:
> 00000001010000010100000010010011
>
> JTAG ist korrekt angeschlossen, keine Kurzschlüsse und
> versorgungsspannung 2,5Vkommen am Prommer an.


Da kommt nix von JTAG, wahrscheinlich ist dein programmer defekt oder 
das Spartan board.

Du kannst noch versuchen in den optionen die Programmiergeschwindigkeit 
(JTAG-Clk) runterzustellen, aber ich tippe mal auf Hardwarefehler. 
Vielleicht TDI und TDO vertauscht?

MfG,

von Iulius (Gast)


Lesenswert?

Das du komplett Nullen zurück bekommst ist höchst merkwürdig.

Kurz : wäre der Spartan komplett defekt würde boundary Chain gar nichts 
finden.

Offensichtlich leitet dieser jedoch Informationen weiter, denn anders 
ist nicht zu erklären das überhaupt ein Chip innerhalb der Chain 
gefunden wird, ergo muss er auch 1en zumindest im Bypass durchlassen und 
demzufolge kann an der Jtag-Chain auch nicht grundsätzlich etwas völlig 
verkehrt sein.


Hast du die Möglichkeit tdo über einen Logikanalyzer/Oszi dir anzukucken 
?

Falls ja, versuche mal ein IDCode-Loop in Xilinx mit ein paar Millionen 
Zyklen und schau dir mal tdo an.



Achja : BSDL selbst festlegen bringt garnichts. Impact prüft den ID-code 
ohnehin selbst und wählt ein passendes bsdl wenn es das Gerät kennt und 
wenn nicht kannst du auch nicht programmieren.

von Michael I. (mig222222)


Lesenswert?

Danke erstmal für die schnelle Antwort

Iulius schrieb:
> Das du komplett Nullen zurück bekommst ist höchst merkwürdig.
>
> Kurz : wäre der Spartan komplett defekt würde boundary Chain gar nichts
> finden.

Das denke ich auch, da er ja ein unknown device findet.


> Hast du die Möglichkeit tdo über einen Logikanalyzer/Oszi dir anzukucken
> ?



> Falls ja, versuche mal ein IDCode-Loop in Xilinx mit ein paar Millionen
> Zyklen und schau dir mal tdo an.

Hab leider nur ein altes HM30. TDO pin auf 2,5V. während der loops kann 
man erkennen dass beide Pegel vorkommen.

> Achja : BSDL selbst festlegen bringt garnichts. Impact prüft den ID-code
> ohnehin selbst und wählt ein passendes bsdl wenn es das Gerät kennt und
> wenn nicht kannst du auch nicht programmieren.

Impact fragt ja nach einem BSDL file. Kann man ja bei Xilinx 
herunterladen.

Wie funktioniert der Debug chain?
Kann man damit weiterkommen?

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.