intel Fronthaul Compression FPGA IP User Guide
- June 3, 2024
- Intel
Table of Contents
- Fronthaul Compression FPGA IP
- About the Fronthaul Compression Intel® FPGA IP
- Getting Started with the Fronthaul Compression Intel FPGA IP
- Fronthaul Compression IP Functional Description
- Fronthaul Compression IP Registers
- Fronthaul Compression Intel FPGA IPs User Guide Archive
- Document Revision History for the Fronthaul Compression Intel FPGA IP
- Documents / Resources
Fronthaul Compression FPGA IP
User Guide
Fronthaul Compression FPGA IP
Fronthaul Compression Intel® FPGA IP User Guide
Updated for Intel® Quartus® Prime
Design Suite: 21.4 IP
Version: 1.0.1
About the Fronthaul Compression Intel® FPGA IP
The Fronthaul Compression IP consists of compression and decompression for
U-plane IQ data. The compression engine computes µ-law or block floating-point
compression based on user data compression header (udCompHdr). This IP uses an
Avalon streaming interface for IQ data, conduit signals, and for metadata and
sideband signals, and Avalon memory-mapped interface for control and status
registers (CSRs).
The IP maps compressed IQs and the user data compression parameter
(udCompParam) as per the section payload frame format specified in the O-RAN
specification O-RAN Fronthaul Control, User and Synchronization Plane Version
3.0 April 2020 (O-RAN-WG4.CUS.0-v03.00). Avalon streaming sink and source
interface data width are 128-bits for the application interface and 64 bits
for the transport interface to support maximum compressoin ratio of 2:1.
Related Information
O-RAN website
1.1. Fronthaul Compression Intel® FPGA IP Features
- -law and block floating-point compression and decompression
- IQ width 8-bit to 16-bit
- Static and dynamic configuration of U-plane IQ format and compression header
- Multisections packet (if O-RAN Compliant is on)
1.2. Fronthaul Compression Intel® FPGA IP Device Family Support
Intel offers the following device support levels for Intel FPGA IP:
- Advance support–the IP is available for simulation and compilation for this device family. FPGA programming file (.pof) support is not available for Quartus Prime Pro Stratix 10 Edition Beta software and as such IP timing closure cannot be guaranteed. Timing models include initial engineering estimates of delays based on early post-layout information. The timing models are subject to change as silicon testing improves the correlation between the actual silicon and the timing models. You can use this IP core for system architecture and resource utilization studies, simulation, pinout, system latency assessments, basic timing assessments (pipeline budgeting), and I/O transfer strategy (data-path width, burst depth, I/O standards tradeoffs).
- Preliminary support–Intel verifies the IP core with preliminary timing models for this device family. The IP core meets all functional requirements, but might still be undergoing timing analysis for the device family. You can use it in production designs with caution.
- Final support–Intel verifies the IP with final timing models for this device family. The IP meets all functional and timing requirements for the device family. You can use it in production designs.
Table 1. Fronthaul Compression IP Device Family Support
Device Family | Support |
---|---|
Intel® Agilex™ (E-tile) | Preliminary |
Intel Agilex (F-tile) | Advance |
Intel Arria® 10 | Final |
Intel Stratix® 10 (H-, and E-tile devices only) | Final |
Other device families | No support |
Table 2. Device Supported Speed Grades
Device Family | FPGA Fabric Speed Grade |
---|---|
Intel Agilex | 3 |
Intel Arria 10 | 2 |
Intel Stratix 10 | 2 |
1.3. Release Information for the Fronthaul Compression Intel FPGA IP
Intel FPGA IP versions match the Intel Quartus® Prime Design Suite software
versions until v19.1. Starting in Intel Quartus Prime Design Suite software
version 19.2, Intel FPGA IP has a new versioning scheme.
The Intel FPGA IP version (X.Y.Z) number can change with each Intel Quartus
Prime software version. A change in:
- X indicates a major revision of the IP. If you update the Intel Quartus Prime software, you must regenerate the IP.
- Y indicates the IP includes new features. Regenerate your IP to include these new features.
- Z indicates the IP includes minor changes. Regenerate your IP to include these changes.
Table 3. Fronthaul Compression IP Release Information
Item | Description |
---|---|
Version | 1.0.1 |
Release date | February 2022 |
Ordering code | IP-FH-COMP |
1.4. Fronthaul Compression Performance and Resource Usage
The resources of the IP targeting an Intel Agilex device, Intel Arria 10
device, and Intel Stratix 10 device
Table 4. Fronthaul Compression Performance and Resource Usage
All entries are for compression and decompression data direction IP
Device | IP | ALMs | Logic registers | M20K |
---|---|---|---|---|
Primary | Secondary | |||
Intel Agilex | Block-floating point | 14,969 | 25,689 | 6,093 |
µ-law | 22,704 | 39,078 | 7,896 | 0 |
Block-floating point and µ-law | 23,739 | 41,447 | 8,722 | 0 |
Block-floating point, µ-law, and extended IQ width | 23,928 | 41,438 | 8,633 | 0 |
Intel Arria 10 | Block-floating point | 12,403 | 16,156 | 5,228 |
µ-law | 18,606 | 23,617 | 5,886 | 0 |
Block-floating point and µ-law | 19,538 | 24,650 | 6,140 | 0 |
Block-floating point, µ-law, and extended IQ width | 19,675 | 24,668 | 6,141 | 0 |
Intel Stratix 10 | Block-floating point | 16,852 | 30,548 | 7,265 |
µ-law | 24,528 | 44,325 | 8,080 | 0 |
Block-floating point and µ-law | 25,690 | 47,357 | 8,858 | 0 |
Block-floating point, µ-law, and extended IQ width | 25,897 | 47,289 | 8,559 | 0 |
Getting Started with the Fronthaul Compression Intel FPGA IP
Describes installing, parameterizing, simulating, and initializing the
Fronthaul Compression IP.
2.1. Obtaining, Installing, and Licensing the Fronthaul Compression IP
The Fronthaul Compression IP is an extended Intel FPGA IP that is not
included with the Intel Quartus Prime release.
- Create a My Intel account if you do not have one.
- Log in to access the Self-Service Licensing Center (SSLC).
- Purchase the Fronthaul Compression IP.
- On the SSLC page, click Run for the IP. The SSLC provides an installation dialog box to guide your installation of the IP.
- Install to the same location as Intel Quartus Prime folder.
Table 5. Fronthaul Compression Installation Locations
Location | Software | Platform |
---|---|---|
< drive>:\intelFPGApro\ < version>_\quartus\ip \altera_cloud | Intel | |
Quartus Prime Pro Edition | Windows* | |
< home directory>:/intelFPGApro/ < version>_/ quartus/ip/altera_cloud | ||
Intel Quartus Prime Pro Edition | Linux* |
Figure 1. Fronthaul Compression IP Installation Directory Structure Intel Quartus Prime installation directory
The Fronthaul Compression Intel FPGA IP now appears in the IP Catalog.
Related Information
-
Intel FPGA website
-
Self-Service Licensing Center (SSLC)
2.2. Parameterizing the Fronthaul Compression IP
Quickly configure your custom IP variation in the IP Parameter Editor.
-
Create an Intel Quartus Prime Pro Edition project in which to integrate your IP core.
a. In the Intel Quartus Prime Pro Edition, click File New Project Wizard to create a new Intel Quartus Prime project, or File Open Project to open an existing Quartus Prime project. The wizard prompts you to specify a device.
b. Specify the device family that meets the speed grade requirements for the IP.
c. Click Finish. -
In the IP Catalog, select Fronthaul Compression Intel FPGA IP. The New IP Variation window appears.
-
Specify a top-level name for your new custom IP variation. The parameter editor saves the IP variation settings in a file named
.ip. -
Click OK. The parameter editor appears.
Figure 2. Fronthaul Compression IP Parameter Editor -
Specify the parameters for your IP variation. Refer to Parameters for information about specific IP parameters.
-
Click the Design Example tab and specify the parameters for your design example.
Figure 3. Design Example Parameter Editor -
Click Generate HDL. The Generation dialog box appears.
-
Specify output file generation options, and then click Generate. The IP variation files generate according to your specifications.
-
Click Finish. The parameter editor adds the top-level .ip file to the current project automatically. If you are prompted to manually add the .ip file to the project, click Project Add/Remove Files in Project to add the file.
-
After generating and instantiating your IP variation, make appropriate pin assignments to connect ports and set any appropriate per-instance RTL parameters.
2.2.1. Fronthaul Compression IP Parameters
Table 6. Fronthaul Compression IP Parameters
Name| Valid Values|
Description
---|---|---
Data direction| TX and RX, TX only, RX only| Select TX for compression;
RX for decompression.
Compression method| BFP, mu-Law, or BFP and mu-Law| Select block
floating-point, µ-law, or both.
Metadata width| 0 (Disable Metadata Ports), 32, 64, 96, 128 (bit)|
Specify the bit width of the metadata bus (uncompressed data).
---|---|---
Enable extended IQ width| On or off| Turn on for supported IqWidth of
8-bit to 16-bit.
Turn off for supported IqWidth of 9, 12, 14 and 16-bits.
O-RAN compliant| On or off| Turn on to follow ORAN IP mapping for
metadata port and assert metadata valid signal for each section header. The IP
supports 128-bit width metadata only. The IP supports single section and
multiple sections per packet. Metadata is valid at each section with metadata
valid assertion.
Turn off so the IP uses metadata as passthrough conduit signals with no
mapping requirement (e.g.: U-plane numPrb is assumed 0). The IP supports
metadata widths of 0 (Disable Metadata Ports), 32, 64, 96, 128 bits. The IP
supports single section per packet. Metadata is valid only once at the
metadata valid assertion for each packet.
2.3. Generated IP File Structure
The Intel Quartus Prime Pro Edition software generates the following IP
core output file structure.
Table 7. Generated IP Files
File Name|
Description
---|---
< _your_ip_ >.ip| The Platform Designer system or top-level IP variation file. < _your_ip_ > is the name that you give your IP variation. < _your_ip_ >.cmp| The VHDL Component Declaration (.cmp) file is a text file that contains local generic and port definitions that you can use in VHDL design files. < _your_ip_ >.html| A report that contains connection information, a memory map showing the address of each slave with respect to each master to which it is connected, and parameter assignments. < _your_ip_ >_generation.rpt| IP or Platform Designer generation log file. A summary of the messages during IP generation. < _your_ip_ >.qgsimc| Lists simulation parameters to support incremental regeneration. < _your_ip_ >.qgsynthc| Lists synthesis parameters to support incremental regeneration. < _your_ip_ >.qip| Contains all the required information about the IP component to integrate and compile the IP component in the Intel Quartus Prime software. < _your_ip_ >.sopcinfo| Describes the connections and IP component parameterizations in your Platform Designer system. You can parse its contents to get requirements when you develop software drivers for IP components. Downstream tools such as the Nios® II tool chain use this file. The .sopcinfo file and the system.h file generated for the Nios II tool chain include address map information for each slave relative to each master that accesses the slave. Different masters may have a different address map to access a particular slave component. < _your_ip_ >.csv| Contains information about the upgrade status of the IP component. < _your_ip_ >.bsf| A Block Symbol File (.bsf) representation of the IP variation for use in Intel Quartus Prime Block Diagram Files (.bdf). < _your_ip_ >.spd| Required input file for ip-make-simscript to generate simulation scripts for supported simulators. The .spd file contains a list of files generated for simulation, along with information about memories that you can initialize. < _your_ip_ >.ppf| The Pin Planner File (.ppf) stores the port and node assignments for IP components created for use with the Pin Planner. ---|--- < _your_ip_ >_bb.v| You can use the Verilog black-box (_bb.v) file as an empty module declaration for use as a black box. < _your_ip_ >_inst.v or _inst.vhd| HDL example instantiation template. You can copy and paste the contents of this file into your HDL file to instantiate the IP variation. < _your_ip_ >.v or < _your_ip_ >.vhd| HDL files that instantiate each submodule or child IP core for synthesis or simulation. mentor/| Contains a ModelSim* script msim_setup.tcl to set up and run a simulation. synopsys/vcs/ synopsys/vcsmx/| Contains a shell script vcs_setup.sh to set up and run a VCS* simulation. Contains a shell script vcsmx_setup.sh and synopsys_ sim.setup file to set up and run a VCS MX* simulation. cadence/| Contains a shell script ncsim_setup.sh and other setup files to set up and run an NCSIM* simulation. aldec/| Contains a shell script rivierapro_setup.sh to setup and run an Aldec* simulation. xcelium/| Contains a shell script xcelium_setup.sh and other setup files to set up and run an Xcelium* simulation. submodules/| Contains HDL files for the IP core submodules. < _child IP cores_ >/| For each generated child IP core directory, Platform Designer generates synth/ and sim/ sub-directories.Fronthaul Compression IP Functional Description
Figure 4. The Fronthaul Compression IP comprises compression and decompression. Fronthaul Compression IP Block Diagram
Compression and Decompression
A preprocessing block-based bit shift block generates the optimum bit-shifts
for a resource block of 12 resource elements (REs). The block reduces the
quantization noise, especially for low-amplitude samples. Hence, it reduces
the error vector magnitude (EVM) that compression introduces. The compression
algorithm is almost independent of the power value. Assuming the complex input
samples is x = x1 + jxQ, the maximum absolute value of the real and imaginary
components for the resource block is:
Having the maximum absolute value for the resource block, the following
equation determines the left shift value assigned to that resource block:
Where bitWidth is the input bit width.
The IP supports compression ratios of 8, 9, 10, 11, 12, 13, 14, 15, 16.
Mu-Law Compression and Decompression
The algorithm uses Mu-law companding technique, which speech compression
widely uses. This technique passes the input uncompressed signal, x, through a
compressor with function, f(x), before rounding and bit-truncation. The
technique sends compressed data, y, over the interface. The received data
passes through an expanding function (which is the inverse of the compressor,
F-1(y). The technique reproduces the uncompressed data with minimal
quantization error.
Equation 1. Compressor and decompressor functions
The Mu-law IQ compression algorithm follows the O-RAN specification.
Related Information
O-RAN website
3.1. Fronthaul Compression IP Signals
Connect and control the IP.
Clock and Reset Interface Signals=
Table 8. Clock and Reset Interface Signals
Signal Name| Bitwidth| Direction|
Description
---|---|---|---
tx_clk| 1| Input| Transmitter clock.
Clock frequency is 390.625 MHz for 25 Gbps and 156.25MHz for 10 Gbps. All
transmitter interface signals are synchronous to this clock.
rx_clk| 1| Input| Receiver clock.
Clock frequency is 390.625 MHz for 25 Gbps and 156.25MHz for 10 Gbps. All
receiver interface signals are synchronous to this clock.
csr_clk| 1| Input| Clock for CSR interface. Clock frequency is 100 MHz.
tx_rst_n| 1| Input| Active low reset for transmitter interface synchronous to
tx_clk.
---|---|---|---
rx_rst_n| 1| Input| Active low reset for receiver interface synchronous to
rx_clk.
csr_rst_n| 1| Input| Active low reset for CSR interface synchronous to
csr_clk.
Transmit Transport Interface Signals
Table 9. Transmit Transport Interface Signals
All signal types are unsigned integer.
Signal Name
| Bitwidth| Direction|
Description
---|---|---|---
tx_avst_source_valid| 1| Output| When asserted, indicates valid data is
available on avst_source_data.
tx_avst_source_data| 64| Output| PRB fields including udCompParam, iSample and
qSample. Next section PRB fields are concatenated to previous section PRB
field.
tx_avst_source_startofpacket| 1| Output| Indicates first byte of a frame.
tx_avst_source_endofpacket| 1| Output| Indicates last byte of a frame.
tx_avst_source_ready| 1| Input| When asserted, indicates the transport layer
is ready to accept data. readyLatency = 0 for this interface.
tx_avst_source_empty| 3| Output| Specifies the number of empty bytes on
avst_source_data when avst_source_endofpacket is asserted.
tx_udcomphdr_o| 8| Output| User data compression header field. Synchronous
with tx_avst_source_valid.
Defines the compression method and IQ bit width
for the user data in a data section.
• [7:4] : udIqWidth
• 16 for udIqWidth=0, otherwise equals udIqWidth e,g,:
— 0000b means I and Q are each 16 bits wide;
— 0001b means I and Q are each 1 bit wide;
— 1111b means I and Q are each 15 bits wide
• [3:0] : udCompMeth
— 0000b – no compression
— 0001b – block-floating point
— 0011b – µ-law
— others – reserved for future methods.
tx_metadata_o| METADATA_WIDTH| Output| Conduit signals passthrough and are not
compressed.
Synchronous with tx_avst_source_valid. Configurable bitwidth METADATA_WIDTH.
When you turn on O-RAN compliant , refer to Table 13 on page 17.When you
turn off O-RAN compliant , this signal is only valid when
tx_avst_source_startofpacket is 1. tx_metadata_o does not have valid signal
and uses tx_avst_source_valid to indicate valid cycle.
Not available when you select 0 Disable Metadata Ports for Metadata
width.
Receive Transport Interface Signals
Table 10. Receive Transport Interface Signals
No backpressure at this interface. Avalon streaming empty signal is not
necessary in this interface because it is always zero.
Signal Name| Bitwidth| Direction|
Description
---|---|---|---
rx_avst_sink_valid| 1| Input| When asserted, indicates valid data is available
on avst_sink_data.
No avst_sink_ready signal at this interface.
rx_avst_sink_data| 64| Input| PRB fields including udCompParam, iSample and
qSample. Next section PRB fields are concatenated to previous section PRB
field.
rx_avst_sink_startofpacket| 1| Input| Indicates first byte of a frame.
rx_avst_sink_endofpacket| 1| Input| Indicates last byte of a frame.
rx_avst_sink_error| 1| Input| When asserted in the same cycle as
avst_sink_endofpacket, indicates the current packet is an error packet
rx_udcomphdr_i| 8| Input| User data compression header field. Synchronous with
rx_metadata_valid_i.
Defines the compression method and IQ bit width for the user data in a data
section.
• [7:4] : udIqWidth
• 16 for udIqWidth=0, otherwise equals udIqWidth. e.g.
— 0000b means I and Q are each 16 bits wide;
— 0001b means I and Q are each 1 bit wide;
— 1111b means I and Q are each 15 bits wide
• [3:0] : udCompMeth
— 0000b – no compression
— 0001b – block floating point
— 0011b – µ-law
— others – reserved for future methods.
rx_metadata_i| METADATA_WIDTH| Input| Uncompressed conduit signals
passthrough.
rx_metadata_i signals are valid when rx_metadata_valid_i is asserted,
synchronous with rx_avst_sink_valid.
Configurable bitwidth METADATA_WIDTH.
When you turn on O-RAN compliant , refer to Table 15 on page 18.
When you turn off O-RAN compliant , this rx_metadata_i signal is only
valid when both rx_metadata_valid_i and rx_avst_sink_startofpacket equal to 1.
Not available when you select 0 Disable Metadata Ports for Metadata
width.
rx_metadata_valid_i| 1| Input| Indicates that the headers (rx_udcomphdr_i and
rx_metadata_i) are valid. Synchronous with rx_avst_sink_valid. Compulsory
signal. For O-RAN backward compatibility, assert rx_metadata_valid_i if the IP
has valid common header IEs and repeated section IEs. On providing new section
physical resource block (PRB) fields in rx_avst_sink_data, provide new section
IEs in rx_metadata_i input together with rx_metadata_valid_i.
Transmit Application Interface Signals
Table 11. Transmit Application Interface Signals
Signal Name
| Bitwidth| Direction|
Description
---|---|---|---
tx_avst_sink_valid| 1| Input| When asserted, indicates valid PRB fields are
available in this interface.
When operating in streaming mode, ensure no valid signal deassertion between
start ofpacket and end of packet The only exception is when the ready signal
deasserted.
tx_avst_sink_data| 128| Input| Data from application layer in network byte
order.
tx_avst_sink_startofpacket| 1| Input| Indicate the first PRB byte of a packet
tx_avst_sink_endofpacket| 1| Input| Indicate the last PRB byte of a packet
tx_avst_sink_ready| 1| Output| When asserted, indicates the O-RAN IP is ready
to accept data from application interface. readyLatency = 0 for this interface
tx_udcomphdr_i| 8| Input| User data compression header field. Synchronous
with tx_avst_sink_valid.
Defines the compression method and IQ bit width for the user data in a data
section.
• [7:4] : udIqWidth
• 16 for udIqWidth=0, otherwise equals udIqWidth. e.g.
— 0000b means I and Q are each 16 bits wide;
— 0001b means I and Q are each 1 bit wide;
— 1111b means I and Q are each 15 bits wide
• [3:0] : udCompMeth
— 0000b – no compression
— 0001b – block-floating point
— 0011b – µ-law
— others – reserved for future methods.
tx_metadata_i| METADATA_WIDTH| Input| Conduit signals passthrough and are not
compressed. Synchronous with tx_avst_sink_valid.
Configurable bitwidth METADATA_WIDTH.
When you turn on O-RAN compliant , refer to Table 13 on page 17.
When you turn off O-RAN compliant , this signal only valid when
tx_avst_sink_startofpacket equals to 1.
tx_metadata_i does not have valid signal and uses
tx_avst_sink_valid to indicate valid cycle.
Not available when you select 0 Disable Metadata Ports for Metadata
width.
Receive Application Interface Signals
Table 12. Receive Application Interface Signals
Signal Name
| Bitwidth| Direction|
Description
---|---|---|---
rx_avst_source_valid| 1| Output| When asserted, indicates valid PRB fields are
available in this interface.
No avst_source_ready signal at this interface.
rx_avst_source_data| 128| Output| Data to application layer in network byte
order.
rx_avst_source_startofpacket| 1| Output| Indicates the first PRB byte of a
packet
rx_avst_source_endofpacket| 1| Output| Indicates the last PRB byte of a packet
rx_avst_source_error| 1| Output| Indicates the packets contains error
rx_udcomphdr_o| 8| Output| User data compression header field. Synchronous
with rx_avst_source_valid.
Defines the compression method and IQ bit width for the user data in a data
section.
• [7:4] : udIqWidth
• 16 for udIqWidth=0, otherwise equals udIqWidth. e.g.
— 0000b means I and Q are each 16 bits wide;
— 0001b means I and Q are each 1 bit wide;
— 1111b means I and Q are each 15 bits wide
• [3:0] : udCompMeth
— 0000b – no compression
— 0001b – block floating point (BFP)
— 0011b – µ-law
— others – reserved for future methods.
rx_metadata_o| METADATA_WIDTH| Output| Uncompressed conduit signals
passthrough.
rx_metadata_o signals are valid when rx_metadata_valid_o is asserted,
synchronous with rx_avst_source_valid.
Configurable bitwidth METADATA_WIDTH. When you turn on O-RAN compliant ,
refer to Table 14 on page 18.
When you turn off O-RAN compliant , rx_metadata_o is only valid when
rx_metadata_valid_o equals 1.
Not available when you select 0 Disable Metadata Ports for Metadata
width.
rx_metadata_valid_o| 1| Output| Indicates that the headers (rx_udcomphdr_o and
rx_metadata_o) are valid.
rx_metadata_valid_o is asserted when rx_metadata_o is valid, synchronous with
rx_avst_source_valid.
Metadata Mapping for O-RAN Backward Compatibility
Table 13. tx_metadata_i 128-bit input
Signal Name
| Bitwidth| Direction| Description|
Metadata Mapping
---|---|---|---|---
Reserved| 16| Input| Reserved.| tx_metadata_i[127:112]
tx_u_size| 16| Input| U-plane packet size in bytes for streaming mode.|
tx_metadata_i[111:96]
tx_u_seq_id| 16| Input| SeqID of the packet, which is extracted from eCPRI
transport header.| tx_metadata_i[95:80]
tx_u_pc_id| 16| Input| PCID for eCPRI transport and RoEflowId
for radio over ethernet (RoE) transport.| tx_metadata_i[79:64]
Reserved| 4| Input| Reserved.| tx_metadata_i[63:60]
tx_u_dataDirection| 1| Input| gNB data direction.
Value range: {0b=Rx (i.e. upload), 1b=Tx (i.e. download)}| tx_metadata_i[59]
tx_u_filterIndex| 4| Input| Defines an index to the channel filter to be used
between IQ data and air interface.
Value range: {0000b-1111b}| tx_metadata_i[58:55]
tx_u_frameId| 8| Input| A counter for 10 ms frames (wrapping period 2.56
seconds), specifically frameId= frame number modulo 256.
Value range: {0000 0000b-1111 1111b}| tx_metadata_i[54:47]
tx_u_subframeId| 4| Input| A counter for 1 ms subframes within 10 ms frame.
Value range: {0000b-1111b}| tx_metadata_i[46:43]
tx_u_slotID| 6| Input| This parameter is the slot number within a 1 ms
subframe. All slots in one subframe are counted by this parameter.
Value range: {00 0000b-00 1111b=slotID, 01 0000b-11 1111b=Reserved}|
tx_metadata_i[42:37]
tx_u_symbolid| 6| Input| Identifies a symbol number within a slot. Value
range: {00 0000b-11 1111b}| tx_metadata_i[36:31]
tx_u_sectionId| 12| Input| The sectionID maps U-plane data sections to the
corresponding C-plane message (and Section Type) associated with the data.
Value range: {0000 0000 0000b-11111111 1111b}| tx_metadata_i[30:19]
tx_u_rb| 1| Input| Resource block indicator.
Indicate if every resource block is used or every other resource block is
used.
Value range: {0b=every resource block used; 1b=every other resource block
used}| tx_metadata_i[18]
tx_u_startPrb| 10| Input| The starting PRB of a user plane data section.
Value range: {00 0000 0000b-11 1111 1111b}| tx_metadata_i[17:8]
tx_u_numPrb| 8| Input| Define the PRBs where the user plane data section is
valid.| tx_metadata_i[7:0]
| | | Value range: {0000 0001b-1111 1111b, 0000 0000b = all PRBs in the
specified subcarrier spacing (SCS) and carrier bandwidth }|
---|---|---|---|---
tx_u_udCompHdr| 8| Input| Define the compression method and IQ bit width of
the user data in a data section. Value range: {0000 0000b-1111 1111b}| N/A
(tx_udcomphdr_i)
Table 14. rx_metadata_valid_i/o
Signal Name
| Bitwidth| Direction| Description|
Metadata Mapping
---|---|---|---|---
rx_sec_hdr_valid| 1| Output| When rx_sec_hdr_valid is 1, the U-plane section
data fields are valid.
Common header IEs are valid when rx_sec_hdr_valid is asserted, synchronous
with avst_sink_u_startofpacket and avst_sink_u_valid.
Repeated section IEs are valid when rx_sec_hdr_valid is asserted, synchronous
with avst_sink_u_valid.
On providing new section PRB fields in avst_sink_u_data, provide new section
IEs with rx_sec_hdr_valid asserted.| rx_metadata_valid_o
Table 15. rx_metadata_o 128-bit output
Signal Name| Bitwidth| Direction| Description|
Metadata Mapping
---|---|---|---|---
Reserved| 32| Output| Reserved.| rx_metadata_o[127:96]
rx_u_seq_id| 16| Output| SeqID of the packet, which is extracted from eCPRI
transport header.| rx_metadata_o[95:80]
rx_u_pc_id| 16| Output| PCID for eCPRI transport and RoEflowId for RoE
transport| rx_metadata_o[79:64]
reserved| 4| Output| Reserved.| rx_metadata_o[63:60]
rx_u_dataDirection| 1| Output| gNB data direction. Value range: {0b=Rx (i.e.
upload), 1b=Tx (i.e. download)}| rx_metadata_o[59]
rx_u_filterIndex| 4| Output| Defines an index to the channel filter to use
between IQ data and air interface.
Value range: {0000b-1111b}| rx_metadata_o[58:55]
rx_u_frameId| 8| Output| A counter for 10 ms frames (wrapping period 2.56
seconds), specifically frameId= frame number modulo 256. Value range: {0000
0000b-1111 1111b}| rx_metadata_o[54:47]
rx_u_subframeId| 4| Output| A counter for 1ms subframes within 10 ms frame.
Value range: {0000b-1111b}| rx_metadata_o[46:43]
rx_u_slotID| 6| Output| The slot number within a 1ms subframe. All slots in
one subframe are counted by this parameter. Value range: {00 0000b-00
1111b=slotID, 01 0000b-111111b=Reserved}| rx_metadata_o[42:37]
rx_u_symbolid| 6| Output| Identifies a symbol number within a slot.
Value range: {00 0000b-11 1111b}| rx_metadata_o[36:31]
rx_u_sectionId| 12| Output| The sectionID maps U-plane data sections to the
corresponding C-plane message (and Section Type) associated with the data.
Value range: {0000 0000 0000b-1111 1111 1111b}| rx_metadata_o[30:19]
---|---|---|---|---
rx_u_rb| 1| Output| Resource block indicator.
Indicates if every resource block is used or every other resource is used.
Value range: {0b=every resource block used; 1b=every other resource block
used}| rx_metadata_o[18]
rx_u_startPrb| 10| Output| The starting PRB of a user plane data section.
Value range: {00 0000 0000b-11 1111 1111b}| rx_metadata_o[17:8]
rx_u_numPrb| 8| Output| Defines the PRBs where the user plane data section is
valid.
Value range: {0000 0001b-1111 1111b, 0000 0000b = all PRBs in the specified
SCS and carrier bandwidth }| rx_metadata_o[7:0]
rx_u_udCompHdr| 8| Output| Defines the compression method and IQ bit width of
the user data in a data section.
Value range: {0000 0000b-1111 1111b}| N/A (rx_udcomphdr_o)
CSR Interface Signals
Table 16. CSR Interface Signals
Signal Name| Bit Width| Direction|
Description
---|---|---|---
csr_address| 16| Input| Configuration register address.
csr_write| 1| Input| Configuration register write enable.
csr_writedata| 32| Input| Configuration register write data.
csr_readdata| 32| Output| Configuration register read data.
csr_read| 1| Input| Configuration register read enable.
csr_readdatavalid| 1| Output| Configuration register read data valid.
csr_waitrequest| 1| Output| Configuration register wait request.
Fronthaul Compression IP Registers
Control and monitor fronthaul compression functionality through the control
and status interface.
Table 17. Register Map
CSR_ADDRESS (Word Offset) | Register Name |
---|---|
0x0 | compression_mode |
0x1 | tx_error |
0x2 | rx_error |
Table 18. compression_mode Register
Bit Width| Description| Access|
HW Reset Value
---|---|---|---
31:9| Reserved| RO| 0x0
8:8| Functional mode:
• 1’b0 is static compression mode
• 1’b1 is dynamic compression mode| RW| 0x0
7:0| Static user data compression header:
• 7:4 is udIqWidth
— 4’b0000 is 16 bits
— 4’b1111 is 15 bits
— :
— 4’b0001 is 1 bit
• 3:0 is udCompMeth
— 4’b0000 is no compression
— 4’b0001 is block floating point
— 4’b0011 is µ-law
• Others are reserved| RW| 0x0
Table 19. tx Error Register
Bit Width| Description| Access|
HW Reset Value
---|---|---|---
31:2| Reserved| RO| 0x0
1:1| Invalid IqWidth. The IP sets Iqwidth to 0 (16-bit Iqwidth) if it detects
invalid or unsupported Iqwidth.| RW1C| 0x0
0:0| Invalid compression method. The IP drops the packet.| RW1C| 0x0
Table 20. rx Error Register
Bit Width| Description| Access|
HW Reset Value
---|---|---|---
31:8| Reserved| RO| 0x0
1:1| Invalid IqWidth. The IP drops the packet.| RW1C| 0x0
0:0| Invalid compression method. The IP sets the compression method to the
following default supported compression method:
• Enabled block-floating point only: default to block-floating point.
• Enabled μ-law only: default to μ-law.
• Enabled both block-floating point and μ-law: default to block-floating
point.| RW1C| 0x0
Fronthaul Compression Intel FPGA IPs User Guide Archive
For the latest and previous versions of this document, refer to: Fronthaul Compression Intel FPGA IP User Guide. If an IP or software version is not listed, the user guide for the previous IP or software version applies.
Document Revision History for the Fronthaul Compression Intel FPGA IP
User Guide
Document Version
| Intel Quartus Prime Version| IP Version|
Changes
---|---|---|---
2022.08.08| 21.4| 1.0.1| Corrected metadata width 0 to 0 (Disable Metadata
Ports).
2022.03.22| 21.4| 1.0.1| • Swapped signal descriptions:
— tx_avst_sink_data and tx_avst_source_data
— rx_avst_sink_data and rx_avst_source_data
• Added Device Supported Speed Grades table
• Added Performance and Resource Usage
2021.12.07| 21.3| 1.0.0| Updated ordering code.
2021.11.23| 21.3| 1.0.0| Initial release.
Intel Corporation. All rights reserved. Intel, the Intel logo, and other Intel marks are trademarks of Intel Corporation or its subsidiaries. Intel warrants performance of its FPGA and semiconductor products to current specifications in accordance with Intel’s standard warranty, but reserves the right to make changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. *Other names and brands may be claimed as the property of others.
Online Version
Send Feedback
ID: 709301
UG-20346
Version: 2022.08.08
ISO 9001:2015 Registered
Documents / Resources
|
intel Fronthaul Compression FPGA
IP
[pdf] User Guide
Fronthaul Compression FPGA IP, Fronthaul, Compression FPGA IP, FPGA IP
---|---
|
intel Fronthaul Compression FPGA
IP
[pdf] User Guide
UG-20346, 709301, Fronthaul Compression FPGA IP, Fronthaul FPGA IP,
Compression FPGA IP, FPGA IP
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>