Nach intensivem Wühlen durch Tutorials, Docs und eigenen Ausprobieren habe ich noch immer ein grundlegendes Verständnisproblem: Wie kommen meine im FPGA-Fabric beschriebenen Register zum Auslesen in Processing-System? Aufgabenstellung : Zwei 16bit breite Counter meiner "IP" ins PS einlesen und dort per Software weiterverarbeiten (z.B. die Werte auf einem Monitor anzeigen oder per UART ausgeben). Es geht los beim IP-Packager von Vivado - baue ich eine neue IP, wird ein AXI-Slave mit mindest. 4 bidirektionalen Slave-Registern und 32bit Mindestbreite generiert, in den ich meine User-Logic einfügen kann/soll. Auslesen der Slave-Register oder Ansteuern irgendwelcher Output-Pins damit ist kein Problem. Will ich die slv_regs aber beschreiben und weise Ihnen Werte zu, beschimpft mich XST - zu Recht: "multiple drivers" - die slv_regs sind bereits mit dem AXI-Bus zum Schreiben (andere Richtung) verbunden. Es fehlt ein Bus, der die Schreib- und Lesezugriffe auf die slv_regs koordiniert. Solch ein Bus wird vom AXI-IPIF Core bereitgestellt - nur kann ich diesen Core nicht per IP-Liste auswählen und in mein Projekt-Diagramm einfügen. Füge ich stattdessen den AXI-GPIO Core ein, verwendet dieser den IPIF Core - anscheinend aber ohne Möglichkeit dort User-Logic einzuhängen. An den GPIO Core könnte ich statt eines "Input-Pins" die zu lesenden Register meiner FPGA-Schaltung hängen - nur wenn ich meine IP verpacken will, bekomme ich wieder den Code für einen AXI-Lite Slave drumrum gebaut - die Katze beisst sich gedanklich in den eigenen Schwanz. Was übersehe ich hier - den Wald oder die Bäume? Muss ich meinen eigenen AXI-Lite Slave schreiben? Oder brauche ganz andere AXI Cores? Ich wäre dankbar für ein Beispiel, mit dem das Einlesen von Registern ins PS gezeigt wird, leider habe ich das in all den Xilinx-, Digilent- und sonstigen Tutorials bisher nicht gefunden. Gruß, Burkhard
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.