:quality(80)/images.vogel.de/vogelonline/bdb/1786000/1786008/original.jpg)
Firmen zum Thema
Anschluss der Registerkomponente an die User-Logik
Als letzter Schritt bleibt nun der Anschluss der Registerkomponente an die User-Logik. Dazu stellt die Registerkomponente folgende User-Ports zur Verfügung: Für jedes Register gibt es ein Strobe-Port, welches die User-Logik über Schreibzugriffe (für read-write oder write-only Register) oder Lesezugriffe (für read-only Register) informiert. Für jedes Registerfeld gibt es einen Port, welcher den Zustand des Registerfeldes reflektiert. Bei read-write oder write-only Register ist das ein Ausgangsport, bei read-only Register ein Eingangsport.
In unserem Beispielprojekt stehen daher folgende User-Ports zur Verfügung:
Name | Breite (Bits) | Richtung | Beschreibung |
---|---|---|---|
control_strobe | 1 | out | Write-Strobe des „control“ Registers. Wird bei jedem Schreibzugriff auf das „control“ Register gepulst. |
control_led | 4 | out | Aktueller Wert des „led“ Feldes im „control“ Register. |
status_strobe | 1 | out | Read-Strobe des „status“ Registers. Wird bei jedem Lesezugriff auf das „status“ Register gepulst. |
status_button | 2 | in | Aktueller Wert des „button“ Feldes im „status“ Register. |
Die User-Ports können mit interner User-Logik, oder einfach mit externen Ports verbunden werden.
Das Zynq-System kann anschließend kompiliert werden. Mithilfe des generieten C-Headers stehen der Zynq-Software alle Registerdefinitionen zur Verfügung, so daß die Software-Integration leicht erfolgen kann.
Damit auch die Dokumentation immer auf dem aktuellen Stand bleibt kann airhdl ebenfalls eine Registertabelle im HTML-Format generieren. Es gibt wirklich keinen Grund mehr, AXI4 Registerbänke von Hand zu programmieren.
Airhdl ist ein kostenloser, web-basierter Codegenerator für AXI4 Registerbänke. Die Webseite ist seit Ende 2014 in Betrieb und hat aktuell über 300 registrierte Benutzer.
* Guy Eschemann (@geschema auf Twitter), Entwickler von airhdl, ist FPGA-Entwickler und Geschäftsführer der noasic GmbH mit Sitz in Kehl. Sein Schwerpunkt liegt im Bereich VHDL-Entwicklung und -Verifikation, und in der Entwicklung von kundenspezifischen EDA-Werkzeugen. Er ist seit 2015 Repräsentant der Firma Enclustra in Deutschland und Frankreich.
(ID:45017592)