ispLSI 1032E Programmieren über JTAG geht nicht

OP #5010332
Lesenswert?

Hallo,
ich möchte die ispLSI1032E über JTAG programmieren.
Die IC wird problemlos per JTAG-Scan richtig erkannt.
Beim Programmieren kommt folgender Fehler:
1
Check configuration setup: Start.
2
ISP Chain Verification. No Errors.
3
Check configuration setup: Successful.
4
Device1 1032E: Erase,Program,Verify
5
HDR  0
6
TDR  0
7
SDR 8   TDI(FF)
8
Expected  TDO(0D)
9
Expected MASK(FF)
10
Received  TDO(06)
11
Bits Error 0004: Expected: 1 Received: 0
12
Bits Error 0002: Expected: 0 Received: 1
13
Bits Error 0001: Expected: 1 Received: 0
14
Execution time: 00 min : 00 sec
15

16
Failed in Function READ_ID (see log file for more details)

Die Device-ID sollte 0D sein ist aber 06.
Evtl. fehlt da ein Bit: (0x06 << 1 )| 1 = 0x0D ??
Getestet mit ispVM Sytem und Diamond Programmer,
gleiches Ergebnis.

Evtl. hat jemand eine Idee was da falsch läuft....

Steffen
Gast #5011007
Lesenswert?

Steffen S. schrieb:
> Die Device-ID sollte 0D sein ist aber 06.
> Evtl. fehlt da ein Bit: (0x06 << 1 )| 1 = 0x0D ??
> Getestet mit ispVM Sytem und Diamond Programmer,
> gleiches Ergebnis.
Oder es wurde ein Taktimpuls zuviel bzw. zuwenig erkannt.

> Evtl. hat jemand eine Idee was da falsch läuft....
Ich würde mit dem Oszilloskop die Signalqualität prüfen...

Duke
#5011200
Lesenswert?

Vielleicht ist es ein Nachfolgetyp mit anderer Kennung
http://www.latticesemi.com/~/media/LatticeSemi/Documents/DataSheets/ispLSI/ispLSI1032EDataSheet.PDF?la=en
da steht schräg drüber "neuen Typ ispLSI1032EA verwenden"
Ich fürchte, die Kennung steht nicht im Datenblatt, aber vielleicht im 
Boundary-scan-File.
http://bsdl.info/download.htm?sid=b7a5e55ec84fc80c88ca59b002289d77

   -- IDCODE Definition

   attribute IDCODE_REGISTER of ispLSI1032EA: entity is
   "0000" &                                       -- version
   "0000001100101110" &                           -- part number (032E)
   "00000100001" &                                -- manufacturer's 
identity
   "1" ;                                          -- required by 1149.1

   -- USERCODE Definition

   attribute USERCODE_REGISTER of ispLSI1032EA: entity is
   "11111111111111111111111111111111";

IDCODE:   00000000001100101110000001000011
0x0032E043

naja da sollte man sich erst mal einlesen
OP #5012694
Lesenswert?

Christoph K. schrieb:
> Hier habe ich noch das alte Windows-Download.exe von Lattice, das hat am
Mit den alten Sachen vom isp-Starter Kit will ich nicht anfangen...


ich habe mal in der IODD.svp rumprobiert:
1
function READ_ID {
2
  int32 TotalLength = 0;
3
  TotalLength = ID_Length+(TOTAL_TID_LENGTH)+(TOTAL_HID_LENGTH);
4
  STATE ispIDLE;
5
  SDR_VERIFY  TotalLength  TDI (#1^TotalLength)
6
              TDO  ((#1^(TOTAL_TID_LENGTH))@IDTDI[1]@(#1^(TOTAL_HID_LENGTH)))
7
              MASK ((#0^(TOTAL_TID_LENGTH))@DEVICE_ID_MASK@(#0^(TOTAL_HID_LENGTH)));
8
}
wenn man eine von den Längen erhöht kam sogar die richtige ID.
Kann aber mit dem Script nicht wirklich was anfangen: #0^ ????

Ansonsten lass ich es lieber und nehme andere CPLD's.
Gast #5014660
Lesenswert?

Habe es wieder gefunden...

www.latticesemi.com/view_document?document_id=143

Auf seite 4 Figure 5 und auf Site 6 Punkt 2.

"2. For older Lattice ISP devices, a 0.01µF decoupling capacitor is 
required on ispEN/ENABLE of the target board."

Ich benutze zwar noch einen LPT, aber auch da ist ohne 10n kein 
Programmieren möglich bei den alten PLDs. Seitdem kommt der 10n immer 
gleich mit aufs Board unmittelbar am ispEN Pin.
OP #5015058
Lesenswert?

Ich verwende ein FT2232H-Modul als Programmieradpater. Ein Parallelport 
steht  hier nicht zur Verfügung.
ispEN liegt per Draht auf Masse da dieses Signal nicht angesteuert wird.
Komisch ist nun, dass der Scan Chain das CPLD richtig erkennt aber der 
Befehl "Display ID" nicht funktioniert (s.o.).

Ich habe auf einem alten XP-Rechner mit Parallelport das auch nochmal 
ausprobiert. Dort funktioniert alles.
Angehängte Dateien:
Gast #5015750
Lesenswert?

Steffen S. schrieb:
> Ich habe auf einem alten XP-Rechner mit Parallelport das auch nochmal
> ausprobiert. Dort funktioniert alles.

Läuft da die gleiche Programmversion wie auf dem anderen Rechner?

Steffen S. schrieb:
> Komisch ist nun, dass der Scan Chain das CPLD richtig erkennt aber der
> Befehl "Display ID" nicht funktioniert (s.o.).

Fragt "Display ID" denn tatsächlich den IDCODE ab, oder irgendeine 
andere ID? "SDR 8   TDI(FF)" ist ja ein bisschen kurz für den IDCODE...
OP #5016393
Lesenswert?

Rudolph schrieb:
> Läuft da die gleiche Programmversion wie auf dem anderen Rechner?
ja, die gleiche ISPVMSystem.
Nun auch nochmal unter Windows 7 32-Bit probiert: gleiches Problem

>
> Fragt "Display ID" denn tatsächlich den IDCODE ab, oder irgendeine
> andere ID? "SDR 8   TDI(FF)" ist ja ein bisschen kurz für den IDCODE...

Ist die ID von Scan Chain die gleiche wie bei Display ID?
Die ID's sind hier nur 8-Bit breit.

Noch eine Korrektur:
Die ispLSI1000er haben kein JTAG sondern verwenden die propri-
etary Lattice ISP State Machine.

Ich habe das Get ID Timing aufgezeichnet.
Gleiches Ergebnis bei Scan Chain und READ ID.
Leider kann ich das Ergebnis nicht richtig verstehen:
1. Mode=1, 7 Takte -> ID wird in das Shift-Register eingeschrieben (LOAD 
ID)
2. Mode=0, b0 von der ID liegt an SDO
3. nur ein (?) Takt, b1 von der ID liegt an SDO (ShiftID)

Warum nur 1 Takt?
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren