Forum: FPGA, VHDL & Co. Frage zu usbprog und XCF01S


von Rene B. (themason) Benutzerseite


Lesenswert?

Hallo,

hat jemand schonmal mit dem usbprogV2.0 oder V3.0 einen XCF01 
programmiert ? Ich frag deshalb da der usbprogXSVF-Player ja 
Instruktionen bis max 64 bytes länge verarbeiten kann. Da ich nicht weiß 
ob die Erzeugung von XSVF's für den XCF01S nicht vllt längere 
Instuktionen als 64 Bytes beinhaltet. Könnte man in dem falle irgendwo 
die max Instruktionslänge einsehen (oder besser begrenzen) ?

von Frank (Gast)


Lesenswert?

Ein XCF..S hat eine Feste Länge von 8 Byte je Instruktion

von Antti Lukats (Gast)


Lesenswert?

8 BYTE?

doch nicht

Antti

von Rene B. (themason) Benutzerseite


Lesenswert?

danke für die antwort.

wie kann man überhaupt die instruktions länge ermitteln ? hängt das auch 
von der länge der jtag-chain (also wieviele chips in der kette hängen) 
ab ? oder zählt da nur die max länge eines einzelnen chips (also das die 
adressierung der chips quasi mit in der instruktion steht) ?

werd mal zusehen das ich meinen xcf01s probehalber mal mit dem usbprog 
programmiere. dann wäre das parallelport-problem zumindest für meine 
anwendung gelöst. ich habe zwar noch einen funktionierenden old-style 
parallelport an meinem läppi ... aber es wird die parallelports ja auch 
nur noch bei ebay- oder gebrauchten läppis geben.

von Christian R. (supachris)


Angehängte Dateien:

Lesenswert?

Rene Böllhoff schrieb:
> danke für die antwort.
>
> wie kann man überhaupt die instruktions länge ermitteln ? hängt das auch
> von der länge der jtag-chain (also wieviele chips in der kette hängen)
> ab ? oder zählt da nur die max länge eines einzelnen chips (also das die
> adressierung der chips quasi mit in der instruktion steht) ?

Die Länge steht zum Beispiel im BSDL File des Bausteins. Beim XCF01S 
wäre das folgende Zeile
1
attribute INSTRUCTION_LENGTH of XCF01S_VO20 : entity is 8;

Siehe Datei.

von Rene B. (themason) Benutzerseite


Lesenswert?

vielen dank. also müsste sich demnach der usbprog zur programmierung der 
xcf01s eignen. prima. danke für den hinweis mit dem bsdl file.

von Andreas Weschenfelder (Gast)


Lesenswert?

Hi,

keine das usbprog-Projekt recht wenig, entsinne mich aber, dass mit der 
Instruction-Länge nicht die Länge des Intruction-Registers gemeint ist, 
sondern die Länge einer JTAG-Shift-Operation.

Erstell dir mal ein SVF-File und öffne es mit einem Text-Editor; Hier 
siehst du dann Instruction/Daten-Shifts mit folgender Syntax:
//Loading device with 'USER1' instruction.
SIR 6 TDI (02) SMASK (3f) ;
SDR 8 TDI (05) SMASK (ff) TDO (05) MASK (FF) ;

Die Zahl nach SIR/SDR ist die Anzahl an Bits, die zu Shiften sind. Bei 
den FPGA-SVF-Files, die ich gesehen habe [vor allem Xilinx], waren das 
immer 1,2,3 Shifts um das FPGA zu initialisieren und dannach das 
FPGA-Bit-File in einem Shift. Also leicht mehr als 64*8 Bit.
Also schau dir einfach mal dein SVF-File an.

Also FT2232-Alternative gibts hier einen XSVF-Player:
http://embdev.net/topic/139121#new

Gruß Andreas

von Iulius (Gast)


Lesenswert?

Das nur das Instructionregister gemeint sein soll macht keinen Sinn, 
schon weil Instructionregister und Dataregister eh gleich angesprochen 
werden.


Also entweder das svf ansehen oder aber in das bsd kucken, die liegen 
einfach im xilinx Ordner.

Dabei gibt es ja nach Chip deutliche Unterschiede.

interessant ist immer das Konfigurations-"Register" unter

"attribute REGISTER_ACCESS of...."


Beispiel für einen 95144 : ISCONFIGURATION[82]

hier hast du also kein Problem da nur 82bit benötigt werden.


Beispiel für einen Virtex 5 : CFG_DATA[12556672]

naja dazu muss ich wohl nicht viel sagen...


Fraglich ist nun ob du den auch in mehreren Schritten programmieren 
kannst und deshalb mit 64kbyte pro Schritt auskommst.

von Rene B. (themason) Benutzerseite


Lesenswert?

also nach ein wenig nachschauen (unter anderem der tip mit dem svf file 
welches ja im klartext zu lesen ist) scheint es wohl doch so zu sein das 
ich mit dem XSVF-Player den XCF01S bzw XCF02S nicht programmieren kann.
die einzelnen Programmier-Schritte umfassen bis zu 4096 bit für die 
SDR-Operation. Ergo -> ein büüschen mehr als 64 Byte :-(
Schade. Also weiterhin das Parallelkabel benutzen oder eben nen teuren 
USB-Programmier-Adapter kaufen :-(

falls jemand noch infos hat bin ich dankbar, aber ich glaube nicht das 
es funktioniert, es sei den xsvf ist grundsätzlich so aufgebaut das die 
instruktionslänge immer kleiner als 64 byte ist, was allerdings wohl 
nicht anzunehmen ist.

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.