mikrocontroller.net

Forum: FPGA, VHDL & Co. Impact probleme Webpack 8.1


Autor: Brutus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo. Ich bin am verzweifeln. Ich kann meinen Flash vom Spartan3
StarterKit nicht mit dem Webpack 8.1 programmieren. Was mache ich
falsch?
Also ich erstelle wie immer mein bit und MCS File. Dann Starte ich
Impact. Dort wähle ich boundary Scan für JTAG. Er erkennt dann auch
meinen Flashbaustein und den Spartan. Ich weise dem Flash dann das mcs
File und dem Spartan das Bitfile zu. Wenn ich nun die Verification und
das automatische löschen vor der übertragung aktiviert lasse, wird die
übertragung abgebrochen. Wenn die verifikation deaktiv ist, läuft die
übertragung zwar durch, aber das programm funzt trotzdem nicht.
Was ist das falsch? Warum läuft das mit verifikation nicht?

Danke für die Hilfe oder die Tipps.

Autor: Brutus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat sich erledigt... Hilfe in anderem Thread gefunden. Thread closed
:-)

Autor: FPGAküchle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welche Lösung hat Dir jetzt weitergeholfen? Welcher thread hat die
Antwort?

Autor: Brutus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also zum einen hatte ich hier die Lösung für das problem mit dem Verify
erfahren. Das andere Problem warum sich die Daten nicht übertragen
lassen lag komischerweise an der Hardware. Nachdem ich die
Spannungsversorgung für kurze Zeit vom Board getrennt habe ging es
plötzlich. Komischerweise hat es auch dannach nicht immer geklappt.
Darum bin ich vorerst wieder auf webpack 7.1 umgestiegen. Hier
funktioniert es immer. Ich weiss nicht warum die programmirung mit 8.1
nicht richtig funktioniert, aber leider habe ich für die fehlersuche
zur Zeit keine Zeit. Ich vermute aber das es ein problem bei der
konvertierung gab. Das Projekt wurde mit 7.1 erstellt und für 8.1
konvertiert. Ich denke da gabs ein problem. Aber diese Aussage ist ohne
Gewähr :-)

Autor: FPGAküchle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So jetzt hatte ich auch diese Probs:

auf dem board ist ein PROM und ein spartan3 in der jtag kette.
Wenn ich mit impact 8.1. den PROM programmiere bricht er beim Verify
ab,
dann komme ich auch nicht mehr per JTAG an den Spartan3 ran. Nehme
ich die spannung vom board und schalte sie wieder an, geht JTAG erst
mal wieder.

Jetzt programmiere ich den Spartan3 und dann den PROM, geht auch. Aber
dann startet der FPGA nicht immer. Als Problem habe ich eine falsche
Bitgen
Option ausgemacht. Da war der startUp clock auf Jtag gesetzt. Setze ich
beim Generieren des Bitfiles den startupclk auf cclk (sollte default
sein), klappt alles
wunderbar.

Autor: Jürgen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@FPGAküchle

ich nutze impact 8.1. und das digilent-board
und habe wohl gleiches problem ...
  ?.bit ist kein problem auf dem board ablaufen zu lassen

die ?.mcs erstelle ich  aus der ?.bit  mit impact,
 andere option war mir nicht aufgefallen


wenn ich das richtig verstanden habe brauche ich
 ?.mcs  files für den Platformflash


 er läd die auch ..allerdings nur mit abgeschalteten verify

 und das programm  startet nicht nach einschalten ??


> Da war der startUp clock auf Jtag gesetzt. Setze ich
> beim Generieren des Bitfiles den startupclk auf cclk (sollte default
> sein), klappt alles wunderbar.

? wo genau finde ich diese option
? wie gehe ich vor

