Ich hab da ein Problem. Folgende Konfiguration: Virtex-4 Board ML403, an den freien Pins eine eigene Logik angeschlossen. Um die anzusprechen habe ich mir ein FSL-basierten IP-Core gebaut, ganz simpel, FSL-Master und Slave. Nun habe ich zu meiner externen Hardware aber nur einen bidirektionalen Bus, ich muss also die FSL_M_DATA und FSL_S_DATA zusammenführen und die Richtung umschalten. Dazu hab ich ein OE-Steuersignal, was die externe Logik ausgibt. Ich bekomme es aber nicht hin, dass die Daten, die ich vom PPC aus an die externe Hardware schicke, auch ankommen. Die Steuersignale kommen richtig, also FSL_EXIST geht auf High, wenn ich was reinschreibe. Meine externe Logik holt darufhin das Wort aus dem FIFO, dann geht EXIST wieder auf Low. Allerdings kommen nur Nullen auf dem Datenbus. Als Verbindung nach draußen hab ich DATA_O, DATA_I und DATA_T, weil das EDK zuerst meckerte, als ich den Bus direkt als IO deklariert hatte. EDK hat dann auch erkannt, dass es bidirektional ist, und bietet mir zusätzlich DATA als IO an. Die Steuersignale und DATA (IO) hab ich als Make External rausgeführt und die entstandenen Signale per UCF File auf die FPGA Pins gelegt. Was muss ich denn mit den _O _I und _T machen? Im VHDL-File, was am FSL Bus hängt bediene ich die korrekt, aber wie muss ich die im System "verdrahten" Momentan stehen die auf "No Conection", was sicherlich nicht korrekt ist. Kann mir da jemand helfen? Der FSL an sich funktioniert ja, Steuersignale klappen, der ganze Ablauf stimmt, bloß der bidirektionelle Bus will noch nicht. Danke im Voraus.
Mhh, so ganz habe ich die Problematik wahrscheinlich nicht verstanden. Wenn ich dich richtig verstanden habe hast du im Design zwei Busse die du miteinander verknüpfen möchtest? Ich mache einen BiDi Bus im Design als einen einzigen Signalzug, als inout. Wenn man was lesen will wird der auf 'Z' gesetzt.
Ja, das wollte ich ja ursprünglich. Hat das EDK aber nicht zugelassen, weil es, wie ich inzwischen herausgefunden habe, meinen Core als component in das große Top-Level VHDL eingebunden hat, und alle Anschlüsse erst mal auf Signale legt. Und da gibts keine bidirektionalen. Ich hab auch in dem VHDL jetzt gefunden, dass der schon die IO-Buffer Instanziiert hat, das sollte also klappen. Wahrscheinlich haben wir die Takte noch nicht richtig vergeben, ist halt alles etwas verwirrend im EDK. Mal schauen, kann ja eigentlich nicht so schwer sein.
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.