PHY Receiver Register Map

The PHY Receiver IP core implements an AXI4-Lite slave interface which must be be connected to a CPU in the FPGA design. The software must configure and control the Rx PHY by accessing registers via this AXI interface.

The name and contents of each register are detailed below. The register address offsets are chosen automatically by System Generator when the IP core is exported. The actual address offsets are defined in the wlan_phy_rx_pmd_hw.h header file written by System Generator during the export process.

All software-accessible registers are 32 bits wide. Each register is either read/write (“Gateway In” block in the Sysgen model) or read-only (“Gateway Out” block).

Individual register fields have specific System Generator data types. Datatype descriptions below use the standard System Generator syntax, where UFixM_N and FixM_N refer to unsigned and signed fixed-point values with M total bits and binary point N.

Register List

Name Access Description
CONTROL RW Low-level resets
RX_CONFIG RW General configuration register
RAMS_ADDR_WREN RW DSSS SYNC Matching Addr - WrEn
MASK_1_RAM_WR_DATA RW DSSS Sync Matching Mask Wr Data
TARGET_RAM_WR_DATA RW DSSS Sync Matching Bits Wr Data
PKT_BUF_SEL RW Packet buffer interface config
PKTDET_DSSS_CONFIG RW DSSS packet detection config
PKTDET_AUTOCORR_CONFIG RW Auto-correlation packet detector configuration
PKTBUF_MAX_WRITE_ADDR RW Max allowed pkt buf write address configuration
PHY_CCA_CONFIG RW Physical carrier sensing (CCA) configuration
RXIQ_SCALE RW Scaling values for Rx IQ
LTS_CORR_THRESH RW LTS correlation thresholds
LTS_CORR_PEAKTYPE_THRESH RW LTS correlation peak type threshold
LTS_CORR_CONFIG RW LTS correlator configuration
IQMAG_PHYS_CS_CONFIG RW IQ-magnitude-based physical carrier sense configuration
FFT_CONFIG RW FFT core configuration
FEC_CONFIG RW FEC decoder configuration
DSSS_RX_CONFIG RW DSSS Rx PHY configuration
CHAN_EST_SMOOTHING RW OFDM channel estimate smoothing configuration
CFO_EST_TIME_DOMAIN RO CFO estimate from time-domain LTF
LTF_DET_COUNT RO LTF Det Event Count
PKT_DET_COUNT_DSSS RO DSSS Pkt Det Event Count
PKT_DET_COUNT_OFDM RO OFDM Pkt Det Event Count
RX_GAIN_INDEX_CAPT RO Current packet Rx gain index
RX_IQ_MAG_CAPT_RFAB RO Current packet IQ magnitude
STATUS RO Status register

Register CONTROL

Name Bits Datatype Description
RESET_STATS_COUNTERS 1 UFix1_0 Resets the stats counters
RESET 0 UFix1_0 Resets all state in DSSS and OFDM pipelines, does not clear registers

Register RX_CONFIG

Name Bits Datatype Description
OFDM_REQ_PKT_DET 30 UFix1_0 Disables LTF-det-only OFDM receptions, requires packet detection before OFDM Rx
SYNC_MATCH_PKT_DET_BLOCK 29 UFix1_0 Blocks pkt det events after a DSSS SYNC match
RFB_IQMAG_PHYS_CS_EN 28 UFix1_0 Enables physical carrier sense based on Rx IQ magnitude on RF B
RFA_IQMAG_PHYS_CS_EN 27 UFix1_0 Enables physical carrier sense based on Rx IQ magnitude on RF A
VHT_DET_EN 25 UFix1_0 Enables detection of VHT waveforms based on BPSK rotation in VHTSIG symbols
HT_DET_EN 24 UFix1_0 Enables detection of HT waveforms based on BPSK rotation in HTSIG symbols
DSSS_RX_CCA_EN 23 UFix1_0 Sets CCA output to BUSY when DSSS pipeline is receiving a packet
CCA_RATE_LEN_EN 22 UFix1_0 Sets CCA output to BUSY for duration of packet based on SIGNAL field rate/length; must be enabled for normal DCF operation
MAX_SIGNAL_LEN 20:17 UFix4_0 Sets maximum allowed value for SIGNAL LENGTH field, in units of kB; set to 2 for normal DCF operation
ANT_SEL 16:15 UFix2_0 Selects current RF interface for all receptions, 0=RF A, 1=RF B
EXT_PKT_DET_EN 13 UFix1_0 Enables the PKT_DET_IN input port as alternate source of packet detection events; set to 0 for normal operation
RFB_PKT_DET_EN 10 UFix1_0 Enables packet detections on RF B
RFA_PKT_DET_EN 9 UFix1_0 Enables packet detections on RF A
OFDM_RX_DIS 8 UFix1_0 Disables all OFDM receptions; set to 0 for normal operation
CHAN_EST_LOG_EN 6 UFix1_0 Enables writing of OFDM channel estimates to Rx packet buffer; set to 1 for normal operation
BYPASS_CFO_EST 5 UFix1_0 Disables time-domain CFO estimation and correction; set to 0 for normal operation
BYPASS_CFO_EST 5 UFix1_0 Disables time-domain CFO estimation and correction; set to 0 for normal operation
DSSS_REQ_PKT_DET 4 UFix1_0 Sets DSSS Rx to require auto-correlation pkt det before attempting reception
CHAN_EST_ENDIAN 3 UFix1_0 Sets the byte order for channel estimates written to packet buffer; set to 0 for normal (little-endian) operation
PKT_BUF_ENDIAN 2 UFix1_0 Sets the byte order for writing bytes to Rx packet buffer; set to 1 for normal (little-endian) operation
DSSS_RX_EN 0 UFix1_0 Enables DSSS receptions; set to 1 for normal operation