Autor: FPGAküchle (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Siehe screenshot:
 Im processfenster (li.Mitte) Generate Programming file auswählen und
rechts klicken -> Properties auswählen.

Autor: Jürgen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm...

nee das wars doch nicht ..
Also muss ich mir wohl weiter die karten legen ?

Autor: Jürgen (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe mir nun von xilinx  die prom.zip geholt
enthalten die "S3_starter_board_default_design_revE.mcs"
und versuche die nun in das platformflash vom
spartan3 starterboard rev E
zu bekommen aber es klappt einfach nicht ??

das log mal anbei..
ich starte die impact.exe direkt   er läd auch,
nur startet das board nicht

jumper sind in standard
nur was mit   · Jumper J10 installed for jumper storage.

gemeint ist ?? der hat doch keine aufgabe ?
  wo ist der haken ?      (den ich nicht gesehen habe )

Autor: FPGAküchle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm , lt. Log ist alles OK, wo ist das prob?

Jumper storage meint wohl "Gardrobehaken für unbenutzer Jumper",
also
hat elektr. keine Funktion.

Bitte Korregieren, wo ich falsch liege.

Autor: Jürgen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das problem ist das sich nach dem download
von xxx.mcs  files
auf dem board nix tut....??

ein rücklesen geht allerdings auch nicht..

Autor: FPGAküchle (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Also ich sehe jetzt zwei Probleme:
 (1)der PROM ist nicht rücklesbar
 (2)FPGA konfiguriert/startet nicht von PROM

zu (2):
 -vom PROM wird i.d.R% bei PowerUp geladen, also nach programmieren
PROM Spannung vom board abschalten, wieder zuschalten und schauen was
passiert.
 -Eventuell kann auf deinem board das Booten vom PROM per Jumper
gestattet/verboten werden.

Am bestem per scope die Programmiersignale am FPGA testen. Wenn nicht
möglich, dann kann man ein design schreiben, das ein Pin mit 0.1 -1 Hz
tw. 0 und 1 wechseln lässt. das ist per multimeter messbar. Vielleicht
bootet ja der PROM, aber das Design tut nix (reset permanent aktiv
etc).

(1) im Bitfile lässt sich das rücklesen des FPGA's verbieten.
Wahrscheinlich auch das Rücklesen des PROMS. wie man das Bitfile
rücklesbar konfiguriert zeigt der beigefügte screenshot.

Autor: Otto Richter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
An die Experten,

habe das gleiche Problem wie oben beschrieben: ISE8.1/IMPACT8.1, FPGA
direkt lässt sich programmieren, FLASH nicht, egal wie ich die
Properties einstelle.

Was mir noch aufgefallen ist: Nach dem FLASH-"Programmieren" geht die
DONE-LED neben dem PROG-Taster (auf dem DIGILENT-Board) nicht an.

Das alles müßte XILINX / DIGILENT doch auch gemerkt haben !

Otto

Autor: Otto Richter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MEINE LÖSUNG:

WebPack7.1 mit SP installieren, dann klaapts auch mit IMPACT (auch mit
verify - Häkchen!)

Otto

Autor: Ssss Ssssss (sssssss)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Also bei mir gehts auch mit dem 8.1 Webpack ohne Probleme...
(Digilent S3 board)

Ich hab mir letztens aber impact batch files geschrieben um nicht
jedesmal in der blöden gui rumklicken zu müssen.

Aufruf:
impact -batch filename.cmd

impact_upload_bitfile.cmd:
setMode -bs
setMode -bs
setCable -port auto
Identify
identifyMPM
assignFile -p 1 -file "/home/ss/src/usbADC/usbADC_main.bit"
assignFile -p 2 -file "/home/ss/src/usbADC/_prom3.mcs"
setAttribute -position 2 -attr packageName -value "(null)"
Program -p 1 -showprogress -defaultVersion 0
quit

impact_generate_prom.cmd
setMode -pff
setMode -pff
addConfigDevice  -name "_prom3" -path "/home/ss/src/usbADC/"
setSubmode -pffserial
addDesign -version 0 -name ""
setCurrentDesign -version 0
setMode -pff
addDeviceChain -index 0
setAttribute -configdevice -attr compressed -value "FALSE"
setAttribute -configdevice -attr compressed -value "FALSE"
setAttribute -configdevice -attr autoSize -value "FALSE"
setAttribute -configdevice -attr fileFormat -value "mcs"
setAttribute -configdevice -attr fillValue -value "FF"
setAttribute -configdevice -attr swapBit -value "FALSE"
setAttribute -configdevice -attr dir -value "UP"
setAttribute -configdevice -attr multiboot -value "FALSE"
setAttribute -configdevice -attr multiboot -value "FALSE"
setAttribute -configdevice -attr spiSelected -value "FALSE"
setAttribute -configdevice -attr spiSelected -value "FALSE"
addPromDevice -p 1 -size 0 -name xcf04s
setMode -pff
setMode -pff
deletePromDevice -position 1
setCurrentDesign -version 0
setCurrentDeviceChain -index 0
setCurrentDeviceChain -index 0
deleteDesign -version 0
setCurrentDesign -version -1
setMode -pff
addConfigDevice -size 512 -name "_prom3" -path
"/home/ss/src/usbADC/"
setSubmode -pffserial
setAttribute -configdevice -attr dir -value "UP"
addPromDevice -p 1 -size 0 -name xcf04s
setMode -pff
setSubmode -pffserial
setAttribute -configdevice -attr dir -value "UP"
addDesign -version 0 -name "0000"
setMode -pff
addDeviceChain -index 0
setCurrentDesign -version 0
setCurrentDeviceChain -index 0
setCurrentDesign -version 0
setCurrentDeviceChain -index 0
setAttribute -design -attr name -value 0
addDevice -p 1 -file "/home/ss/src/usbADC/usbADC_main.bit"
setMode -pff
setSubmode -pffserial
setAttribute -configdevice -attr fillValue -value "FF"
setAttribute -configdevice -attr fileFormat -value "mcs"
setAttribute -configdevice -attr dir -value "UP"
setAttribute -configdevice -attr path -value "/home/ss/src/usbADC"
setAttribute -configdevice -attr name -value "_prom3"
generate
quit

impact_upload_prom.cmd:
setMode -bs
setMode -bs
setCable -port auto
Identify
identifyMPM
assignFile -p 1 -file "/home/ss/src/usbADC/usbADC_main.bit"
assignFile -p 2 -file "/home/ss/src/usbADC/_prom3.mcs"
setAttribute -position 2 -attr packageName -value "(null)"
Program -p 2 -e -v -showprogress -defaultVersion 0
quit

und um ein gelocktes kabel zu resetten (!): impact_clearlock.cmd:
setmode -bs
cleancablelock
setcable -p auto
exit

Dabei müssen die Pfadangaben (/home/ss/src/usbADC/) und der Filename
des bitfiles (bei mir usbADC_main.bit) angepasst werden.
Danach kann man sehr komfortabel mit einmal enter drücken das bitfile
hochladen :)

Aufpassen: ich hab da das xcf04 als prom angegeben (aus einem anderen
projekt wo ich nen 04er prom drauf habe).
Geht aber ohne Probleme auch mit dem 02er von Spartan3 eval board 8)

Die cmd Files habe ich mir per Hand aus den Debugausgaben von Impact
zusammengestückelt, geht evtl auch einfacher, so funktionierts aber :)
Hab zusätzlich noch das progress anzeigen aktiviert.

