Fronthaul-Komprimierungs-FPGA-IP
Benutzerhandbuch
Fronthaul-Komprimierungs-FPGA-IP
Fronthaul-Komprimierung Intel® FPGA IP-Benutzerhandbuch
Aktualisiert für Intel® Quartus® Prime
Design-Suite: 21.4 IP
Version: 1.0.1
Über die Fronthaul-Komprimierung Intel® FPGA IP
Das Fronthaul-Komprimierungs-IP besteht aus Komprimierung und Dekomprimierung für U-Plane-IQ-Daten. Die Komprimierungs-Engine berechnet eine µ-Law- oder Block-Fließkomma-Komprimierung basierend auf dem Benutzerdaten-Komprimierungs-Header (udCompHdr). Dieses IP verwendet eine Avalon-Streaming-Schnittstelle für IQ-Daten, Leitungssignale und für Metadaten und Seitenbandsignale sowie eine speicherabgebildete Avalon-Schnittstelle für Steuer- und Statusregister (CSRs).
Das IP bildet komprimierte IQs und den Benutzerdaten-Komprimierungsparameter (udCompParam) gemäß dem in der O-RAN-Spezifikation O-RAN Fronthaul Control, User and Synchronization Plane Version 3.0 April 2020 (O-RAN-WG4.CUS .0-v03.00). Die Datenbreite der Avalon-Streaming-Senke und -Quellschnittstelle beträgt 128 Bit für die Anwendungsschnittstelle und 64 Bit für die Transportschnittstelle, um ein maximales Komprimierungsverhältnis von 2:1 zu unterstützen.
Zugehörige Informationen
O-RAN webWebsite
1.1. Fronthaul-Komprimierung Intel® FPGA IP-Funktionen
- -Law- und Block-Gleitkommakomprimierung und -dekomprimierung
- IQ-Breite 8-Bit bis 16-Bit
- Statische und dynamische Konfiguration des U-Plane-IQ-Formats und des Kompressions-Headers
- Multisections-Paket (wenn O-RAN-konform aktiviert ist)
1.2. Fronthaul-Komprimierung Unterstützung der Intel® FPGA IP-Gerätefamilie
Intel bietet die folgenden Geräteunterstützungsebenen für Intel FPGA IP an:
- Erweiterter Support – das IP ist für die Simulation und Kompilierung für diese Gerätefamilie verfügbar. FPGA-Programmierung file (.pof)-Unterstützung ist für Quartus Prime Pro Stratix 10 Edition Beta-Software nicht verfügbar und daher kann IP-Timing-Closure nicht garantiert werden. Timing-Modelle umfassen anfängliche technische Schätzungen von Verzögerungen auf der Grundlage früher Informationen nach dem Layout. Die Timing-Modelle können sich ändern, da Siliziumtests die Korrelation zwischen dem tatsächlichen Silizium und den Timing-Modellen verbessern. Sie können diesen IP-Core für Systemarchitektur- und Ressourcennutzungsstudien, Simulation, Pinbelegung, Systemlatenzbewertungen, grundlegende Timing-Bewertungen (Pipeline-Budgetierung) und E/A-Übertragungsstrategie (Datenpfadbreite, Burst-Tiefe, Kompromisse bei E/A-Standards) verwenden ).
- Vorläufige Unterstützung – Intel verifiziert den IP-Core mit vorläufigen Timing-Modellen für diese Gerätefamilie. Der IP-Core erfüllt alle funktionalen Anforderungen, wird aber möglicherweise noch einer Timing-Analyse für die Gerätefamilie unterzogen. Sie können es in Produktionsdesigns mit Vorsicht verwenden.
- Abschließende Unterstützung – Intel verifiziert die IP mit endgültigen Timing-Modellen für diese Gerätefamilie. Das IP erfüllt alle funktionalen und zeitlichen Anforderungen für die Gerätefamilie. Sie können es in Produktionsdesigns verwenden.
Tabelle 1. Unterstützung der Fronthaul-Komprimierungs-IP-Gerätefamilie
Gerätefamilie | Unterstützung |
Intel® Agilex™ (E-Kachel) | Vorläufig |
Intel Agilex (F-Kachel) | Vorauszahlung |
Intel Arria® 10 | Finale |
Intel Stratix® 10 (nur H- und E-Kachel-Geräte) | Finale |
Andere Gerätefamilien | Keine Unterstützung |
Tabelle 2. Vom Gerät unterstützte Geschwindigkeitsstufen
Gerätefamilie | FPGA-Fabric-Geschwindigkeitsgrad |
Intel Agilex | 3 |
Intel Arria 10 | 2 |
Intel Stratix 10 | 2 |
1.3. Versionsinformationen für die Intel FPGA-IP mit Fronthaul-Komprimierung
Die IP-Versionen von Intel FPGA stimmen mit den Softwareversionen der Intel Quartus® Prime Design Suite bis v19.1 überein. Ab der Softwareversion 19.2 der Intel Quartus Prime Design Suite verfügt Intel FPGA IP über ein neues Versionierungsschema.
Die Nummer der Intel FPGA IP-Version (XYZ) kann sich mit jeder Intel Quartus Prime-Softwareversion ändern. Eine Änderung in:
- X zeigt eine größere Überarbeitung des IP an. Wenn Sie die Intel Quartus Prime-Software aktualisieren, müssen Sie die IP neu generieren.
- Y gibt an, dass die IP neue Funktionen enthält. Regenerieren Sie Ihre IP, um diese neuen Funktionen einzubeziehen.
- Z gibt an, dass die IP geringfügige Änderungen enthält. Generieren Sie Ihre IP-Adresse neu, um diese Änderungen einzubeziehen.
Tabelle 3. IP-Versionsinformationen für Fronthaul-Komprimierung
Artikel | Beschreibung |
Version | 1.0.1 |
Veröffentlichungsdatum | Februar 2022 |
Bestellcode | IP-FH-COMP |
1.4. Fronthaul-Komprimierungsleistung und Ressourcennutzung
Die Ressourcen der IP, die auf ein Intel Agilex-Gerät, ein Intel Arria 10-Gerät und ein Intel Stratix 10-Gerät abzielen
Tabelle 4. Fronthaul-Komprimierungsleistung und Ressourcennutzung
Alle Einträge sind für Komprimierungs- und Dekomprimierungsdaten in Richtung IP
Gerät | IP | Almosen | Logische Register | M20K | |
Primär | Sekundär | ||||
Intel Agilex | Block-Gleitkomma | 14,969 | 25,689 | 6,093 | 0 |
µ-Gesetz | 22,704 | 39,078 | 7,896 | 0 | |
Blockgleitkomma und µ-Gesetz | 23,739 | 41,447 | 8,722 | 0 | |
Block-Fließkomma, µ-Law und erweiterte IQ-Breite | 23,928 | 41,438 | 8,633 | 0 | |
Intel Arria 10 | Block-Gleitkomma | 12,403 | 16,156 | 5,228 | 0 |
µ-Gesetz | 18,606 | 23,617 | 5,886 | 0 | |
Blockgleitkomma und µ-Gesetz | 19,538 | 24,650 | 6,140 | 0 | |
Block-Fließkomma, µ-Law und erweiterte IQ-Breite | 19,675 | 24,668 | 6,141 | 0 | |
Intel Stratix 10 | Block-Gleitkomma | 16,852 | 30,548 | 7,265 | 0 |
µ-Gesetz | 24,528 | 44,325 | 8,080 | 0 | |
Blockgleitkomma und µ-Gesetz | 25,690 | 47,357 | 8,858 | 0 | |
Block-Fließkomma, µ-Law und erweiterte IQ-Breite | 25,897 | 47,289 | 8,559 | 0 |
Erste Schritte mit der Fronthaul-Komprimierung Intel FPGA IP
Beschreibt die Installation, Parametrierung, Simulation und Initialisierung der Fronthaul Compression IP.
2.1. Beziehen, Installieren und Lizenzieren der Fronthaul-Komprimierungs-IP
Die Fronthaul-Komprimierungs-IP ist eine erweiterte Intel FPGA-IP, die nicht in der Intel Quartus Prime-Version enthalten ist.
- Erstellen Sie ein My Intel-Konto, falls Sie noch keines haben.
- Melden Sie sich an, um auf das Self-Service Licensing Center (SSLC) zuzugreifen.
- Erwerben Sie die Fronthaul-Komprimierungs-IP.
- Klicken Sie auf der SSLC-Seite auf Ausführen für die IP. Das SSLC stellt ein Installationsdialogfeld bereit, das Sie durch die Installation des IP führt.
- Installieren Sie am selben Speicherort wie den Intel Quartus Prime-Ordner.
Tabelle 5. Einbauorte für Fronthaul-Druckstufen
Standort | Software | Plattform |
:\intelFPGA_pro\\quartus\ip \altera_cloud | Intel Quartus Prime Pro-Edition | Windows * |
:/intelFPGA_pro//quartus/ip/altera_cloud | Intel Quartus Prime Pro-Edition | Linux * |
Abbildung 1. Fronthaul Compression IP-Installationsverzeichnisstruktur Installationsverzeichnis von Intel Quartus Prime
Das Fronthaul Compression Intel FPGA IP erscheint jetzt im IP-Katalog.
Zugehörige Informationen
- Intel FPGA webWebsite
- Self-Service-Lizenzierungscenter (SSLC)
2.2. Parametrierung der Fronthaul Compression IP
Konfigurieren Sie schnell Ihre benutzerdefinierte IP-Variation im IP-Parameter-Editor.
- Erstellen Sie ein Intel Quartus Prime Pro Edition-Projekt, in das Sie Ihren IP-Core integrieren können.
a. Klicken Sie in der Intel Quartus Prime Pro Edition auf File Assistent für neue Projekte, um ein neues Intel Quartus Prime-Projekt zu erstellen, oder File Projekt öffnen, um ein vorhandenes Quartus Prime-Projekt zu öffnen. Der Assistent fordert Sie auf, ein Gerät anzugeben.
b. Geben Sie die Gerätefamilie an, die die Geschwindigkeitsanforderungen für das IP erfüllt.
c. Klicken Sie auf Fertig stellen. - Wählen Sie im IP-Katalog Fronthaul Compression Intel FPGA IP aus. Das Fenster Neue IP-Variation wird angezeigt.
- Geben Sie einen Namen der obersten Ebene für Ihre neue benutzerdefinierte IP-Variation an. Der Parametereditor speichert die IP-Variationseinstellungen in a file genannt .ip.
- OK klicken. Der Parametereditor erscheint.
Abbildung 2. Fronthaul-Komprimierungs-IP-Parameter-Editor
- Geben Sie die Parameter für Ihre IP-Variation an. Informationen zu bestimmten IP-Parametern finden Sie unter Parameter.
- Klicken Sie auf Design Example tab und spezifizieren Sie die Parameter für Ihr Design example.
Abbildung 3. Design Bspample Parameter-Editor
- Klicken Sie auf HDL generieren. Das Dialogfeld Generierung wird angezeigt.
- Ausgabe angeben file Generierungsoptionen, und klicken Sie dann auf Generieren. Die IP-Variante files nach Ihren Vorgaben generieren.
- Klicken Sie auf Fertig stellen. Der Parameter-Editor fügt die .ip-Datei der obersten Ebene hinzu file automatisch zum aktuellen Projekt. Wenn Sie aufgefordert werden, die .ip file zum Projekt hinzuzufügen, klicken Sie auf Projekt hinzufügen/entfernen Files in Project, um die hinzuzufügen file.
- Nachdem Sie Ihre IP-Variation generiert und instanziiert haben, nehmen Sie geeignete Pinzuweisungen vor, um Ports zu verbinden, und legen Sie alle geeigneten RTL-Parameter pro Instanz fest.
2.2.1. Fronthaul-Komprimierungs-IP-Parameter
Tabelle 6. Fronthaul-Komprimierungs-IP-Parameter
Name | Gültige Werte |
Beschreibung |
Datenrichtung | TX und RX, nur TX, nur RX | Wählen Sie TX für die Komprimierung; RX für Dekompression. |
Komprimierungsmethode | BFP, Mu-Law oder BFP und Mu-Law | Wählen Sie Blockgleitkomma, µ-Law oder beides. |
Metadatenbreite | 0 (Metadaten-Ports deaktivieren), 32, 64, 96, 128 (Bit) | Geben Sie die Bitbreite des Metadatenbusses (unkomprimierte Daten) an. |
Erweiterte IQ-Breite aktivieren | An oder aus | Für unterstützte IqWidth von 8 Bit bis 16 Bit aktivieren. Deaktivieren für unterstützte IqWidth von 9, 12, 14 und 16 Bit. |
O-RAN-konform | An oder aus | Aktivieren Sie diese Option, um der ORAN-IP-Zuordnung für den Metadatenport zu folgen und das Metadaten-Gültigkeitssignal für jeden Abschnittsheader zu aktivieren. Die IP unterstützt nur Metadaten mit einer Breite von 128 Bit. Das IP unterstützt einzelne Abschnitte und mehrere Abschnitte pro Paket. Metadaten sind in jedem Abschnitt mit Metadaten-gültiger Behauptung gültig. Deaktivieren Sie diese Option, damit das IP Metadaten als Passthrough-Conduit-Signale ohne Mapping-Anforderung verwendet (z. B.: U-plane numPrb wird als 0 angenommen). Die IP unterstützt Metadatenbreiten von 0 (Disable Metadata Ports), 32, 64, 96, 128 Bit. Die IP unterstützt einen einzelnen Abschnitt pro Paket. Metadaten sind nur einmal bei der Metadaten-Gültig-Behauptung für jedes Paket gültig. |
2.3. Generierte IP File Struktur
Die Intel Quartus Prime Pro Edition-Software generiert die folgende IP-Core-Ausgabe file Struktur.
Tabelle 7. Generierte IP Files
File Name |
Beschreibung |
<Deine IP>.ip | Das Platform Designer-System oder die IP-Variation der obersten Ebene file.Deine IP> ist der Name, den Sie Ihrer IP-Variation geben. |
<Deine IP>.cmp | Die VHDL-Komponentendeklaration (.cmp) file ist ein Text file die lokale generische und Portdefinitionen enthält, die Sie im VHDL-Design verwenden können files. |
<Deine IP>.html | Ein Bericht, der Verbindungsinformationen, eine Speicherkarte, die die Adresse jedes Slaves in Bezug auf jeden Master, mit dem er verbunden ist, zeigt, und Parameterzuweisungen enthält. |
<Deine IP>_generation.rpt | IP- oder Plattform-Designer-Generierungsprotokoll file. Eine Zusammenfassung der Nachrichten während der IP-Generierung. |
<Deine IP>.qgsimc | Listet Simulationsparameter zur Unterstützung der inkrementellen Regenerierung auf. |
<Deine IP>.qgsynthc | Listet Syntheseparameter zur Unterstützung der inkrementellen Regeneration auf. |
<Deine IP>.qip | Enthält alle erforderlichen Informationen über die IP-Komponente, um die IP-Komponente in die Intel Quartus Prime-Software zu integrieren und zu kompilieren. |
<Deine IP>.sopcinfo | Beschreibt die Verbindungen und IP-Komponentenparametrierungen in Ihrem Platform Designer-System. Sie können seinen Inhalt parsen, um Anforderungen zu erhalten, wenn Sie Softwaretreiber für IP-Komponenten entwickeln. Nachgelagerte Tools wie die Nios® II Toolchain nutzen dies file. Die .sopcinfo file und das system.h file die für die Nios II-Toolkette generiert werden, enthalten Adresszuordnungsinformationen für jeden Slave relativ zu jedem Master, der auf den Slave zugreift. Unterschiedliche Master können eine unterschiedliche Adressabbildung haben, um auf eine bestimmte Slave-Komponente zuzugreifen. |
<Deine IP>.csv | Enthält Informationen zum Upgrade-Status der IP-Komponente. |
<Deine IP>.bsf | Ein Blocksymbol File (.bsf) Darstellung der IP-Variation zur Verwendung im Blockdiagramm von Intel Quartus Prime Files (.bdf). |
<Deine IP>.spd | Erforderliche Eingabe file für ip-make-simscript zum Generieren von Simulationsskripten für unterstützte Simulatoren. Die .spd file enthält eine Liste von files, die für die Simulation generiert werden, zusammen mit Informationen über Speicher, die Sie initialisieren können. |
<Deine IP>.ppf | Der Pin-Planer File (.ppf) speichert die Port- und Knotenzuweisungen für IP-Komponenten, die zur Verwendung mit dem Pin-Planer erstellt wurden. |
<Deine IP>_bb.v | Sie können die Blackbox von Verilog (_bb.v) verwenden. file als leere Moduldeklaration zur Verwendung als Blackbox. |
<Deine IP>_inst.v oder _inst.vhd | HDL zample Instanziierungsvorlage. Sie können den Inhalt kopieren und einfügen file in Ihr HDL file um die IP-Variation zu instanziieren. |
<Deine IP>.v oderDeine IP>.vhd | HDL files, die jedes Submodul oder jeden untergeordneten IP-Kern zur Synthese oder Simulation instanziieren. |
Mentor/ | Enthält ein ModelSim*-Skript msim_setup.tcl zum Einrichten und Ausführen einer Simulation. |
synopsys/vcs/ synopsys/vcsmx/ | Enthält ein Shell-Skript vcs_setup.sh zum Einrichten und Ausführen einer VCS*-Simulation. Enthält ein Shell-Skript vcsmx_setup.sh und synopsys_sim.setup file zum Einrichten und Ausführen einer VCS MX*-Simulation. |
Kadenz/ | Enthält ein Shell-Skript ncsim_setup.sh und andere Setups files Einrichten und Ausführen einer NCSIM*-Simulation. |
aldec/ | Enthält ein Shell-Skript rivierapro_setup.sh zum Einrichten und Ausführen einer Aldec*-Simulation. |
xcelium/ | Enthält ein Shell-Skript xcelium_setup.sh und andere Einstellungen files zum Einrichten und Ausführen einer Xcelium*-Simulation. |
Untermodule/ | Enthält HDL files für die IP-Core-Submodule. |
<Kind-IP-Kerne>/ | Für jedes generierte untergeordnete IP-Core-Verzeichnis generiert Platform Designer die Unterverzeichnisse synth/ und sim/. |
Fronthaul-Komprimierungs-IP-Funktionsbeschreibung
Abbildung 4. Die Fronthaul-Komprimierungs-IP umfasst Komprimierung und Dekomprimierung. Fronthaul-Komprimierungs-IP-Blockdiagramm
Komprimierung und Dekomprimierung
Ein vorverarbeitender blockbasierter Bitverschiebungsblock erzeugt die optimalen Bitverschiebungen für einen Ressourcenblock von 12 Ressourcenelementen (REs). Der Block reduziert das Quantisierungsrauschen, insbesondere bei niedrigenampHöhe sampLes. Daher wird die Fehlervektorgröße (EVM) verringert, die durch die Komprimierung eingeführt wird. Der Kompressionsalgorithmus ist nahezu unabhängig vom Leistungswert. Unter der Annahme der komplexen Eingabe samples x = x1 + jxQ ist, ist der maximale Absolutwert der reellen und imaginären Komponenten für den Ressourcenblock:
Mit dem maximalen Absolutwert für den Ressourcenblock bestimmt die folgende Gleichung den Linksverschiebungswert, der diesem Ressourcenblock zugewiesen ist:
Wobei bitWidth die Eingabebitbreite ist.
Die IP unterstützt Komprimierungsraten von 8, 9, 10, 11, 12, 13, 14, 15, 16.
Mu-Law-Komprimierung und Dekomprimierung
Der Algorithmus verwendet eine Mu-Law-Kompandierungstechnik, die bei der Sprachkomprimierung weit verbreitet ist. Diese Technik leitet das unkomprimierte Eingangssignal x durch einen Kompressor mit der Funktion f(x) vor dem Runden und Bitabschneiden. Die Technik sendet komprimierte Daten, y, über die Schnittstelle. Die empfangenen Daten durchlaufen eine Expansionsfunktion (die das Inverse des Kompressors F-1(y) ist). Die Technik reproduziert die unkomprimierten Daten mit minimalem Quantisierungsfehler.
Gleichung 1. Kompressor- und Dekompressorfunktionen
Der Mu-Law-IQ-Komprimierungsalgorithmus folgt der O-RAN-Spezifikation.
Zugehörige Informationen
O-RAN webWebsite
3.1. IP-Signale mit Fronthaul-Komprimierung
Verbinden und steuern Sie die IP.
Takt- und Reset-Schnittstellensignale=
Tabelle 8. Takt- und Reset-Schnittstellensignale
Signalname | Bitbreite | Richtung |
Beschreibung |
tx_clk | 1 | Eingang | Sendeuhr. Die Taktfrequenz beträgt 390.625 MHz für 25 Gbit/s und 156.25 MHz für 10 Gbit/s. Alle Senderschnittstellensignale sind zu diesem Takt synchron. |
rx_clk | 1 | Eingang | Uhr des Empfängers. Die Taktfrequenz beträgt 390.625 MHz für 25 Gbit/s und 156.25 MHz für 10 Gbit/s. Alle Empfängerschnittstellensignale sind zu diesem Takt synchron. |
csr_clk | 1 | Eingang | Uhr für CSR-Schnittstelle. Die Taktfrequenz beträgt 100 MHz. |
tx_rst_n | 1 | Eingang | Aktiver Low-Reset für Senderschnittstelle synchron zu tx_clk. |
rx_rst_n | 1 | Eingang | Aktiver Low-Reset für Empfängerschnittstelle synchron zu rx_clk. |
csr_rst_n | 1 | Eingang | Aktiver Low-Reset für CSR-Schnittstelle synchron zu csr_clk. |
Übertragung von Transportschnittstellensignalen
Tabelle 9. Transportschnittstellensignale übertragen
Alle Signaltypen sind Ganzzahlen ohne Vorzeichen.
Signalname |
Bitbreite | Richtung |
Beschreibung |
tx_avst_source_valid | 1 | Ausgabe | Zeigt bei Bestätigung an, dass gültige Daten auf avst_source_data verfügbar sind. |
tx_avst_source_data | 64 | Ausgabe | PRB-Felder einschließlich udCompParam, iSample und qSample. PRB-Felder des nächsten Abschnitts werden mit dem PRB-Feld des vorherigen Abschnitts verkettet. |
tx_avst_source_startofpacket | 1 | Ausgabe | Zeigt das erste Byte eines Frames an. |
tx_avst_source_endofpacket | 1 | Ausgabe | Zeigt das letzte Byte eines Frames an. |
tx_avst_source_ready | 1 | Eingang | Zeigt im aktivierten Zustand an, dass die Transportschicht bereit ist, Daten zu akzeptieren. readyLatency = 0 für diese Schnittstelle. |
tx_avst_source_empty | 3 | Ausgabe | Gibt die Anzahl leerer Bytes auf avst_source_data an, wenn avst_source_endofpacket aktiviert ist. |
tx_udcomphdr_o | 8 | Ausgabe | Header-Feld für die Benutzerdatenkomprimierung. Synchron mit tx_avst_source_valid. Definiert die Komprimierungsmethode und die IQ-Bitbreite für die Benutzerdaten in einem Datenabschnitt. • [7:4] : udIqBreite • 16 für udIqWidth=0, sonst gleich udIqWidth e,g,: — 0000b bedeutet, dass I und Q jeweils 16 Bit breit sind; — 0001b bedeutet, dass I und Q jeweils 1 Bit breit sind; — 1111b bedeutet, dass I und Q jeweils 15 Bit breit sind • [3:0] : udCompMeth — 0000b – keine Komprimierung — 0001b – Blockgleitkomma — 0011b – µ-Gesetz — andere – reserviert für zukünftige Methoden. |
tx_metadata_o | METADATA_WIDTH | Ausgabe | Leitungssignale passieren und werden nicht komprimiert. Synchron mit tx_avst_source_valid. Konfigurierbare Bitbreite METADATA_WIDTH. Beim Einschalten O-RAN-konform, siehe Tabelle 13 auf Seite 17.Beim Ausschalten O-RAN-konform, ist dieses Signal nur gültig, wenn tx_avst_source_startofpacket 1 ist. tx_metadata_o hat kein gültiges Signal und verwendet tx_avst_source_valid, um einen gültigen Zyklus anzuzeigen. Nicht verfügbar, wenn Sie auswählen 0 Metadaten-Ports deaktivieren für Metadatenbreite. |
Transportschnittstellensignale empfangen
Tabelle 10. Transportschnittstellensignale empfangen
Kein Gegendruck an dieser Schnittstelle. Das Avalon-Streaming-Leersignal ist in dieser Schnittstelle nicht erforderlich, da es immer Null ist.
Signalname | Bitbreite | Richtung |
Beschreibung |
rx_avst_sink_valid | 1 | Eingang | Zeigt im aktivierten Zustand an, dass gültige Daten auf avst_sink_data verfügbar sind. Kein avst_sink_ready-Signal an dieser Schnittstelle. |
rx_avst_sink_data | 64 | Eingang | PRB-Felder einschließlich udCompParam, iSample und qSample. PRB-Felder des nächsten Abschnitts werden mit dem PRB-Feld des vorherigen Abschnitts verkettet. |
rx_avst_sink_startofpacket | 1 | Eingang | Zeigt das erste Byte eines Frames an. |
rx_avst_sink_endofpacket | 1 | Eingang | Zeigt das letzte Byte eines Frames an. |
rx_avst_sink_error | 1 | Eingang | Wenn es im selben Zyklus wie avst_sink_endofpacket bestätigt wird, zeigt es an, dass das aktuelle Paket ein Fehlerpaket ist |
rx_udcomphdr_i | 8 | Eingang | Header-Feld für die Benutzerdatenkomprimierung. Synchron mit rx_metadata_valid_i. Definiert die Komprimierungsmethode und die IQ-Bitbreite für die Benutzerdaten in einem Datenabschnitt. • [7:4] : udIqBreite • 16 für udIqWidth=0, ansonsten gleich udIqWidth. z.B — 0000b bedeutet, dass I und Q jeweils 16 Bit breit sind; — 0001b bedeutet, dass I und Q jeweils 1 Bit breit sind; — 1111b bedeutet, dass I und Q jeweils 15 Bit breit sind • [3:0] : udCompMeth — 0000b – keine Komprimierung — 0001b – Gleitkommazahl blockieren — 0011b – µ-Gesetz — andere – reserviert für zukünftige Methoden. |
rx_metadata_i | METADATA_WIDTH | Eingang | Unkomprimierte Leitungssignale werden durchgeleitet. rx_metadata_i-Signale sind gültig, wenn rx_metadata_valid_i geltend gemacht wird, synchron mit rx_avst_sink_valid. Konfigurierbare Bitbreite METADATA_WIDTH. Beim Einschalten O-RAN-konform, siehe Tisch 15 auf Seite 18. Beim Ausschalten O-RAN-konform, ist dieses rx_metadata_i-Signal nur gültig, wenn sowohl rx_metadata_valid_i als auch rx_avst_sink_startofpacket gleich 1 sind. Nicht verfügbar, wenn Sie auswählen 0 Metadaten-Ports deaktivieren für Metadatenbreite. |
rx_metadata_valid_i | 1 | Eingang | Gibt an, dass die Header (rx_udcomphdr_i und rx_metadata_i) gültig sind. Synchron mit rx_avst_sink_valid. Pflichtsignal. Bestätigen Sie für die O-RAN-Abwärtskompatibilität rx_metadata_valid_i, wenn die IP gültige allgemeine Kopfzeilen-IEs und wiederholte Abschnitts-IEs hat. Stellen Sie beim Bereitstellen neuer Abschnittsfelder für physische Ressourcenblöcke (PRB) in rx_avst_sink_data neue Abschnitts-IEs in der Eingabe rx_metadata_i zusammen mit rx_metadata_valid_i bereit. |
Übertragen von Anwendungsschnittstellensignalen
Tabelle 11. Anwendungsschnittstellensignale übertragen
Signalname |
Bitbreite | Richtung |
Beschreibung |
tx_avst_sink_valid | 1 | Eingang | Zeigt im aktivierten Zustand an, dass gültige PRB-Felder in dieser Schnittstelle verfügbar sind. Stellen Sie beim Betrieb im Streaming-Modus sicher, dass zwischen Beginn des Pakets und Ende des Pakets kein gültiges Signal deaktiviert wird. Die einzige Ausnahme ist, wenn das Bereitschaftssignal deaktiviert wird. |
tx_avst_sink_data | 128 | Eingang | Daten von der Anwendungsschicht in Netzwerk-Byte-Reihenfolge. |
tx_avst_sink_startofpacket | 1 | Eingang | Zeigt das erste PRB-Byte eines Pakets an |
tx_avst_sink_endofpacket | 1 | Eingang | Zeigt das letzte PRB-Byte eines Pakets an |
tx_avst_sink_ready | 1 | Ausgabe | Zeigt bei Bestätigung an, dass das O-RAN-IP bereit ist, Daten von der Anwendungsschnittstelle zu akzeptieren. readyLatency = 0 für diese Schnittstelle |
tx_udcomphdr_i | 8 | Eingang | Header-Feld für die Benutzerdatenkomprimierung. Synchron mit tx_avst_sink_valid. Definiert die Komprimierungsmethode und die IQ-Bitbreite für die Benutzerdaten in einem Datenabschnitt. • [7:4] : udIqBreite • 16 für udIqWidth=0, ansonsten gleich udIqWidth. z.B — 0000b bedeutet, dass I und Q jeweils 16 Bit breit sind; — 0001b bedeutet, dass I und Q jeweils 1 Bit breit sind; — 1111b bedeutet, dass I und Q jeweils 15 Bit breit sind • [3:0] : udCompMeth — 0000b – keine Komprimierung — 0001b – Blockgleitkomma — 0011b – µ-Gesetz — andere – reserviert für zukünftige Methoden. |
tx_metadata_i | METADATA_WIDTH | Eingang | Leitungssignale passieren und werden nicht komprimiert. Synchron mit tx_avst_sink_valid. Konfigurierbare Bitbreite METADATA_WIDTH. Beim Einschalten O-RAN-konform, siehe Tisch 13 auf Seite 17. Beim Ausschalten O-RAN-konform, ist dieses Signal nur gültig, wenn tx_avst_sink_startofpacket gleich 1 ist. tx_metadata_i hat kein gültiges Signal und verwendet tx_avst_sink_valid, um einen gültigen Zyklus anzuzeigen. Nicht verfügbar, wenn Sie auswählen 0 Metadaten-Ports deaktivieren für Metadatenbreite. |
Signale der Anwendungsschnittstelle empfangen
Tabelle 12. Anwendungsschnittstellensignale empfangen
Signalname |
Bitbreite | Richtung |
Beschreibung |
rx_avst_source_valid | 1 | Ausgabe | Zeigt im aktivierten Zustand an, dass gültige PRB-Felder in dieser Schnittstelle verfügbar sind. Kein avst_source_ready-Signal an dieser Schnittstelle. |
rx_avst_source_data | 128 | Ausgabe | Daten zur Anwendungsschicht in Netzwerk-Byte-Reihenfolge. |
rx_avst_source_startofpacket | 1 | Ausgabe | Zeigt das erste PRB-Byte eines Pakets an |
rx_avst_source_endofpacket | 1 | Ausgabe | Zeigt das letzte PRB-Byte eines Pakets an |
rx_avst_source_error | 1 | Ausgabe | Zeigt an, dass die Pakete Fehler enthalten |
rx_udcomphdr_o | 8 | Ausgabe | Header-Feld für die Benutzerdatenkomprimierung. Synchron mit rx_avst_source_valid. Definiert die Komprimierungsmethode und die IQ-Bitbreite für die Benutzerdaten in einem Datenabschnitt. • [7:4] : udIqBreite • 16 für udIqWidth=0, ansonsten gleich udIqWidth. z.B — 0000b bedeutet, dass I und Q jeweils 16 Bit breit sind; — 0001b bedeutet, dass I und Q jeweils 1 Bit breit sind; — 1111b bedeutet, dass I und Q jeweils 15 Bit breit sind • [3:0] : udCompMeth — 0000b – keine Komprimierung — 0001b – Blockgleitkomma (BFP) — 0011b – µ-Gesetz — andere – reserviert für zukünftige Methoden. |
rx_metadata_o | METADATA_WIDTH | Ausgabe | Unkomprimierte Leitungssignale werden durchgeleitet. rx_metadata_o-Signale sind gültig, wenn rx_metadata_valid_o geltend gemacht wird, synchron mit rx_avst_source_valid. Konfigurierbare Bitbreite METADATA_WIDTH. Beim Einschalten O-RAN-konform, siehe Tabelle 14 auf Seite 18. Beim Ausschalten O-RAN-konform, rx_metadata_o ist nur gültig, wenn rx_metadata_valid_o gleich 1 ist. Nicht verfügbar, wenn Sie auswählen 0 Metadaten-Ports deaktivieren für Metadatenbreite. |
rx_metadata_valid_o | 1 | Ausgabe | Gibt an, dass die Header (rx_udcomphdr_o und rx_metadata_o) gültig sind. rx_metadata_valid_o wird geltend gemacht, wenn rx_metadata_o gültig ist, synchron mit rx_avst_source_valid. |
Metadatenzuordnung für O-RAN-Abwärtskompatibilität
Tabelle 13. tx_metadata_i 128-Bit-Eingabe
Signalname |
Bitbreite | Richtung | Beschreibung |
Metadaten-Mapping |
Reserviert | 16 | Eingang | Reserviert. | tx_metadata_i[127:112] |
tx_u_size | 16 | Eingang | U-Plane-Paketgröße in Bytes für den Streaming-Modus. | tx_metadata_i[111:96] |
tx_u_seq_id | 16 | Eingang | SeqID des Pakets, das aus dem eCPRI-Transportheader extrahiert wird. | tx_metadata_i[95:80] |
tx_u_pc_id | 16 | Eingang | PCID für eCPRI-Transport und RoEflowId für Radio-over-Ethernet (RoE)-Transport. |
tx_metadata_i[79:64] |
Reserviert | 4 | Eingang | Reserviert. | tx_metadata_i[63:60] |
tx_u_dataDirection | 1 | Eingang | gNB-Datenrichtung. Wertebereich: {0b=Rx (dh Upload), 1b=Tx (dh Download)} |
tx_metadata_i[59] |
tx_u_filterIndex | 4 | Eingang | Definiert einen Index für den zwischen IQ-Daten und Luftschnittstelle zu verwendenden Kanalfilter. Wertebereich: {0000b-1111b} |
tx_metadata_i[58:55] |
tx_u_frameId | 8 | Eingang | Ein Zähler für 10-ms-Frames (Umbruchzeit 2.56 Sekunden), insbesondere frameId= Framenummer modulo 256. Wertebereich: {0000 0000b-1111 1111b} |
tx_metadata_i[54:47] |
tx_u_subframeId | 4 | Eingang | Ein Zähler für 1-ms-Subframes innerhalb eines 10-ms-Frames. Wertebereich: {0000b-1111b} | tx_metadata_i[46:43] |
tx_u_slotID | 6 | Eingang | Dieser Parameter ist die Schlitznummer innerhalb eines 1-ms-Unterrahmens. Alle Slots in einem Subframe werden durch diesen Parameter gezählt. Wertebereich: {00 0000b-00 1111b=SlotID, 01 0000b-11 1111b=Reserviert} |
tx_metadata_i[42:37] |
tx_u_symbolid | 6 | Eingang | Identifiziert eine Symbolnummer innerhalb eines Slots. Wertebereich: {00 0000b-11 1111b} | tx_metadata_i[36:31] |
tx_u_sectionId | 12 | Eingang | Die Abschnitts-ID bildet U-Ebenen-Datenabschnitte auf die entsprechende C-Ebenen-Nachricht (und den Abschnittstyp) ab, die den Daten zugeordnet ist. Wertebereich: {0000 0000 0000b-11111111 1111b} |
tx_metadata_i[30:19] |
tx_u_rb | 1 | Eingang | Ressourcenblockanzeige. Geben Sie an, ob jeder Ressourcenblock verwendet wird oder ob jeder andere Ressourcenblock verwendet wird. Wertebereich: {0b=jeder genutzte Ressourcenblock; 1b=jeder zweite Ressourcenblock verwendet} |
tx_metadata_i[18] |
tx_u_startPrb | 10 | Eingang | Der Start-PRB eines Benutzerebenen-Datenabschnitts. Wertebereich: {00 0000 0000b-11 1111 1111b} |
tx_metadata_i[17:8] |
tx_u_numPrb | 8 | Eingang | Definieren Sie die PRBs, in denen der Datenabschnitt der Benutzerebene gültig ist. | tx_metadata_i[7:0] |
Wertebereich: {0000 0001b-1111 1111b, 0000 0000b = alle PRBs im angegebenen Subträgerabstand (SCS) und Trägerbandbreite } | ||||
tx_u_udCompHdr | 8 | Eingang | Definieren Sie in einem Datenabschnitt das Komprimierungsverfahren und die IQ-Bitbreite der Nutzdaten. Wertebereich: {0000 0000b-1111 1111b} | N/A (tx_udcomphdr_i) |
Tabelle 14. rx_metadata_valid_i/o
Signalname |
Bitbreite | Richtung | Beschreibung |
Metadaten-Mapping |
rx_sec_hdr_valid | 1 | Ausgabe | Wenn rx_sec_hdr_valid 1 ist, sind die U-Ebenen-Schnittdatenfelder gültig. Allgemeine Header-IEs sind gültig, wenn rx_sec_hdr_valid geltend gemacht wird, synchron mit avst_sink_u_startofpacket und avst_sink_u_valid. Wiederholte Abschnitts-IEs sind gültig, wenn rx_sec_hdr_valid geltend gemacht wird, synchron mit avst_sink_u_valid. Beim Bereitstellen neuer Abschnitts-PRB-Felder in avst_sink_u_data neue Abschnitts-IEs mit aktiviertem rx_sec_hdr_valid bereitstellen. |
rx_metadata_valid_o |
Tabelle 15. rx_metadata_o 128-Bit-Ausgabe
Signalname | Bitbreite | Richtung | Beschreibung |
Metadaten-Mapping |
Reserviert | 32 | Ausgabe | Reserviert. | rx_metadata_o[127:96] |
rx_u_seq_id | 16 | Ausgabe | SeqID des Pakets, das aus dem eCPRI-Transportheader extrahiert wird. | rx_metadata_o[95:80] |
rx_u_pc_id | 16 | Ausgabe | PCID für den eCPRI-Transport und RoEflowId für den RoE-Transport | rx_metadata_o[79:64] |
reserviert | 4 | Ausgabe | Reserviert. | rx_metadata_o[63:60] |
rx_u_dataDirection | 1 | Ausgabe | gNB-Datenrichtung. Wertebereich: {0b=Rx (dh Upload), 1b=Tx (dh Download)} | rx_metadata_o[59] |
rx_u_filterIndex | 4 | Ausgabe | Definiert einen Index für den Kanalfilter, der zwischen IQ-Daten und der Luftschnittstelle verwendet werden soll. Wertebereich: {0000b-1111b} |
rx_metadata_o[58:55] |
rx_u_frameId | 8 | Ausgabe | Ein Zähler für 10-ms-Frames (Umbruchzeit 2.56 Sekunden), konkret frameId= Framenummer modulo 256. Wertebereich: {0000 0000b-1111 1111b} | rx_metadata_o[54:47] |
rx_u_subframeId | 4 | Ausgabe | Ein Zähler für 1-ms-Subframes innerhalb eines 10-ms-Frames. Wertebereich: {0000b-1111b} | rx_metadata_o[46:43] |
rx_u_slotID | 6 | Ausgabe | Die Schlitznummer innerhalb eines 1-ms-Unterrahmens. Alle Slots in einem Subframe werden durch diesen Parameter gezählt. Wertebereich: {00 0000b-00 1111b=slotID, 01 0000b-111111b=reserviert} | rx_metadata_o[42:37] |
rx_u_symbolid | 6 | Ausgabe | Identifiziert eine Symbolnummer innerhalb eines Slots. Wertebereich: {00 0000b-11 1111b} |
rx_metadata_o[36:31] |
rx_u_sectionId | 12 | Ausgabe | Die Abschnitts-ID bildet U-Ebenen-Datenabschnitte auf die entsprechende C-Ebenen-Nachricht (und den Abschnittstyp) ab, die den Daten zugeordnet ist. Wertebereich: {0000 0000 0000b-1111 1111 1111b} |
rx_metadata_o[30:19] |
rx_u_rb | 1 | Ausgabe | Ressourcenblockanzeige. Gibt an, ob jeder Ressourcenblock verwendet wird oder jede andere Ressource verwendet wird. Wertebereich: {0b=jeder genutzte Ressourcenblock; 1b=jeder zweite Ressourcenblock verwendet} |
rx_metadata_o[18] |
rx_u_startPrb | 10 | Ausgabe | Der Start-PRB eines Benutzerebenen-Datenabschnitts. Wertebereich: {00 0000 0000b-11 1111 1111b} |
rx_metadata_o[17:8] |
rx_u_numPrb | 8 | Ausgabe | Definiert die PRBs, in denen der Datenabschnitt der Benutzerebene gültig ist. Wertebereich: {0000 0001b-1111 1111b, 0000 0000b = alle PRBs in der angegebenen SCS- und Trägerbandbreite } |
rx_metadata_o[7:0] |
rx_u_udCompHdr | 8 | Ausgabe | Definiert die Komprimierungsmethode und die IQ-Bitbreite der Benutzerdaten in einem Datenabschnitt. Wertebereich: {0000 0000b-1111 1111b} |
N/A (rx_udcomphdr_o) |
CSR-Schnittstellensignale
Tabelle 16. CSR-Schnittstellensignale
Signalname | Bitbreite | Richtung |
Beschreibung |
csr_adresse | 16 | Eingang | Adresse des Konfigurationsregisters. |
csr_write | 1 | Eingang | Schreibfreigabe für Konfigurationsregister. |
csr_writedata | 32 | Eingang | Konfigurationsregister Schreibdaten. |
csr_readdata | 32 | Ausgabe | Lesedaten des Konfigurationsregisters. |
csr_read | 1 | Eingang | Freigabe zum Lesen des Konfigurationsregisters. |
csr_readdatavalid | 1 | Ausgabe | Lesedaten des Konfigurationsregisters gültig. |
csr_waitrequest | 1 | Ausgabe | Warteanforderung für Konfigurationsregister. |
Fronthaul-Komprimierungs-IP-Register
Steuern und überwachen Sie die Fronthaul-Komprimierungsfunktionalität über die Steuer- und Statusschnittstelle.
Tabelle 17. Karte registrieren
CSR_ADDRESS (Wort-Offset) | Registername |
0 x 0 | Kompressionsmodus |
0 x 1 | tx_error |
0 x 2 | rx_error |
Tabelle 18. compression_mode-Register
Bitbreite | Beschreibung | Zugang |
HW-Reset-Wert |
31:9 | Reserviert | RO | 0 x 0 |
8:8 | Funktionsmodus: • 1'b0 ist der statische Komprimierungsmodus • 1'b1 ist der dynamische Kompressionsmodus |
RW | 0 x 0 |
7:0 | Statischer Benutzerdaten-Komprimierungsheader: • 7:4 ist udIqWidth — 4'b0000 sind 16 Bit — 4'b1111 sind 15 Bit -: — 4'b0001 ist 1 Bit • 3:0 ist udCompMeth — 4'b0000 ist keine Komprimierung — 4'b0001 ist ein Blockgleitkomma — 4'b0011 ist µ-Gesetz • Andere sind reserviert |
RW | 0 x 0 |
Tabelle 19. tx-Fehlerregister
Bitbreite | Beschreibung | Zugang |
HW-Reset-Wert |
31:2 | Reserviert | RO | 0 x 0 |
1:1 | Ungültige IqWidth. Das IP setzt Iqwidth auf 0 (16-Bit-Iqwidth), wenn es eine ungültige oder nicht unterstützte Iqwidth erkennt. | RW1C | 0 x 0 |
0:0 | Ungültige Komprimierungsmethode. Die IP verwirft das Paket. | RW1C | 0 x 0 |
Tabelle 20. rx-Fehlerregister
Bitbreite | Beschreibung | Zugang |
HW-Reset-Wert |
31:8 | Reserviert | RO | 0 x 0 |
1:1 | Ungültige IqWidth. Die IP verwirft das Paket. | RW1C | 0 x 0 |
0:0 | Ungültige Komprimierungsmethode. Das IP stellt die Komprimierungsmethode auf die folgende standardmäßig unterstützte Komprimierungsmethode ein: • Nur Blockgleitkomma aktiviert: Standardmäßig Blockgleitkomma. • Nur μ-law aktiviert: standardmäßig μ-law. • Sowohl Blockgleitkomma als auch μ-Law aktiviert: Standardmäßig Blockgleitkomma. |
RW1C | 0 x 0 |
Fronthaul-Komprimierung Intel FPGA IPs User Guide Archive
Die neuesten und früheren Versionen dieses Dokuments finden Sie unter: Fronthaul Compression Intel FPGA IP User Guide. Wenn eine IP- oder Softwareversion nicht aufgeführt ist, gilt die Bedienungsanleitung für die vorherige IP- oder Softwareversion.
Dokumentüberarbeitungsverlauf für das Fronthaul-Komprimierungs-Intel-FPGA-IP-Benutzerhandbuch
Dokumentversion |
Intel Quartus Prime-Version | IP-Version |
Änderungen |
2022.08.08 | 21.4 | 1.0.1 | Korrigierte Metadatenbreite von 0 auf 0 (Metadaten-Ports deaktivieren). |
2022.03.22 | 21.4 | 1.0.1 | • Vertauschte Signalbeschreibungen: — tx_avst_sink_data und tx_avst_source_data — rx_avst_sink_data und rx_avst_source_data • Hinzugefügt Vom Gerät unterstützte Geschwindigkeitsstufen Tisch • Hinzugefügt Leistung und Ressourcennutzung |
2021.12.07 | 21.3 | 1.0.0 | Aktualisierter Bestellcode. |
2021.11.23 | 21.3 | 1.0.0 | Erstveröffentlichung. |
Intel Corporation. Alle Rechte vorbehalten. Intel, das Intel-Logo und andere Intel-Marken sind Marken der Intel Corporation oder ihrer Tochtergesellschaften. Intel garantiert die Leistung seiner FPGA- und Halbleiterprodukte gemäß den aktuellen Spezifikationen gemäß der Standardgarantie von Intel, behält sich jedoch das Recht vor, jederzeit ohne Vorankündigung Änderungen an Produkten und Diensten vorzunehmen. Intel übernimmt keine Verantwortung oder Haftung, die sich aus der Anwendung oder Verwendung von hierin beschriebenen Informationen, Produkten oder Diensten ergeben, es sei denn, Intel hat ausdrücklich schriftlich zugestimmt. Intel-Kunden wird empfohlen, die neueste Version der Gerätespezifikationen zu beschaffen, bevor sie sich auf veröffentlichte Informationen verlassen und bevor sie Produkte oder Dienstleistungen bestellen. *Andere Namen und Marken können als Eigentum anderer beansprucht werden.
Online Version
Feedback senden
Artikel-Nr.: 709301
UG-20346
Version: 2022.08.08
ISO 9001: 2015 registriert
Dokumente / Ressourcen
![]() |
Intel Fronthaul-Komprimierungs-FPGA-IP [pdf] Benutzerhandbuch Fronthaul-Kompressions-FPGA-IP, Fronthaul, Kompressions-FPGA-IP, FPGA-IP |
![]() |
Intel Fronthaul-Komprimierungs-FPGA-IP [pdf] Benutzerhandbuch UG-20346, 709301, Fronthaul-Komprimierungs-FPGA-IP, Fronthaul-FPGA-IP, Komprimierungs-FPGA-IP, FPGA-IP |