Register RAMS_ADDR_WREN

Name Bits Datatype Description
MASK_WREN 25 UFix1_0 Write-enable for SYNC Matching Mask RAM
TARGET_WREN 24 UFix1_0 Write-enable for SYNC Matching Data RAM
WR_ADDR 15:0 UFix16_0 Write address for SYNC Matching RAMs

Register MASK_1_RAM_WR_DATA

Name Bits Datatype Description
SYNC_MATCH_DATA 31:0 UFix32_0 32-bit word written to DSSS SYNC matching mask RAM

Register TARGET_RAM_WR_DATA

Name Bits Datatype Description
SYNC_MATCH_DATA 31:0 UFix32_0 32-bit word written to DSSS SYNC matching target RAM

Register PKT_BUF_SEL

Name Bits Datatype Description
CHAN_EST_OFFSET 31:24 UFix8_0 Byte offset into packet buffer for writing OFDM channel estimates
RX_OFFSET 23:16 UFix8_0 Byte offset into packet buffer for writing received bytes
DSSS_PKT_BUF_SEL 11:8 UFix4_0 Rx packet buffer index for DSSS receptions
OFDM_PKT_BUF_SEL 3:0 UFix4_0 Rx packet buffer index for OFDM receptions

Register PKTDET_DSSS_CONFIG

Name Bits Datatype Description
DET_MAG_THRESH 21:8 UFix14_3 Minimum magnitude of Rx samples for packet detection
DET_CORR_THRESH 7:0 UFix8_8 Normalized auto-correlation threshold for packet detection

Register PKTDET_AUTOCORR_CONFIG

Name Bits Datatype Description
RESET_EXT_DUR 31:26 UFix6_0 Duration of post-pkt-det reset during which no detections will occur, in units of 16x proc_clk cycles
DET_MIN_DUR 25:22 UFix4_0 Minimum duration of correlation above threshold to assert packet detection, in units of Rx samples
DET_MAG_THRESH 21:8 UFix14_3 Minimum magnitude of Rx samples for packet detection
DET_CORR_THRESH 7:0 UFix8_8 Normalized auto-correlation threshold for packet detection

Register PKTBUF_MAX_WRITE_ADDR

Name Bits Datatype Description
PKTBUF_MAX_WRITEADDR 31:0 UFix32_0 Largest byte address Rx PHY is allowed to write in each Rx packet buffer

Register PHY_CCA_CONFIG

Name Bits Datatype Description
CCA_POST_RX_EXT 23:16 UFix8_0 Duration of extension from last sample received to de-assertion of CCA busy, in units of Rx sample period

Register RXIQ_SCALE

Name Bits Datatype Description
I_Scaling 31:16 UFix16_0 Scaling value for Rx I input
Q_Scaling 15:0 UFix16_0 Scaling value for Rx Q input

Register LTS_CORR_THRESH

Name Bits Datatype Description
LTS_CORR_THRESH 15:0 UFix16_0 Threshold for LTS cross correlation

Register LTS_CORR_PEAKTYPE_THRESH

Name Bits Datatype Description
LTS_CORR_PEAKTYPE_THRESH 15:0 UFix16_0 Threshold for classifying correlation peaks as Big or Small

Register LTS_CORR_CONFIG

