Forum: FPGA, VHDL & Co. Probleme mit MicroBlase in ISE/XPS


von Jan S. (spongebob)


Lesenswert?

Moin!
Ich habe folgendes getan:
Ich habe in ISE ein neues Projekt erstellt und dann "New Source" -> 
"Embedded Processor" Dann klick ich mich durch die Prozedur. Ich 
erstelle einen Microblase und als Peripherie nur UART, Switches und 
LEDs, ach ja, alles für mein Nexys 3 Board. Wenn das fertig ist, drücke 
ich auf Generate Netlist. Wozu das gut ist bin ich mir auch noch nich so 
100% sicher. Jedenfalls kommen folgende Warnungen von dieser Art:

WARNING:EDK:2099 - PORT:bscan_sel1 CONNECTOR:bscan_sel1 -
   C:\Xilinx\12.4\ISE_DS\EDK\hw\XilinxProcessorIPLib\pcores\mdm_v2_00_a\dat 
a\mdm
   _v2_1_0.mpd line 228 - floating connection!

Wenn ich in ISE auf Implement -> Translate drücke, kommen folgende 
Warnungen:

WARNING:NgdBuild:931 - The value of SIM_DEVICE on instance
   'clock_generator_0/clock_generator_0/PLL0_INST/Using_PLL_ADV.PLL_ADV_ins 
t'  of
   type PLL_ADV has been changed from 'VIRTEX5' to 'SPARTAN6' to correct
   post-ngdbuild and timing simulation for this primitive.  In order for
   functional simulation to be correct, the value of SIM_DEVICE should 
be
   changed in this same manner in the source netlist or constraint file.

oder

WARNING:NgdBuild:478 - clock net debug_module/bscan_drck1 with clock 
driver
   debug_module/debug_module/BUFG_DRCK1 drives no clock pins

und noch 1000 andere

Dann kann ich noch sagen das ich mit dem PDF-Dokument "A Hands-On Guide 
to Effective Embedded System Design" arbeite und da stand irgendwo was 
von einem HDL-Wrapper file. Hab nirgendwo gefunden wo der Generiert 
werden kann. Weiß nich obs daran liegen kann.

Hat jemand ne Idee? Also mehr als das oben genannte und den .ucf file 
zum Projekt hinzufügen habe ich nicht gemacht. So viel kann man doch 
nich falsch machen, oder? Oder hab ich was vergessen? Hoffe hier kennt 
sich jemand aus.

Grüße Jan

von Georg A. (Gast)


Lesenswert?

Eieiei, die Generation ist heute schon aber sowas von verweichlicht, 
wenn sie sich bereits durch Warnings durcheinanderbringen lässt... 
Früher (kurz nach'm Krieg) gabs keine Warnings, kaum sinnvolle 
Fehlermeldungen und es hat trotzdem funktioniert...

;)

Ich kann dazu folgendes sagen:

- Die Warnings sind erstmal harmlos. Wenn man wirklich ein eigenes 
Design macht, sollte man sie überfliegen, weil sie evtl. auf 
Nachlässigkeiten hindeuten.

- Du klickst irgendwie recht planlos rum. Hast du überhaupt schonmal ein 
eigenes FPGA-Design (und wenns nur ein LED-Blinker ist) gemacht? Klingt 
irgendwie nicht so. Solltest du aber dringend. Das EDK/XPS versteckt 
eine Menge Komplexität hinter ein paar Klicks, aber wenn mal was schief 
läuft (und das tut es, ganz sicher), brauchst du das Wissen, wie ein 
FPGA-Design überhaupt vom Workflow und den Interna abläuft. Das bekommst 
du nur, wenn du zB. ein LED-HelloWorld SELBST machst. XPS bzw. der 
Microblaze ist der völlig falsche Ort, um diese Erfahrungen zu sammeln.

- Ja ich weiss, die beiden obigen Punkte helfen dir im konkreten Problem 
vermutlich nicht weiter, aber da kann dir IMO ohnehin keiner helfen...

von Jan S. (spongebob)


Lesenswert?

Also mit FPGAs hab ich schon einiges gemacht, aber bis jetzt halt nur ne 
.VHD datei selber schreiben. Irgendwelche Automaten und so 
Programmieren, aber das is mein 1. Microblase Projekt. Weil ich mich 
damit in meiner Bachelorarbeit auseinander setzen muss, versuch ich 
schon mal die 1. "Gehversuche". Hast recht, das hat mir nicht 
weitergeholfen, aber ich weiß auch nicht, wie ich mich besser ausdrücken 
soll, damit mir jemand helfen kann. Hat vielleicht noch jemand 
irgendwelche PDFs zum durcharbeiten oder irgendwelche Hilfestellung?
Achja, trotzdem danke für die Antwort ;-)

Jan

von Georg A. (Gast)


Lesenswert?

Naja, ich frag halt nur, weil du sagst, dass du nicht weisst, wofür 
"Generate Netlist" gut sein soll...

Ansonsten lass das Zeug, so wie es ist, routen, binde eine Anwendung 
dazu (Memory Test App oder sowas) und lad es einfach mal drauf. 
Normalerweise sollte das gehen, und du hast schon mal ein 
Erfolgserlebnis. Solange du nur auf der SW-Seite bastelst, bleibt es 
auch halbwegs einfach.

Aber um eigenen Code als Peripherie einzubinden und dann auch zum Laufen 
zu bekommen, braucht es schon einiges an Erfahrung (=frühere langwierige 
Arbeit knapp an der Frustrationsschwelle...). Xilinx hat zwar 
Gerüstteile zum Anschluss an den PLB, aber IMO ist das alles ziemlich 
undurchsichtig, wenn man damit anfangen will. Am ehesten hilft es noch, 
in der IP-Core-Bibliothek sich durch den (grottigen) Code von simpler 
Peripherie (zB. GPIOs) zu wühlen bzw. sich mal die Art anzuschauen, was 
XPS so insgesamt an Filestruktur erzeugt bzw. bei den IP-Cores einliest.

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.