Xilinx AXI Custom IP Core

Gast #3747986
Hallo,

ich habe mal ein paar grundsätzliche Fragen zum AXI IP-Core von Xilinx.
Ich besitze seit einigen Wochen ein Zybo Board und wollte mir jetzt mal 
einen einfachen IP-Core bauen, welcher ein paar Werte bekommt, die Bits 
ein bisschen verändert und das Ergebnis dann auf den LEDs ausgibt.
Ich habe jetzt in meinem AXI Interface folgenden Custom Code eingefügt:
1
process( S_AXI_ACLK ) is
2
begin
3
    if (rising_edge (S_AXI_ACLK)) then
4
        if((slv_reg_wren = '1') and (axi_awaddr = "0000")) then
5
             Signal_Out <= S_AXI_WDATA(3 downto 0);
6
        elsif((slv_reg_wren = '1') and (axi_awaddr = "0001")) then
7
             Signal_Out <= "0101";
8
        end if;
9
    end if;
10
end process;

Die erste If-Abfrage funktioniert auch wunderbar...die zweite nicht. 
Jetzt verstehe ich noch nicht so ganz warum...
Ich habe ja einen AXI-Lite Core mit 4 Registern und einer Adressweite 
von C10000 - C1FFFF.
Wieso klappt es jetzt nicht wenn ich sage, dass die Adresse eins höher 
sein soll?
Ich greife über die normale Write-Funktion der Headerdatei vom SDK aus 
auf den Core zu:

LED_mWrite(Adresse, 0, 1)

Die erste Zahl ist die Adresse des Cores, die zweite der Adressoffset 
und die dritte die Daten.
Wenn ich den Adressoffset jetzt auf 1 setze sollte doch die Bedingung 
der zweiten If-Abfrage erfüllt sein oder sehe ich das falsch?

Und wofür sind dann die 4 Register in dem Core und wie kann ich die 
ansprechen? Oder werden die nur als "Zwischenspeicher" verwendet bis das 
Writesignal vom System kommt und die Logik die Daten ins Datenregister 
schreibt?
Hoffe hier kann mir einer bei den Fragen helfen :)
Arbeite leider noch nicht so lange mit FPGAs und habe dem entsprechend 
wenig / keine Erfahrung dazu.

Gruß
Daniel

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.