Beispiel für das Demo-AXI-Speicherdesign

Empfohlen für:

  • Gerät: Nicht bekannt

  • Quartus®: v13.0

author-image

Von

Dieses Designbeispiel zeigt eine OBJECT* AXI*-3 Slave-Schnittstelle auf einer einfachen verilog-benutzerdefinierten Speicherkomponente für Qsys-Systeme. Sie können dieses Beispiel als Grundlage für Ihre eigenen benutzerdefinierten AXI-Slave-Schnittstellen verwenden. Die Komponente umfasst auch eine optionale Avalon® Streaming-Schnittstelle (Avalon-ST) und Avalon® Memory-Mapped-Schnittstelle (Avalon-MM), die aufweist, wie mehrere Schnittstellenstandards in einer Komponente verwendet werden können.

Das Quartus® II Handbuch verwendet dieses Beispiel, um den Prozess der Verpackung einer IP-Komponente (Intellectual Property) mit dem Komponenten-Editor und benutzerdefinierten Hardware-Tcl-Befehlen zu illustrieren. Sie können die HDL-Dateien in diesem Beispiel verwenden, um zu erfahren, wie Sie den Komponenten-Editor verwenden, um Ihre eigene einfache Hardware-TCL-Datei (_hw.tcl) zu erstellen, wie im Kapitel Creating Qsys Components (PDF) beschrieben. Sie können sich auch auf die enthaltene _hw.tcl-Datei beziehen, um die erweiterten Verwendungen von Hardware-Tcl-Befehlen zu sehen, einschließlich abgeleiteter Parameter, einen Validierungs-Callback und einen Ausarbeitungs-Callback zur Anpassung der Parameterisierungs-Benutzeroberfläche in Qsys und vorhandenen Schnittstellen als optional. Einzelheiten zu Hardware-Tcl-Befehlen finden Sie im Abschnitt Component Interface Tcl Reference (PDF).

Weitere Informationen zur Verwendung von Qsys zum Erstellen eines Systems, das benutzerdefinierte Komponenten enthält, finden Sie im Kapitel Creating a System with Qsys (PDF) im Quartus II Handbuch.

Anhand dieses Designbeispiels

Laden Sie die Datei demo_axi3_memory.zip herunter und extrahieren Sie den Inhalt. Dieses Designbeispiel erfordert die Altera® Complete Design Suite (ACDS) v13.0 oder neuer.

Die ZIP-Datei enthält die folgenden IP-Komponentendateien im Unterverzeichnis /ip:

  • Die Design-Dateien demo_axi_memory.sv und single_clock_ram.sv

  • Die benutzerdefinierte Hardware-Tcl-Datei demo_axi_memory_hw.tcl zum Paket der Komponente für Qsys
  • Eine SystemVerilog-Paketdatei, die zur Erzeugung von Nachrichten in der Simulationsausgabe verwendet wird, /verification_lib/verbosity_pkg.sv (die auch im Installationsverzeichnis der Quartus II Software als /ip/altera/sopc_builder_ip/verification/lib/verbosity_pkg.sv) zu finden ist.

Um diese Komponente in Ihrem eigenen Qsys-System zu verwenden, kopieren Sie das Unterverzeichnis /ip aus der extrahierten ZIP-Datei in Ihr Projektverzeichnis Quartus II. Wenn Sie ein Qsys-System im Projekt erstellen oder öffnen, erkennt Qsys die IP-Komponente im Unterverzeichnis /ip und fügt die Komponente der Liste im Abschnitt "Projekt" der Bibliothekunter der Kategorie Speicher- und Speichercontroller/On-Chiphinzu.

Die ZIP-Datei enthält auch die folgenden Dateien zur Simulation der standalone-Komponente im Unterverzeichnis /ip/simulation:

  • Eine Testbench-Datei tb_mem.sv
  • Ein Skript run_sim.tcl zur Durchführung einer Simulation in Mentor Graphics® ModelSim* mit mem.do Datei, um Wellenformen anzuzeigen, die den Komponentenbetrieb anzeigen.

Um eine Simulation in ModelSim auszuführen, setzen Sie Ihr Arbeitsverzeichnis auf das Unterverzeichnis /ip/simulation aus der extrahierten ZIP-Datei. Geben Sie source run_sim.tcl ein.