Name Bits Datatype Description
LTS_CORR_PEAK_DLY_MASKS 26:24 UFix3_0 Configures allowed delays between LTS correlation peaks; one-hot encoded, 1=63, 2=64, 4=65
LTS_TIMEOUT 7:0 UFix8_0 Timeout period for missing LTS correlation after packet detection event, in units of 2 sample periods

Register IQMAG_PHYS_CS_CONFIG

Name Bits Datatype Description
IQ_PHYSCS_THRESH 15:0 UFix16_8 Physical carrier sense threshold based on IQ magnitude

Register FFT_CONFIG

Name Bits Datatype Description
FFT_SCALING 29:24 UFix6_0 Scaling configuration for FFT core, should be set to 0x05; refer to Xilinx FFT core datasheet for details on scaling modes
FFT_OFFSET 23:16 UFix8_0 Configures FFT window shift in each OFDM symbol; 2 selects zero cyclic prefix samples; set to 4 for normal operation
CP_LEN 15:8 UFix8_0 Number of cyclic prefix samples, must be set to 16
NUM_SC 7:0 UFix8_0 Number of subcarriers, must be set to 64

Register FEC_CONFIG

Name Bits Datatype Description
FEC_SCALE_64QAM 19:15 UFix5_0 Scaling for 64-QAM soft bits
FEC_SCALE_16QAM 14:10 UFix5_0 Scaling for 16-QAM soft bits
FEC_SCALE_QPSK 9:5 UFix5_0 Scaling for QPSK soft bits
FEC_SCALE_BPSK 4:0 UFix5_0 Scaling for BPSK soft bits

Register DSSS_RX_CONFIG

Name Bits Datatype Description
SYNC_SEARCH_TIME 31:24 UFix8_0 Duartion after first SYNC match to select best branch index, in units of Rx sample periods
SFD_SEARCH_TIMEOUT 23:16 UFix8_0 Timeout duration after packet detection for SFD search, in units of Rx sample periods
SYNC_SEARCH_TIMEOUT 15:8 UFix8_0 Timeout duration after packet detection for SYNC search, in units of Rx sample periods
SYNC_SEARCH_THRESH 7:0 UFix8_0 Matching threshold for SYNC search

Register CHAN_EST_SMOOTHING

Name Bits Datatype Description
PHY_MODE_DET_THRESH 29:24 UFix6_0 Threshold compared to abs(I-Q) when determining BPSK/QAM in HT-SIG symbols
CHAN_EST_SMOOTH_COEF_B 23:12 UFix12_12 Channel estimate smoothing coefficient B; set to zero
CHAN_EST_SMOOTH_COEF_A 11:0 UFix12_12 Channel estimate smoothing coefficient B; set to 0xFFF

Register CFO_EST_TIME_DOMAIN

Name Bits Datatype Description
CFO_EST 31:0 Fix32_31 CFO estimate for current packet captured after preamble

Register LTF_DET_COUNT

Name Bits Datatype Description
LTF_DET_COUNT 31:0 UFix32_0 Number of packets detected with only LTF detection

Register PKT_DET_COUNT_DSSS

Name Bits Datatype Description
PKT_DET_COUNT_DSSS 31:0 UFix32_0 Number of DSSS packet detection events

Register PKT_DET_COUNT_OFDM

Name Bits Datatype Description
PKT_DET_COUNT_OFDM 31:0 UFix32_0 Number of OFDM packet detection events

Register RX_GAIN_INDEX_CAPT

Name Bits Datatype Description
RX_GAIN_INDEX_CAPT 31:0 UFix32_0 Rx gain index for current reception, captured after preamble

Register RX_IQ_MAG_CAPT_RFAB

Name Bits Datatype Description
RX_IQ_MAG_CAPT_RFA 31:16 Fix16_8 Current packet summed IQ magnitude on RF A captured after preamble
RX_IQ_MAG_CAPT_RFA 15:0 Fix16_8 Current packet summed IQ magnitude on RF A captured after preamble

Register STATUS

Name Bits Datatype Description
PKT_DET_STATUS_DSSS 10:9 UFix2_0 Indicates which RF interfaces have DSSS packet detection asserted; 1=RF A, 2=RF B
PKT_DET_STATUS_OFDM 8:4 UFix5_0 Indicates which RF interfaces have OFDM packet detection asserted; 1=RF A, 2=RF B, 16=Ext pkt det
ANT_SEL 3:2 UFix2_0 Indicates antenna selection for last reception; 1=RF A, 2=RF B
DSSS_FCS_GOOD 1 UFix1_0 Indictes last DSSS reception had good checksum
OFDM_FCS_GOOD 0 UFix1_0 Indictes last OFDM reception had good checksum