Forum: FPGA, VHDL & Co. einbinden und ansprechen eines IP cores für MB


von matzunami (Gast)


Lesenswert?

Hallo,

kennt jemand ein gutes Tutorial wie man eigene IP Cores in den 
Microblaze einbindet und diese dann anspricht?
Einen eigenen IP Core habe ich mir bereits erstellt (ohne irgendwelche 
besonderheiten wie Register, Interrupts usw. und mit dem PLB Bus 
verbunden). In dem entprechenden VHDL File werden mir ja nun bestimmte 
Signale vorgegeben wie:
  Bus2IP_Clk
  Bus2IP_Reset
  std_logic;Bus2IP_Addr
  Bus2IP_CS
  Bus2IP_RNW
  Bus2IP_Data
  Bus2IP_BE
  IP2Bus_Data
  IP2Bus_RdAck
  IP2Bus_WrAck
  IP2Bus_Error

Ich habe in diversen Beispielprogrammen gesehen, dass diese Signale nun 
mit der VHDL User Logik verbunden wird. Woher weiß ich was wohin muss 
(ich weiß kommt drauf an was ich machen möchte) und wie kann ich dann 
die Signale in meinem c-Programm beeinflusse???

Ich würde gerne über einen eigenen IP Core zB. eine LED ein/aus 
schalten, damit ich die funktionsweise besser verstehe.

wurde mich über Hilfe freuen.

MfG
matzunami

von matzunami (Gast)


Lesenswert?

also eventuell noch zur Ergänzung:
Mein erstellter IP Core besitzt zwei Ein- und zwei Ausgänge. Diese habe 
ich schon (nach einem Tutorial) in die beiden vhdl Files eingefügt.
Der nächste Schritt wäre diese Sinnvoll (ich nehme an mit den oben 
genannten Signalen) zu verbinden und diese dann in meiner Software 
anzusprechen (wie einlesen der Eingänge und setzen der Ausgänge).

Eine BASE_ADDRESS besitzt mein IP core, mit der ich diesen dann wohl 
anspreche.
*USER_IP_BASE_ADDRESS = ???

Wie gesagt würde mich über Hilfe freuen.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Ich würde, wenns geht einfach den FSL BUS nutzen der ist sehr viel 
simpler zu verwenden, da gibt es von Xilinx auch nen Tutorial für. 
Angesprochen wird der dann einfach über fsl_put und fsl_get

von matzunami (Gast)


Lesenswert?

Danke schon mal. Aber da ich später den PLB Bus verwenden muss, würd ich 
gerne mehr darüber wissen. Gibts da auch ein Toturial?

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Naja du könntest dir die Beschreibung des PLB Bus runterladen, ob es 
explizit ein Tutorial gibt weiß ich jezt leider nicht.
Der Zugriff geschieht dann einfach über die Baseaddress.

von matzunami (Gast)


Lesenswert?

das BLB Bus Dokument find ich nicht wirklich hilfreich

von Christian R. (supachris)


Lesenswert?

matzunami schrieb:
> das BLB Bus Dokument find ich nicht wirklich hilfreich

Naja, da musst du durch. PLB ist ein recht komplexer Bus, da kann man 
nicht einfach mal aus dem MB heraus an irgendwelchen Pins wackeln. Du 
musst schon einen kompletten PLB Slave implementieren, was meiner 
Meinung nach, gerade für einen Anfänger wie dich, ein ziemlicher Brocken 
ist. Ich habe einige Zeit an einem LocalLink Core gesessen, und der ist 
noch recht einfach.

von matzunami (Gast)


Lesenswert?

hm... gut zu wissen :)

von Seelenbohrer (Gast)


Lesenswert?

PLB-Slave ist sehr simple. Im EDK unter dem Reiter Hardware den Wizard 
aufrufen,...konfigurieren und fertig. Mit den Beispiel im 
user_logic-File geht es jetzt sehr leicht weiter.

Aber bedenke!!!!:
Laut Doku benötigt ein rx/rw Zuriff auf den PLB-Bus 5 Clk Zyklen, Mit 
chipscope gemessen dauert es real aber 12 clk Zyklen!!

Echt langsam :-(

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.