Darüber hinaus enthält die ZIP-Datei die folgenden Quartus II Softwaredateien:

  • Ein einfacher Test des Qsys-Systems test.qsys zur Veranschaulichung der Instanziierung der Komponente in einem Qsys-System
  • Eine Dummy Quartus II Software-Projektdatei, mit der Sie optional das Test-Qsys-System generieren und kompilieren können: test.qpf, test.qsf, test.sdc

Um die als Teil des Test-Qsys-Systems instanziierte Komponente anzuzeigen, öffnen Sie die Projektdatei test.qpf in der Quartus II Software und öffnen Sie die Datei test.qsys in Qsys. Doppelklicken Sie auf die Komponente in der Spalte Name oder Beschreibung im Register Systeminhalt (oder klicken Sie mit der rechten Maustaste auf die Komponente und wählen Sie Bearbeiten),um den Parametereditor anzuzeigen.

Die Verwendung dieses Designs unterliegt den Bedingungen der Intel® Design Example Lizenzvereinbarung.

Designdetails

Die Beispiel-Qsys-Komponente umfasst die folgenden Schnittstellen:

AXI-3 Slave-Schnittstelle

Die AXI-Slave-Schnittstelle ist eine speicherzuordnungsgesteuerte Schnittstelle zu einem On-Chip-Speicherblock. Diese Schnittstelle soll über eine AXI- oder Avalon-MM-Master-Schnittstelle gesteuert werden, die in den Speicherblock schreiben und aus dem Speicherblock lesen kann. Parameter geben die AXI-ID-Signalbreiten, die Slave-Adressbreite und die Datenbreite an.

Avalon-ST-Schnittstelle

Wenn Sie diese Komponente in Qsys instanziieren, können Sie die optionale Avalon-ST-Quellcode-Schnittstelle aktivieren oder deaktivieren. Diese Schnittstelle wurde von Telefonie-Anwendungen inspiriert, in denen Töne (, busy, Dial Tone, Ringback usw.) alle als sich wiederholende Byte-Streams gespeichert werden, die bei Bedarf an einen bestimmten Port gewechselt werden können. Der Avalon-ST-Port bietet einen solchen Stream, der durch eine Startadresse, eine Stopp-Adresse und die zwischen diesen beiden Adressen gespeicherten Daten festgelegt wird. Die Worte werden in der Reihenfolge von der Startadresse bis zur Stopp-Adresse ausgegeben; Jedes Wort gibt MSB zuerst aus. In dieser Demo-Version wird angenommen, dass die Stopp-Adresse größer als die Startadresse ist.

Betrachten Sie beispielsweise den folgenden Speicherinhalt:
Startadresse: 0xbeef_0742
0xdace_32f7
Stopp-Adresse: 0xb0de_13ef
Der resultierende Bytestream wäre: be-ef-07-42-da-ce-32-f7-b0-de-13-ef-be-ef-07 ...

CSR-Schnittstelle Avalon-MM

Die Avalon-MM-Schnittstelle ist eine einfache CSR-Schnittstelle (Control and Status Register), um den oben beschriebenen Streaming-Port zu steuern. Diese Schnittstelle ist nur erforderlich, wenn die Avalon-ST-Schnittstelle aktiviert ist und deaktiviert ist, wenn die Avalon-ST-Schnittstelle deaktiviert ist. Die Parameter geben die Breite Avalon® Slave-Adresse und die Datenbreite an.

Die Steuerungsregister liegen in einem vom Adressbereich des Speichers getrennten Adressbereich, und deren Basisadresse kann praktisch überall im Systemspeicherplan zugewiesen werden. Die folgende Tabelle listet den Zweck für jedes Steuerungsregister auf:

Qsys Parameter-Editor

Der nächste Screenshot zeigt die Parametereditor-Benutzeroberfläche für die Demo AXI Speicherkomponente in Qsys.

Der Inhalt dieser Seite ist eine Kombination aus menschlicher und computerbasierter Übersetzung des originalen, englischsprachigen Inhalts. Dieser Inhalt wird zum besseren Verständnis und nur zur allgemeinen Information bereitgestellt und sollte nicht als vollständig oder fehlerfrei betrachtet werden. Sollte eine Diskrepanz zwischen der englischsprachigen Version dieser Seite und der Übersetzung auftreten, gilt die englische Version. Englische Version dieser Seite anzeigen.