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
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.
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
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?
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.
das BLB Bus Dokument find ich nicht wirklich hilfreich
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.