Das ganze läuft bei mir unter Linux mit dem parallelportkabel und
webpack 8.1 inkl aktuellem Servicepack.

Ich frag mich nur warum es im Webpack keinen Button für upload bitfile
gibt.
Im (nicht kostenlos erhältlichem) EDK für den Microblaze (Uni) gibt es
so einen Button :(

Bye, Simon

Autor: T.M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Simon:
Cool, Impact war das einzige Tool, was ich noch nicht unter Linux
skriptgesteuert eingebunden habe. Ich werd das mal mit deinen
batch-Files probieren. Mich nervt die blöde GUI auch, deshalb ist der
ganze Rest auch schon per Makefiles und Skripten automatisiert...

Autor: Ssss Ssssss (sssssss)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was machst du per Skript ?
Das kompilieren vhdl -> bit ?
Poste doch mal deine Scripte (oder sollen wir einen neuen Thread
starten ?)

Bis jetzt schreibe ich meinen Code im Webpack, das ist aber echt
ätzend...
Vorallem das viele Standard Tastenkürzel was anderes tun :-X

Aber wenn man das vhdl->bit per skript machen kann könnte ich ja alles
direkt in
kate oder von mir auch aus emacs machen :D

Bye, Simon

Autor: T.M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, die komplette Synthese & Implementation läuft skriptbasiert. Auch
die Simulation, da gibt es aber 2 Versionen, für GHDL und den
ISE-Simulator.
Ich lege eine Verzeichnisstruktur per Skript an, und dann läuft alles
per Makefiles ab. Im Moment müssen die Skripte noch an manchen Stellen
per Hand auf jedes neue Design angepasst werden, geplant ist da eine
automatische Generierung anhand eines zentralen Files.

Wenn du Interesse daran hast, ich habe für meinen FPGA & VHDL Kram nen
Wiki eingerichtet unter
http://editthis.info/freefpga
Da bin ich momentan dabei das ganze mal zu dokumentieren.

Autor: Ssss Ssssss (sssssss)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hört sich sehr interessant an :D

Die eigentlichen Skripte zur Synthese hast du aber noch nicht auf
deiner Seite, oder ?
Die würden mich sehr interessieren :)

Bye, Simon

Autor: T.M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin dabei... Kommen die nächsten Tage. Ist immer so knapp mit der
Zeit ;-)

Autor: T.M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na, jetzt hast du mich dazu gebracht, die Anleitung heute noch fertig zu
machen. Schau einfach mal so in 2h mal auf die Seite rein, da dürfte es
komplett sein :-)

Autor: Ssss Ssssss (sssssss)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
:D :D :D reload

Kannst ja noch meinen impact kram dazupacken, ich hab dazu letztens
nirgends was brauchbares im Netz gefunden
und mir das per Hand zusammengebastelt :)

Bye, Simon

Autor: T.M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, is fertig. Habs auch grad mal getestet, funktioniert auch. Das mit
den Umgebungseinstellungen für die ISE ist der geänderte Inhalt der
cshrc-Datei, die bei der Installation des Webpacks im Xilinxfolder
erstellt wird. Müsste unter Umständen je nach Installationsverzeichnis
angepasst werden.
Deine Sachen mit dem Impact stell ich rein, wenn ich sie hier bei mir
nachvollzogen habe, ich hab das Tool noch gar nicht getestet...

Autor: Ssss Ssssss (sssssss)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sieht gut aus, werde ich morgen mal testen :) Danke!

anstelle von
export PLATFORM=lin
...

könntest du doch auch einfach
. ~/Xilinx/setings.sh
machen, oder hast du da noch was verändert ?

Gruss,
Simon

Autor: T.M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, die von Xilinx gelieferte funze bei mir nicht, war wohl für die
C-Shell. Hab die ganzen If Abfragen rausgelöscht und alles statisch
gelassen. Aber wie gesagt, is sowieso nicht perfekt das Ganze, es funzt
aber ohne Probleme

Autor: Ssss Ssssss (sssssss)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ah ok. bei mir per bash geht das settings.sh

ab jetzt gehts wegen dem designflow hier:
http://www.mikrocontroller.net/forum/read-9-379795.html#new

weiter :)

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.