mikrocontroller.net

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


Autor: Rene B. (themason) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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) ?

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein XCF..S hat eine Feste Länge von 8 Byte je Instruktion

Autor: Antti Lukats (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
8 BYTE?

doch nicht

Antti

Autor: Rene B. (themason) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Christian R. (supachris)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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
attribute INSTRUCTION_LENGTH of XCF01S_VO20 : entity is 8;

Siehe Datei.

Autor: Rene B. (themason) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Andreas Weschenfelder (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Iulius (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Rene B. (themason) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

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.