Hallo, ich habe ein ML507 Board und benutze ISE 11.3. Bei der Implementierung eines 32-Bit PLB Slaves habe ich das Problem, dass der IpCore an die falschen Bytes des PLB Datenbusses angeschlossen ist (sowohl read als auch write). Der angehängte ChipScope Screenshot zeigt das Problem. Der PowerPC soll ein 0xCCCCCCCC an den IpCore schicken. Der IpCore ließt allerdings 0x000001FC von dem PLB Datenbus. Er ließt so zusagen am "falschem Ende" des Datenbusses. Ich habe schon probiert über die MPD-Datei des IpCores die Vektoren des PLB Datenbusses so zu verstellen, dass der IpCore richtig angeschlossen wird. Ich habe also "PORT PLB_wrDBus = PLB_wrDBus, DIR = I, VEC = [0:(C_SPLB_DWIDTH-1)], BUS = SPLB" in "PORT PLB_wrDBus = PLB_wrDBus, DIR = I, VEC = [96:127], BUS = SPLB" verändert. Auch ein "VEC = [127:96]" führt zu einem flaschem Ergebnis. Das EDK zeigt mir auch stets "[0:(C_SPLB_DWIDTH-1)]" in der Rangespalte der Datenbusse an. Beim synthetisieren bekomme ich allerdings einen Fehler, wenn ich unsinnge Werte einstelle (es scheint also nicht ignoriert zu werden). Es ist auch seltsam, dass der Chipscope IBA-Core einen 128-Bit breiten Datenbus anzeigt, obwohl in der MPD des "plb_v46_0" Cores 64 Bit als Datenbusbreite eingetragen sind. Vielleicht liegt es daran, dass in der MPD des PowerPC's 128 Bit als PLB Datenbusbreite eingetragen ist. So wie ich es verstande habe ist das die Verbindung vom PPC zur Crossbar. Von der Crossbar zu den IpCores sollte ja dann der "plb_v46_0" Core zuständig sein und damit auch einen 64-Bit breiten Datenbus verwenden. Da Der Chipscope IBA ja an diesem Core angeschlossen ist, sollte es mir ja auch 64 Bit anzeigen. Der IpCore kommt nur an die "richtigen" Bytes ran, wenn ich ihn auf 128-Bit Datenbusbreite einstelle. Das ist allerdings eine nicht so tolle Lösung, weil sie unnötig FPGA Ressourcen kostet. Ich habe mal noch den IpCore an den Forumthread angehangen. Vielleicht ist auch dort der Fehler drin. Ich wäre sehr dankbar wenn mir einer bei dem Problem helfen könnte. Gruß Sascha
So, ich habe das Problem jetzt selber gelöst bekommen. Ich habe eine "plbv46_plb46_bridge" eingefügt. Jetzt habe ich im Chipscope und am IpCore einen 32 Bit Datenbus. Leider ist gleich das nächste Problem aufgetreten. Mal schauen ob dann gleich nen neuer Forumthread kommt :)
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.